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 PDF

Info

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
Application number
JP2005332648A
Other languages
Japanese (ja)
Other versions
JP2007140821A (en
Inventor
義徳 山岸
光則 郡
英弘 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2005332648A priority Critical patent/JP4813155B2/en
Publication of JP2007140821A publication Critical patent/JP2007140821A/en
Application granted granted Critical
Publication of JP4813155B2 publication Critical patent/JP4813155B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)。
特開平10−260876号公報
As a data management method for solving this problem, a method of managing a series of segment groups by creating a bookmark information with time information by dividing the data storage area of the database into segments called segments without providing an index. (Patent Document 1).
JP-A-10-260876

しかしながら、特許文献1のデータ管理方法では、データを一定時間分まとめてセグメントに保存し、一度保存したデータは変更することができない。このため、一定時間内に到達するデータが疎らになると小データを次々にセグメントに保存することになるが、データの再編成はできないため各小データに対するアクセス効率が低下してしまう。また、データ格納領域の利用効率も低下することになる。さらに、時間以外のキーで検索しようとする場合、全セグメントを検索する必要があるため高速なデータアクセスはできない。   However, in the data management method of Patent Document 1, data is stored for a certain period of time in a segment, and once stored, the data cannot be changed. For this reason, if the data that arrives within a certain period of time becomes sparse, small data is stored in segments one after another. However, since data cannot be reorganized, the access efficiency for each small data is reduced. In addition, the utilization efficiency of the data storage area also decreases. Furthermore, when searching with a key other than time, it is necessary to search all segments, so high-speed data access is not possible.

この発明は、上記の課題などの従来技術の課題を除くためになされたものであって、その目的とするところは、例えば、到達するデータが疎らであっても最適なデータ編成を可能にすることである。   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である。
Embodiment 1 FIG.
FIG. 1 is a diagram illustrating an appearance of a data management system 900 according to the first embodiment.
1, a data management system 900 includes a system unit 910, a display device 901, a keyboard (K / B) 902, a mouse 903, a compact disk device (CDD) 905, a printer device 906, and a scanner device 907, which are cables. Connected with.
Further, the data management system 900 is connected to the FAX machine 932 and the telephone 931 via a cable, and is connected to the Internet 940 via a local area network (LAN) 942 and a web server 941.
The display device 901, K / B 902 and mouse 903 constitute the terminal device 2. The system unit 910 is a data management apparatus 1 that performs data management processing.

図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 data management system 900 according to the first embodiment.
In FIG. 2, the data management system 900 includes a CPU (Central Processing Unit) 911 that executes a program. The CPU 911 includes a ROM 913, a RAM 914, a communication board 915, a display device 901, a K / B 902, a mouse 903, an FDD (Flexible Disk Drive) 904, a magnetic disk device 920, a CDD 905, a printer device 906, and a scanner device 907 via a bus 912. It is connected.
The display device 901 includes a liquid crystal display, a CRT (Cathode Ray Tube) display, and the like.
The RAM 914 is an example of a volatile memory. The ROM 913, the FDD 904, the CDD 905, the magnetic disk device 920, and the optical disk device are examples of nonvolatile memories. These are examples of a storage device, a storage device, or a storage unit.
The magnetic disk device 920 is an example of a storage device that stores each record data in a database. The RAM 914 is faster in data access than the magnetic disk device 920, stores data input / output between the CPU 911 and the magnetic disk device 920, and increases the access efficiency of the CPU 911 for the data stored in the magnetic disk device 920. It is an example of the buffer memory which improves.
The communication board 915 is connected to a FAX machine 932, a telephone 931, a LAN 942, and the like.
For example, the communication board 915, the K / B 902, the scanner device 907, the FDD 904, and the like are examples of an input device, an input device, or an input unit.
Further, for example, the communication board 915, the display device 901, and the like are examples of an output device, an output device, or an output unit.
The terminal device 2 is a terminal used by the user, and causes the user to input a processing request from the input device, and outputs (displays, prints, sounds, etc.) the processing result input from the data management device 1 to the output device.

ここで、通信ボード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 communication board 915 is not limited to the LAN 942 but may be directly connected to the Internet 940 or a WAN (Wide Area Network) such as ISDN. When directly connected to a WAN such as the Internet 940 or ISDN, the data management system 900 is connected to a WAN such as the Internet 940 or ISDN, and the web server 941 is unnecessary.
The magnetic disk device 920 stores an operating system (OS) 921, a window system 922, a program group 923, and a file group 924. The program group 923 is executed by the CPU 911, the OS 921, and the window system 922.

上記プログラム群923には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態の説明において、「〜情報」、「〜要求」、「〜命令」として説明するデータ、「〜部」として説明する機能を実行時の判定結果や演算結果を示すデータ、「〜部」として説明する機能を実行するプログラム間で受け渡しするデータなどが「〜ファイル」として記憶されている。また、データ管理装置1が記憶管理するデータ(例えば、レコードデータ)やデータ管理処理に使用する管理情報(例えば、後述する範囲管理テーブル5)やバックアップファイル(例えば、後述するアーカイブファイル300)がファイル群924に「〜ファイル」として記憶されている。
また、実施の形態の説明において、フローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk cartridge)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)、その他の記憶媒体に記憶される。あるいは、信号線やその他の伝送媒体により伝送される。
The program group 923 stores a program for executing a function described as “˜unit” in the description of the embodiment. The program is read and executed by the CPU 911.
In the file group 924, in the description of the embodiment, the data described as “˜information”, “˜request”, “˜command”, and the determination result and calculation result at the time of executing the function described as “˜part” are stored. The data shown, the data passed between programs that execute the function described as “˜part”, and the like are stored as “˜file”. Further, data stored by the data management apparatus 1 (for example, record data), management information used for data management processing (for example, a range management table 5 described later) and a backup file (for example, an archive file 300 described later) are files. Group 924 stores “˜file”.
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 magnetic disk device 920, an FD (Flexible Disk cartridge), and an optical disk. , CD (compact disc), MD (mini disc), DVD (Digital Versatile Disk), and other storage media. Alternatively, it is transmitted through a signal line or other transmission medium.

また、実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。   Also, what is described as “˜unit” in the description of the embodiment may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented by software alone, hardware alone, a combination of software and hardware, or a combination of firmware.

また、実施の形態を実施するプログラムは、磁気ディスク装置920、FD、光ディスク、CD、MD、DVD、その他の記憶媒体による記憶装置を用いて記憶されても構わない。   The program for implementing the embodiment may be stored using a storage device such as a magnetic disk device 920, FD, optical disk, CD, MD, DVD, or other storage medium.

図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 data management system 900 according to the first embodiment.
In FIG. 3, the data management system 900 includes a data management device 1 and a terminal device 2. The data management device 1 uses the CPU 911 to process processing requests from the terminal device 2 such as data loading, retrieval, backup / restore, deletion, and addition / deletion of ranges described below. Hereinafter, the minimum unit of data loaded from the terminal device 2 to the data management device 1 is referred to as “row”. This “row (an example of arbitrary data)” corresponds to a record in the database, for example. Hereinafter, the data management apparatus 1 will be described as a database. The data management system 900 can load a plurality of rows at a time from the terminal device 2 to the database of the data management device 1 and can extract necessary rows from the data management device 1 by searching.

データ管理装置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 data management device 1 is a data management device according to the first embodiment, and includes a data processing unit 3, a range management control unit 4, a data access control unit 6 (an example of an input / output control unit), and a data storage area unit 7 (first 1) and a buffer memory 951. In addition, a storage device (second storage device) that stores the range management table 5 and a storage device (third storage device) that stores the archive file 300 (an example of a backup file) are provided. The range management table 5 and the archive file 300 may be stored in the same storage device as the data storage area unit 7, or may be stored in another storage device. The data storage area unit 7 has an update area 8 for updating stored data and a reference area 9 for not updating stored data. The data storage area unit 7 allocates the update area 8 to the continuous area of the magnetic disk device 920 and allocates the reference area 9 to the continuous area of the magnetic disk device 920 separately from the update area 8. Further, the data storage area unit 7 may allocate the update area 8 and the reference area 9 to continuous areas of the magnetic disk device 920. As a result, a desired row can be accessed by accessing the magnetic disk device 920 at successive locations on the surface of the magnetic disk, and data access can be made without wasting the seek of the disk head. The data storage area unit 7 can be realized even with other storage media such as a semiconductor memory.
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 buffer memory 951 of the data management device 1 (hereinafter referred to as buffer size) are defined as one group, and a plurality of groups stored in a continuous area in the update area 8 or the reference area 9 are included in one range. It is. Hereinafter, management information for one range (an example of a range entry) is referred to as an “entry”.

データ管理装置1の各構成部はCPU911を用いて以下のような処理を行う。
データ処理部3は、端末装置2から処理要求を入力し、処理要求に応じて範囲管理制御部4にデータ管理命令を出力する。このとき、データ処理部3は、バッファメモリ951に記憶された行を処理し、処理結果を端末装置2に出力する。
範囲管理制御部4は、データ処理部3からデータ管理命令を入力し、データ管理命令に対応して、範囲管理テーブル5に対するエントリの変更・追加・削除・初期設定などのデータ管理処理を行うと共にデータアクセス制御部6にデータアクセス命令を出力する。
データアクセス制御部6は、範囲管理制御部4からデータアクセス命令を入力し、データアクセス命令に応じたグループの取得・追加・削除などのデータアクセス処理をデータ格納領域部7に対して行う。このとき、データアクセス制御部6は、データ格納領域部7から取得した行をバッファメモリ951に記憶し、または、バッファメモリ951に記憶された行をデータ格納領域部7に追加記憶する。
Each component of the data management apparatus 1 performs the following processing using the CPU 911.
The data processing unit 3 inputs a processing request from the terminal device 2 and outputs a data management command to the range management control unit 4 in response to the processing request. At this time, the data processing unit 3 processes the row stored in the buffer memory 951 and outputs the processing result to the terminal device 2.
The range management control unit 4 inputs a data management command from the data processing unit 3 and performs data management processing such as entry change / addition / deletion / initial setting for the range management table 5 in response to the data management command. A data access command is output to the data access control unit 6.
The data access control unit 6 inputs a data access command from the range management control unit 4 and performs data access processing such as acquisition / addition / deletion of a group according to the data access command on the data storage area unit 7. At this time, the data access control unit 6 stores the row acquired from the data storage region unit 7 in the buffer memory 951 or additionally stores the row stored in the buffer memory 951 in the data storage region unit 7.

図4は、データ管理装置1で実現する「範囲」の概念図である。
図4においてデータベース30は3つの範囲30a〜30cを持つ。それぞれの範囲には範囲を区別する番号として範囲ID(範囲識別情報の一例)を割り当てる。データベース30の生成時に1つの範囲を定義し、範囲の追加処理により順番に範囲を追加することができる。
FIG. 4 is a conceptual diagram of “range” realized by the data management apparatus 1.
In FIG. 4, the database 30 has three ranges 30a-30c. A range ID (an example of range identification information) is assigned to each range as a number for identifying the range. One range can be defined when the database 30 is generated, and ranges can be added in order by range addition processing.

図5は、図4で示すデータベース30に対して、範囲を追加した場合の概念図である。
データベース30に追加する行は、最後に追加された最新の範囲である「現在の範囲」にロードする。図4においては範囲30c、図5においては範囲30dが、現在の範囲である。データ管理装置1は、この範囲を単位としてデータのバックアップ/リストア、削除を行うことが可能である。
FIG. 5 is a conceptual diagram when a range is added to the database 30 shown in FIG.
The row to be added to the database 30 is loaded into the “current range” which is the latest range added last. The range 30c in FIG. 4 and the range 30d in FIG. 5 are the current range. The data management apparatus 1 can backup / restore and delete data in units of this range.

図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 database generation date 10, a table last write time 11 to the database, a range number 12 held by the database, and a range key number 13. Also, in each entry, as attributes of individual ranges, range ID 14, start group number 15, group number 16, finalized state 17, loaded state 18, finalized time 19, entry last write time 20, minimum row number 21 (minimum number) An example), a maximum line number 22 (an example of a maximum number), a minimum time stamp 23 (an example of minimum addition time), and a maximum time stamp 24 (an example of maximum addition time). In FIG. 6, the line number (minimum line number 21, maximum line number 22) and time stamp (minimum time stamp 23, maximum time stamp 24) are the keys of the range. It is possible to set freely.
The range management control unit 4 sets each range management information of the range management table 5. In particular, management processing such as search, change, addition, deletion, and initial setting is performed for each entry.

次に、各エントリが有する個々の範囲の属性について説明する。
範囲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 management control unit 4 during the range addition process, and a number increased by one is set, for example.
The start group number 15 (an example of group specifying information) is a start number of a data unit (group) in which the data processing unit 3 collects one or more rows. The data processing unit 3 combines one or more rows into a buffer size to form one group, and assigns serial numbers to the groups in the order of generation.
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 start group number 15.
The start group number 15 and the group number 16 are information for specifying groups belonging to the range indicated by the entry.
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 confirmation state 17 of the entry).
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 minimum line number 21, the maximum line number 22, the minimum time stamp 23, and the maximum time stamp 24 are information for specifying lines belonging to the range indicated by the entry. As long as the information can identify a line belonging to the range indicated by the entry, it may be one of the line number and the time stamp, or may not be the line number and the time stamp. Hereinafter, the minimum line number 21 and the maximum line number 22 are referred to as “range key # 1”, and the minimum time stamp 23 and the maximum time stamp 24 are referred to as “range key # 2”.

さらに、確定状態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 confirmation state 17 will be described in detail. The confirmed state 17 includes a “current” (CURRENT) state and a “confirmed” (FIXED) state. The range in which the confirmed state is CURRENT is referred to as “current range (processing range)”, and the range in which the confirmed state is FIXED is referred to as “confirmed range (determined range)”. There is only one current range in the database, and all ranges other than the current range are defined ranges. The newly created database contains one current range and no fixed range. That is, when a new database is generated in the data management apparatus 1, the range management control unit 4 generates one entry for the current range in the range management table 5, and does not generate an entry for the determined range. When the data processing unit 3 inputs a range addition request from the terminal device 2, the range management control unit 4 generates a new current range entry in the range management table 5 and confirms the current range entry up to that point. The state 17 is changed from CURRENT to FIXED and set as a fixed range. The range management control unit 4 assigns a range ID obtained by adding 1 to the range ID of the current range so far to the entry of the new current range. The range management control unit 4 does not change the confirmed state 17 by an operation other than the addition of the range. Here, data can be loaded into the current range, and data is not loaded into the determined range (group addition). In other words, the user of the data management system 900 can load data to the current range by making a load request from the terminal device 2 to the data management device 1, but the data can be loaded to the determined range. It cannot be loaded.

さらに、ロード状態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 load state 18 will be described in detail. In the database of the data management apparatus 1, data backup, deletion, and restoration can be performed in units of ranges. Load states include “empty” (EMPTY) and “loaded” (LOADED). A range in which the load state is EMPTY is referred to as an “empty range”, and a range in which the load state is LOADED is referred to as a “loaded range”. When the data processing unit 3 inputs a load request, if the current range is an empty range, the range management control unit 4 changes the load state 18 of the entry from EMPTY to LOADED. When the data processing unit 3 inputs a deletion request for the loaded range, the range management control unit 4 changes the load state 18 of the entry from LOADED to EMPTY. Further, when the search request is input, the data processing unit 3 does not search for data in the empty range and does not refer to data in the empty range. When the data processing unit 3 inputs a backup restore request, the range management control unit 4 restores the load state 18 saved at the time of backup. When a new database is generated in the data management apparatus 1, the range management control unit 4 generates one empty range entry whose load state 18 is EMPTY.

図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 state 17 and the load state 18 with respect to the range operation processing.
Range operation processing is processing executed by the data management apparatus 1 in response to a processing request input from the terminal device 2, and indicates loading, range deletion, range addition, range designation backup, and restoration. In the operation on the range, the range management control unit 4 indicates the range status (confirmed state 17, load state 18) of the entry in the range management table 5 as indicated by arrows in the figure, ST1, ST2, ST3, Set to any state of ST4.
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 management control unit 4 performs the state ST2 (determined on the entry of the range. State 17: CURRENT, load state 18: LOADED). When the range addition operation is further executed, the range management control unit 4 changes the state of the entry in the range that was in the state ST2 to the state ST4 (determined state 17: FIXED, load state 18: LOADED). Note that the state of the range entry newly created by the range management control unit 4 by the addition of the range is the state ST1. In the state ST3, the final state 17 is FIXED and the load state 18 is EMPTY.

データ管理装置1は図に示されていない範囲の操作を行わない。
つまり、データ管理装置1は、空である現在の範囲(状態ST1)に対してバックアップ、リストア、ロード、範囲の追加の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップまたは空の範囲のリストアの際には状態を変更せず、ロードまたは空でない範囲のリストアの際には状態ST2に変更し、範囲の追加の際には状態ST3に変更する。
また、データ管理装置1は、空でない現在の範囲(状態ST2)に対してロード、バックアップ、範囲の追加、範囲の削除の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、ロードまたはバックアップの際には状態を変更せず、範囲の追加の際には状態ST4に変更し、範囲の削除の際には状態ST1に変更する。
また、データ管理装置1は、空でない確定範囲(状態ST4)に対してバックアップ、範囲の削除の各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップの際には状態を変更せず、範囲の削除の際には状態ST3に変更する。
また、データ管理装置1は、空である確定範囲(状態ST3)に対してバックアップ、リストアの各処理を行う。このとき、範囲管理制御部4は、範囲管理テーブル5の当該範囲のエントリの状態に対して、バックアップまたは空の範囲のリストアの際には状態を変更せず、空でない範囲のリストアの際には状態ST4に変更する。
The data management device 1 does not perform operations in a range not shown in the figure.
That is, the data management apparatus 1 performs backup, restore, load, and range addition processing on the current range (state ST1) that is empty. At this time, the range management control unit 4 does not change the state of the entry of the range in the range management table 5 when restoring a backup or an empty range, and loads or restores a non-empty range. When the range is added, the state is changed to the state ST3.
In addition, the data management apparatus 1 performs each process of load, backup, range addition, and range deletion for the current non-empty range (state ST2). At this time, the range management control unit 4 does not change the state of the entry of the range in the range management table 5 at the time of loading or backup, and changes to the state ST4 when adding the range. When the range is deleted, the state is changed to the state ST1.
In addition, the data management device 1 performs backup and range deletion processing on a non-empty fixed range (state ST4). At this time, the range management control unit 4 does not change the state of the entry of the range in the range management table 5 at the time of backup, but changes it to the state ST3 at the time of deleting the range.
In addition, the data management device 1 performs backup and restore processing on an empty fixed range (state ST3). At this time, the range management control unit 4 does not change the state of the entry in the range of the range management table 5 at the time of backup or restore of the empty range, and at the time of restore of the non-empty range Changes to state ST4.

図7に示すように、範囲管理制御部4は、バックアップ時の状態に復元するリストアの際、ロード状態18の変更は行うが、確定状態17の変更は行わない。なお、データ管理装置1はロード状態18がEMPTYの時に限り当該範囲に対するリストア処理を実行する。
但し、データ管理装置1が各状態において他の処理を実行しても構わない。例えば、ロードされた行の上書きを許可し、ロード状態18がLOADEDの時にもリストア処理を実行してもよい。
As shown in FIG. 7, the range management control unit 4 changes the load state 18 but does not change the finalized state 17 when restoring to the state at the time of backup. Note that the data management apparatus 1 executes the restore process for the range only when the load state 18 is EMPTY.
However, the data management apparatus 1 may execute other processes in each state. For example, overwriting of the loaded line is permitted, and the restore process may be executed even when the load state 18 is LOADED.

次に、データ管理装置1におけるロード処理の動作について説明する。
データ処理部3は、端末装置2からロード要求として入力された行に対して、任意のデータ処理を実行し、複数の行をまとめたデータの固まりであるグループを作成する。
図8は、データ処理の結果生成されるグループの一例である。
この例では、グループ100は、5つの行101a〜101eによって構成される。グループに含まれる行は1つであっても良い。また、グループ内でのデータ配置は自由である。例えば、行が複数のフィールドから構成されている場合、フィールドごとにまとめたブロックをさらにまとめたてグループとしてもよい。あるいは、グループ内のデータに対して圧縮や暗号化などのデータ処理をしてまとめたものであってもよい。
Next, the operation of the load process in the data management apparatus 1 will be described.
The data processing unit 3 performs arbitrary data processing on a row input as a load request from the terminal device 2 and creates a group that is a cluster of data obtained by collecting a plurality of rows.
FIG. 8 is an example of a group generated as a result of data processing.
In this example, the group 100 is configured by five rows 101a to 101e. There may be one row included in the group. Moreover, the data arrangement within the group is free. For example, when a row is composed of a plurality of fields, blocks grouped for each field may be further grouped into a group. Alternatively, the data in the group may be collected by performing data processing such as compression or encryption.

また、データ処理部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 data processing unit 3 takes out key information for each group when creating a group.
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 group 100 in the case where one row has three fields of row number 102a, time stamp 102b, and color 102c.
In FIG. 9, when the fields defined as keys are the row number 102a and the time stamp 102b, the key information of the group 100 includes the row number 102a having the minimum value “1”, the maximum value “5”, and the time stamp 102b. The minimum value is “2005/10/13 12:01”, and the maximum value is “2005/10/20 11:54”.

範囲管理制御部4は、データ処理部3よりグループとそのキー情報を入力して範囲管理テーブル5を更新し、データアクセス制御部6を介してデータ格納領域部7へのグループの書込みを行う。データアクセス制御部6は、範囲管理制御部4を介してグループをデータ格納領域部7に保存する。   The range management control unit 4 inputs the group and its key information from the data processing unit 3, updates the range management table 5, and writes the group to the data storage area unit 7 via the data access control unit 6. The data access control unit 6 stores the group in the data storage area unit 7 via the range management control unit 4.

図10は、データ管理装置1におけるロード処理の動作を示すフローチャートである。
データ処理部3が端末装置2からロード要求を入力した際にデータ管理装置1が実行するロード処理について、図10に基づいて以下に説明する。
FIG. 10 is a flowchart showing the operation of the load process in the data management apparatus 1.
A load process executed by the data management device 1 when the data processing unit 3 inputs a load request from the terminal device 2 will be described below with reference to FIG.

まず、データ処理部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 data processing unit 3 initializes variables (hereinafter referred to as key information variables) for specifying group key information (minimum value, maximum value). Here, as an example, the key information is two of the line number and the time stamp, and a sufficiently large value (for example, all decimal digits are 9) that cannot normally be taken is set as the minimum value, and the maximum value is set as the maximum value. Sets 0 or a null value (step S100).
Next, the data processing unit 3 inputs a row to be loaded from the terminal device 2 (step S101).
Next, the data processing unit 3 determines the end of line input (step S102).
As a result of the determination, if the line input is not completed, the data processing unit 3 compares the field value of each of the line number and time stamp of the input line with the value of the key information variable, and the value of the field of the input line is If the value of the key information variable is smaller than the minimum value of the key information variable, the minimum value of the key information variable is replaced with the value of the field. Replace with a value. It is assumed that the position of each field in the row is known in advance by referring to the definition information in the database (step S103).
Next, the data processing unit 3 adds the input row to the group. At this time, the data processing unit 3 additionally stores the input group in the buffer memory 951 (step S104).
Next, the data processing unit 3 determines whether or not a condition to be additionally stored in the update area 8 as one group (hereinafter referred to as a group condition) is satisfied. The group condition is set such that the number of rows added to the group satisfies the preset number of rows, or the integrated value of the length of the rows added to the group satisfies the preset group size. And The size of one group is preferably a size suitable for a buffer size close to the buffer size within the buffer size (step S105).
If the group condition is not satisfied, the data processing unit 3 moves the process to step S101.

グループ条件を満たしている場合、データ処理部3は範囲管理制御部4に対してグループの書き出しを命令するデータ管理命令を出力する。データ管理命令にはキー情報変数が含まれる。範囲管理制御部4はデータアクセス制御部6に対してデータ格納領域部7の更新領域8へのグループの書き出しを命令するデータアクセス命令を出力し、データアクセス制御部6はデータ処理部3が生成したグループをバッファメモリ951からデータ格納領域部7の更新領域8に追加で書き出し保存する。また、データアクセス制御部6は更新領域8に書き出したグループが記憶されたバッファメモリ951の領域を開放する(ステップS106)。   When the group condition is satisfied, the data processing unit 3 outputs a data management command for instructing the range management control unit 4 to write the group. The data management command includes a key information variable. The range management control unit 4 outputs a data access instruction for instructing the data access control unit 6 to write a group to the update area 8 of the data storage area unit 7. The data access control unit 6 is generated by the data processing unit 3. The group thus written is additionally written and saved from the buffer memory 951 to the update area 8 of the data storage area section 7. Further, the data access control unit 6 releases the area of the buffer memory 951 in which the group written in the update area 8 is stored (step S106).

次に、範囲管理制御部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 management control unit 4 updates the range management table 5. At this time, the range management control unit 4 searches the range management table 5 for an entry whose finalized state 17 is CURRENT. Then, the table last write time 11 of the selected entry, the group specifying information (start group number 15, group number 16) and the row specifying information (minimum row number 21, maximum row number 22, minimum time stamp 23, maximum of the selected entry) Time stamp 24) is updated. When the load state 18 is EMPTY, the load state 18 is changed to LOADED according to the state transition diagram in the range of FIG. When the load state 18 is LOADED, the group number 16 is set to a value obtained by adding 1 to the current group number 16, and when the load state 18 is EMPTY, the start group number of the entry in the previous range is set. A value obtained by adding 15 and the number of groups 16 is set. Then, the current time is set as the entry last write time 20. When the minimum value of the group line number indicated by the key information variable is smaller than the minimum line number 21 of the range management table 5, the minimum line number 21 is replaced with the minimum value of the line number of the key information variable, and the key information variable indicates When the maximum value of the group line number is larger than the maximum line number 22 of the range management table 5, the maximum line number 22 is replaced with the maximum value of the line number of the key information variable. Similarly, the minimum value and maximum value of the time stamp of the group indicated by the key information variable are compared with the minimum time stamp 23 and the maximum time stamp 24 and replaced (step S107).

次に、データ処理部3はステップS102で行入力の終了(新たに行が入力されないこと)を検出しているかの判定を行う(ステップS107)。
判定の結果、行入力の終了を検出している場合、データ処理部3はロード処理を終了する。
行入力の終了を検出していない場合、データ処理部3はステップ101に処理を移す。
ステップS102で行の終了と判定した場合、データ処理部3はグループの書き残しがあるかの判定を行う(ステップS109)。
データ処理部3は、グループの書き残しがある場合にはステップS106に処理を移し、グループの書き残しがない場合にはロード処理を終了する。
Next, the data processing unit 3 determines whether the end of line input (no new line is input) is detected in step S102 (step S107).
If the end of line input is detected as a result of the determination, the data processing unit 3 ends the load process.
If the end of line input is not detected, the data processing unit 3 moves the process to step 101.
If it is determined in step S102 that the line has ended, the data processing unit 3 determines whether there is an unwritten group (step S109).
The data processing unit 3 moves the process to step S106 when there is an unwritten group, and ends the loading process when there is no unwritten group.

以上のロード処理の動作の結果、データ格納領域部7の更新領域8にグループが格納される。
図11は、データ管理装置1が3つのグループ100a〜100cを更新領域8に格納した例である。
As a result of the above load processing operation, the group is stored in the update area 8 of the data storage area section 7.
FIG. 11 shows an example in which the data management apparatus 1 stores three groups 100 a to 100 c in the update area 8.

次に、データ管理装置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 data management apparatus 1 will be described.
The data processing unit 3 receives a range addition request (an example of range addition request data) from the terminal device 2, outputs a data management command for instructing addition of a range, and calls the range management control unit 4. The range management control unit 4 outputs a data access command for moving the group in the update region 8 to the reference region 9 and calls the data access control unit 6. The data access control unit 6 moves the group in the update area 8 of the data storage area unit 7 to the reference area 9, and the range management control unit 4 updates the range management table 5.

図12は、データ管理装置1における範囲の追加処理の動作を示すフローチャートである。
データ処理部3が端末装置2から範囲の追加要求を入力した際にデータ管理装置1が実行する範囲の追加処理について、図12に基づいて以下に説明する。
FIG. 12 is a flowchart showing the operation of range addition processing in the data management apparatus 1.
The range addition process executed by the data management device 1 when the data processing unit 3 inputs a range addition request from the terminal device 2 will be described below with reference to FIG.

まず、データ処理部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 data processing unit 3 outputs a data management command for instructing addition of a range and calls the range management control unit 4, and the range management control unit 4 searches the range management table 5 for an entry whose finalized state 17 is CURRENT. To select. Then, the range management control unit 4 acquires the start group number 15 and the group number 16 of the selected entry and outputs them to the data processing unit 3 (step S200).
Next, the data processing unit 3 initializes a counter N, which is a variable for counting the number of processed groups, to 0 (step S201).
Next, the data processing unit 3 determines whether the counter N is smaller than the number of groups 16 input from the range management control unit 4 (step S202).
When the counter N is smaller than 16, the data processing unit 3 moves the group having the group number obtained by adding the counter N to the start group number 15 input from the range management control unit 4 from the update area 8 to the reference area 9. The command is output to the range management control unit 4. The range management control unit 4 outputs to the data access control unit 6 a data access command instructing movement of the group corresponding to the input data management command. Then, the data access control unit 6 reads the group from the update area 8 of the data storage area unit 7 and writes it to the buffer memory 951 (step S203).
Next, the data processing unit 3 outputs a data management command for writing the group stored in the buffer memory 951 to the reference area 9 of the data storage area unit 7 to the range management control unit 4. The range management control unit 4 outputs a data access command corresponding to the data management command to the data access control unit 6, and the data access control unit 6 writes the group stored in the buffer memory 951 into the reference area 9. The area of the buffer memory 951 in which the written group is stored is released (step S204).
Next, the data processing unit 3 adds 1 to the counter N (step S205).
The data management apparatus 1 repeats the above processing until the counter N reaches 16 or more groups.
When it is determined in step S202 that the counter N is 16 or more, the data processing unit 3 outputs a data management command for instructing deletion of the group in the update area 8 to the range management control unit 4. Then, the range management control unit 4 outputs a data access command for instructing deletion of the group in the update area 8 to the data access control unit 6, and the data access control unit 6 deletes the group stored in the update area 8. (Step S206).

以上により、行の追加が可能な更新領域8にあるグループを参照だけが可能な参照領域9へ移動したことになる。
図13は、更新領域8にある3つのグループ100a〜100cを参照領域9に移動したイメージを示す。
As described above, the group in the update area 8 in which a row can be added is moved to the reference area 9 in which only the reference can be made.
FIG. 13 shows an image in which the three groups 100 a to 100 c in the update area 8 are moved to the reference area 9.

最後に、データ処理部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 data processing unit 3 outputs a data management command requesting addition of an entry to the range management control unit 4, and the range management control unit 4 updates the range management table 5. At this time, the range management control unit 4 changes the confirmed state 17 from CURRENT to FIXED according to the state transition diagram of FIG. 7 for the entry searched in step S200, and sets the current time as the confirmed time 19. Further, the range management control unit 4 adds a new range entry, sets a value obtained by adding 1 to the previous range ID 14 to the range ID 14, and starts the previous range in the start group number 15. The value obtained by adding the group number 15 and the group number 16 is set, the group number 16 is set to 0, the CURRENT state is set to CURRENT, the load state 18 is set to EMPTY, and the entry last write time 20 Set the time and set a null value for the other items in the added entry. Further, the range management control unit 4 sets the current time as the table last write time 11, and sets a value obtained by adding 1 to the range number 12 (step S207).

図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 data management apparatus 1 will be described.
The data management apparatus 1 can release the target range area from the data storage area unit 7 by the range deletion process.
FIG. 15 is a conceptual diagram of range deletion, and shows a case where the range 30b is deleted.
First, the data processing unit 3 receives a range deletion request (an example of range deletion request data) by designating a range ID from the terminal device 2, and outputs a data management command for instructing deletion of the range corresponding to the range ID. The management control unit 4 is called. The range management control unit 4 searches for and selects an entry whose range ID 14 matches the range ID indicated by the data management request, and sets the group identification information (start group number 15 and group number 16) of the selected entry in the range management table 5. Get from. Then, a data access command for instructing deletion of the group belonging to the range indicated by the selected entry is output and the data access control unit 6 is called, and the data access control unit 6 selects a group belonging to the range corresponding to the designated range ID. Delete from the data storage area section 7. In addition, the range management control unit 4 updates the range management table 5.

図16は、データ管理装置1における範囲の削除処理の動作を示すフローチャートである。
データ処理部3が端末装置2から範囲ID指定で範囲の削除要求を入力した際にデータ管理装置1が実行する範囲の削除処理について、図16に基づいて以下に説明する。
FIG. 16 is a flowchart showing an operation of range deletion processing in the data management apparatus 1.
A range deletion process executed by the data management apparatus 1 when the data processing unit 3 inputs a range deletion request by specifying a range ID from the terminal device 2 will be described below with reference to FIG.

まず、データ処理部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 data processing unit 3 outputs a data management command for instructing deletion of the range corresponding to the range ID and calls the range management control unit 4, and the range management control unit 4 sets the range ID 14 to the range ID indicated by the data management command. A matching entry is searched and selected in the range management table 5. Then, the range management control unit 4 acquires the start group number 15 and the group number 16 of the selected entry and outputs them to the data processing unit 3 (step S300).
Next, the data processing unit 3 initializes a counter N, which is a variable for counting the number of processed groups, to 0 (step S301).
Next, the data processing unit 3 determines whether the counter N is smaller than the number of groups 16 input from the range management control unit 4 (step S302).
When the counter N is smaller than the number of groups 16, the data processing unit 3 performs range management of a data management command for instructing deletion of the group corresponding to the group number obtained by adding the counter N to the start group number 15 input from the range management control unit 4 Output to the control unit 4. The range management control unit 4 outputs a data access command for instructing deletion of the group corresponding to the input data management command to the data access control unit 6. Then, the data access control unit 6 releases the area where the group is stored in the data storage area unit 7 (step S304).
Next, the data processing unit 3 adds 1 to the counter N (step S305).
The data management apparatus 1 repeats the above processing until the counter N reaches 16 or more groups.
When it is determined in step S302 that the counter N is 16 or more, the data processing unit 3 outputs a data management command for instructing deletion of an entry to the range management control unit 4, and the range management control unit 4 performs step S300. For the retrieved entry, the load state 18 is changed from LOADED to EMPTY according to the state transition diagram of FIG. However, when the load state 18 is already EMPTY, the load state 18 is not changed. Further, the range management control unit 4 sets the current time as the table final write time 11 and the entry final write time 20 (step S306).

図17は、図6に示す範囲管理テーブル5の状態にあるデータベースに対して、範囲ID14が“2”の範囲を削除した直後の範囲管理テーブル5の例である。   FIG. 17 is an example of the range management table 5 immediately after the range whose range ID 14 is “2” is deleted from the database in the state of the range management table 5 shown in FIG.

次に、データ管理装置1における検索処理の動作概要を説明する。
データ処理部3は、端末装置2から検索要求を受付け、検索要求を解析し、範囲管理制御部4に要求し検索対象となるグループを取得する。そして、データ処理部3は取得した各グループに含まれる各行に対する照合処理を実行して結果を端末装置2に出力する。範囲管理制御部4はデータ処理部3から検索要求の解析結果として受け取った範囲のキー情報で範囲管理テーブル5を参照して検索対象範囲のエントリを読み出し、当該エントリのグループ特定情報で検索対象のグループを特定する。そして、範囲管理制御部4はデータアクセス制御部6に要求し検索対象の範囲に属する全てのグループをデータ格納領域部7から読み出す。
Next, an outline of the search processing operation in the data management apparatus 1 will be described.
The data processing unit 3 receives a search request from the terminal device 2, analyzes the search request, requests the range management control unit 4, and acquires a group to be searched. Then, the data processing unit 3 executes a matching process for each row included in each acquired group and outputs the result to the terminal device 2. The range management control unit 4 reads out the entry of the search target range by referring to the range management table 5 with the key information of the range received as the analysis result of the search request from the data processing unit 3, and searches the search target range with the group specifying information of the entry. Identify the group. Then, the range management control unit 4 requests the data access control unit 6 to read all groups belonging to the search target range from the data storage area unit 7.

図18は、データ管理装置1における検索処理の動作を示すフローチャートである。
データ処理部3が端末装置2から検索条件を示す検索要求(検索要求データの一例)を入力した際にデータ管理装置1が実行する検索処理について、図18に基づいて以下に説明する。
FIG. 18 is a flowchart showing the search processing operation in the data management apparatus 1.
A search process executed by the data management device 1 when the data processing unit 3 inputs a search request (an example of search request data) indicating a search condition from the terminal device 2 will be described below with reference to FIG.

まず、データ処理部3は、検索条件を示す検索問合せ文を検索要求として端末装置2から入力する(ステップS400)。
次に、データ処理部3は検索問合せ文が示す検索条件から範囲のキーになる条件を抽出する。範囲のキーの情報はデータベース定義時に予め設定されているものとする(ステップS401)。
First, the data processing unit 3 inputs a search query statement indicating a search condition from the terminal device 2 as a search request (step S400).
Next, the data processing unit 3 extracts a condition that becomes a range key from the search condition indicated by the search query. It is assumed that the range key information is set in advance when the database is defined (step S401).

図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 data processing unit 3 determines whether or not the search condition indicated by the search query statement has a condition that becomes a range key (step S402).
When there is a condition that becomes a range key, the data processing unit 3 outputs to the range management control unit 4 a data management command for requesting group specifying information in the range corresponding to the range key. The range management control unit 4 searches the range management table 5, the load state 18 is LOADED, and line identification information (minimum line number 21, maximum line number 22, minimum time stamp 23, maximum time stamp 24) is specified in the range key. ) Is selected, and group identification information (start group number 15, group number 16) of the selected entry is output to the data processing unit 3. The data processing unit 3 inputs the start group number 15 and the group number 16 output by the range management control unit 4 as information on the search target group (step S403).
When the conditions of FIGS. 6 and 19 are assumed, a range whose range ID 14 is 4, 5, and 6 is a search target range, and a group belonging to the search target range is a search target group.
If there is no condition that becomes a range key, the data processing unit 3 outputs a data management command for requesting group specifying information of an entry whose load state 18 is LOADED to the range management control unit 4. The range management control unit 4 searches the range management table 5 and selects an entry in a range where the load state 18 is LOADED. The group specifying information (start group number 15 and group number 16) of the selected entry is used as the data processing unit 3. Output to. The data processing unit 3 inputs the start group number 15 and the group number 16 output by the range management control unit 4 as information on the search target group (step S404).

次に、データ処理部3は、検索対象グループに含まれる1グループの読み出しを命令するデータ管理命令を範囲管理制御部4に出力する。範囲管理制御部4はデータ管理命令に対応する当該グループの読み出しを命令するデータアクセス命令をデータアクセス制御部6に出力する。データアクセス制御部6は検索対象である当該グループをデータ格納領域部7から読み出してバッファメモリ951に記憶する(ステップS405)。   Next, the data processing unit 3 outputs a data management command for instructing reading of one group included in the search target group to the range management control unit 4. The range management control unit 4 outputs to the data access control unit 6 a data access command for instructing reading of the group corresponding to the data management command. The data access control unit 6 reads the group to be searched from the data storage area unit 7 and stores it in the buffer memory 951 (step S405).

次に、データ処理部3は検索対象グループに含まれる全グループの読み出しが終了したか否かを判定する(ステップS406)。
読み出し終了である場合、データ処理部3は検索処理を終了する。
読み出し終了でない場合、データ処理部3はバッファメモリ951に記憶されたグループに対して行単位の照合処理を行い検索条件に該当する行の情報を検索結果として端末装置2に出力する。図19を例にした場合、データ処理部3はバッファメモリ951に記憶されたグループに含まれる各行を検索し、行の“カラー”フィールドが“RED”である行を選択する照合処理を行う。また、データ処理部3は、検索結果を端末装置2に出力後、照合処理したグループが記憶されたバッファメモリ951の領域を開放する(ステップS407)。
Next, the data processing unit 3 determines whether or not reading of all groups included in the search target group has been completed (step S406).
If the reading is finished, the data processing unit 3 finishes the search process.
If the reading is not finished, the data processing unit 3 performs a row-by-row collation process on the group stored in the buffer memory 951, and outputs information on the row corresponding to the search condition to the terminal device 2 as a search result. In the case of FIG. 19 as an example, the data processing unit 3 searches each row included in the group stored in the buffer memory 951 and performs a matching process of selecting a row whose “color” field is “RED”. Further, after outputting the search result to the terminal device 2, the data processing unit 3 releases the area of the buffer memory 951 in which the collated group is stored (step S407).

次に、データ管理装置1におけるバックアップ処理の動作概要を説明する。
データ管理装置1では、バックアップの種類として、フルバックアップ、差分バックアップ、増分バックアップに加え、範囲指定によるバックアップを実現する。フルバックアップは全データのバックアップであり、差分バックアップはフルバックアップ後に追加・変更されたデータのバックアップであり、増分バックアップはフルバックアップ以外のバックアップ(差分バックアップまたは増分バックアップ)後に追加・変更されたデータのバックアップである。また、範囲指定バックアップは指定された範囲のバックアップである。
データ処理部3は、端末装置2からバックアップ要求(バックアップ要求データの一例)を受付け、データベースの定義情報やデータ格納領域部7に格納されたデータを範囲管理制御部4を介して取得し、取得したデータをまとめたアーカイブファイル300を生成し記憶機器に記憶する。範囲管理制御部4はデータ処理部3からのバックアップ命令に従い、範囲管理テーブル5の情報を取得すると共にデータアクセス制御部6にバックアップ対象のグループを要求する。
Next, an outline of operation of backup processing in the data management device 1 will be described.
In the data management apparatus 1, as a backup type, in addition to a full backup, a differential backup, and an incremental backup, a backup by specifying a range is realized. A full backup is a backup of all data, a differential backup is a backup of data that has been added or changed after a full backup, and an incremental backup is a backup of data that has been added or changed after a backup other than a full backup (differential backup or incremental backup) It is a backup. A range-designated backup is a backup in a designated range.
The data processing unit 3 receives a backup request (an example of backup request data) from the terminal device 2, acquires the database definition information and the data stored in the data storage area unit 7 via the range management control unit 4, and acquires the data An archive file 300 in which the collected data is collected is generated and stored in the storage device. The range management control unit 4 acquires information in the range management table 5 and requests the data access control unit 6 for a group to be backed up in accordance with a backup command from the data processing unit 3.

図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 archive file 300 generated by the data management apparatus 1 in the backup process.
Reference numeral 300 denotes an archive file.
301 is header information (archive header information) of the archive file 300, such as the type of backup, the generation date of the archive file 300, and range information (start range ID, number of ranges).
Reference numeral 302 denotes database definition information, which includes database field information and key information.
Reference numeral 303 denotes information of the range management table 5.
Reference numeral 304 denotes information (group data information) related to a group included in the archive file 300 generated by backing up from the data storage area unit 7.

図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 group data information 304 includes group data header information 313 and groups 312a to 312d.
The group data header information 313 includes a start group number 305, a group number 306, an update area group number 307, and individual group information 308a to 308d.
Furthermore, the individual group information 308a to 308d includes an offset 309 indicating the position of the group in the archive file 300, a group size 310, and a flag 311 indicating whether the group is an empty group.
The offset 309 (OFFSET # 1) of the individual group information 308a indicates the position of the group 312a (group # 1), the offset 309 (OFFSET # 2) of the individual group information 308b indicates the position of the group 312b (group # 2), The offset 309 (OFFSET # 3) of the individual group information 308c indicates the position of the group 312c (group # 3), and the offset 309 (OFFSET # 4) of the individual group information 308d indicates the position of the group 312d (group # 4).

図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 data management apparatus 1 for differential backup or incremental backup.
Reference numeral 400 denotes the structure of the backup start position table.
401 is a group number (differential backup start group number) indicating the start position of the backup target in the differential backup.
Reference numeral 402 denotes a group number (incremental backup start group number) indicating the start position of the backup target in the incremental backup.
In the differential backup start group number 401, the data processing unit 3 sets a value obtained by adding 1 to the last group number immediately after the full backup.
In the incremental backup start group number 402, the data processing unit 3 sets a value obtained by adding 1 to the last group number immediately after the differential backup and the incremental backup.

図22は、データ管理装置1におけるバックアップ処理の動作を示すフローチャートである。
データ処理部3が端末装置2からバックアップ要求を入力した際にデータ管理装置1が実行するバックアップ処理について、図22に基づいて以下に説明する。
FIG. 22 is a flowchart showing the operation of the backup process in the data management apparatus 1.
The backup process executed by the data management device 1 when the data processing unit 3 inputs a backup request from the terminal device 2 will be described below with reference to FIG.

まず、データ処理部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 data processing unit 3 receives a backup request in which a backup type is designated from the terminal device 2. The types of backup include range designation backup, full backup, differential backup, and incremental backup (step S500).
Next, the data processing unit 3 outputs a data management command for requesting information to be set in the archive file 300 to the range management control unit 4, and the range management control unit 4 uses the information acquired from the range management table 5 as the data processing unit 3. Output to. At this time, the range management control unit 4 includes a start group number 305, a group number 306, an update area group number 307 set in the group data header information 313 of the archive file 300, information set in the range management table information 303, Information about the start range ID and the number of ranges set in the archive header information 301 is acquired from the range management table 5 (step S501).
Next, the data processing unit 3 creates archive header information 301, database definition information 302, range management table information 303, and group data header information 313, and writes them in the archive file 300 in order. At this time, the data processing unit 3 generates archive header information 301 based on the backup request input in step S500 and the information in the range management table 5 acquired from the range management control unit 4 in step S501, and is defined when the database is created. The database definition information 302 is generated based on the information thus obtained, and the range management table information 303 is generated based on the information of the range management table 5 acquired from the range management control unit 4 in step S501. Further, the data processing unit 3 generates group data header information 313 based on the information of the range management table 5 acquired from the range management control unit 4 in step S501. The data processing unit 3 sets predetermined initial values in the individual group information 308 a to 308 d in the group data header information 313. The range management table information 303 includes, for example, a load state 18 (an example of group presence / absence information) (step 502).

次に、データ処理部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 data processing unit 3 initializes a counter N, which is a variable for counting the number of processed groups, to 0 (step S503).
Next, the data processing unit 3 determines whether or not the counter N is smaller than the group number 306 set in the group data header information 313 of the archive file 300 (step S504).
When the counter N is smaller than the number of groups 306, the data processing unit 3 is a variable indicating the number of the backup target group by adding the counter N to the start group number 305 set in the group data header information 313 of the archive file 300. The group number GN is set (step S505).
Next, the data processing unit 3 determines whether the group indicated by the group number GN is not an empty group based on the load state 18 included in the range management table information 303. At this time, when the load state 18 is EMPTY, the data processing unit 3 determines that the group is empty (step S506).
If it is determined that the group with the group number GN is empty, the data processing unit 3 moves the process to step S509.
If it is determined that the group with the group number GN is not empty, the data processing unit 3 outputs a data management command requesting a group corresponding to the group number GN to the range management control unit 4, and the range management control unit 4 A data access command requesting a group corresponding to is output to the data access control unit 6. The data access control unit 6 reads the group with the group number GN from the data storage area unit 7 and stores it in the buffer memory 951 (step S507).
Next, the data processing unit 3 additionally writes out a group corresponding to the group number GN stored in the buffer memory 951 to the archive file 300. In addition, the data processing unit 3 releases the area of the buffer memory 951 in which the group corresponding to the group number GN is stored (step S508).
In addition, the data processing unit 3 updates the group data header information 313 output to the archive file 300 in step S502 for the group corresponding to the group number GN. Specifically, the offset 309 in the archive file 300 as the individual group information, the group size 310, and a flag 311 indicating whether or not the group is an empty group are set (step S509).
Next, the data processing unit 3 adds 1 to the counter N (step S510).
The data management apparatus 1 repeats the above processing until the counter N reaches the number of groups 306 or more.
If it is determined in step S504 that the counter N is greater than or equal to the number of groups 306, the data processing unit 3 updates the backup start position table 400 and ends the backup process. When updating the backup start position table 400, in the case of a full backup, the data processing unit 3 starts differential backup with a value (group number GN + 1) obtained by adding 1 to the group number of the group last added to the archive file 300. Set to group number 401. In addition, in the case of differential backup or incremental backup, the data processing unit 3 sets a value obtained by adding 1 to the group number of the group last added to the archive file 300 (group number GN + 1) as the incremental backup start group number 402. (Step S511).

図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 data processing unit 3 determines the type of backup indicated by the backup request. The range designation backup request includes a range ID indicating the range to be backed up (step S600).
In the case of range-designated backup, the data processing unit 3 determines the start group number 15 and the group for the entry whose range ID 14 selected by the range management control unit 4 by searching the range management table 5 matches the range ID included in the backup request. Equation 16 is obtained. In step S502, the data processing unit 3 sets the start group number 15 and the group number 16 acquired from the range management table 5 to the start group number 305 and the group number 306 of the group data header information 313 of the archive file 300. (Step S601).
In the case of full backup, the data processing unit 3 calculates the start group number and the number of groups for the entire range based on the information in the range management table 5. The start group number calculated here is the minimum start group number 15 in all entries of the range management table 5, and the number of groups is the total value of the group numbers 16 of all entries. In step S <b> 502, the data processing unit 3 sets the calculated start group number and group number to the start group number 305 and the group number 306 of the group data header information 313 of the archive file 300. The data processing unit 3 acquires information of the range management table 5 via the range management control unit 4 (step S602).
In the case of differential backup, the data processing unit 3 refers to the backup start position table 400 to acquire the differential backup start group number 401, and determines the number of groups after the differential backup start group number 401 based on the information in the range management table 5. calculate. The number of groups calculated here is obtained by subtracting the differential backup start group number 401 from the value obtained by adding the group number 16 of the entry having the maximum start group number 15 to the maximum start group number 15 in all entries of the range management table 5. It is a value obtained by adding 1 to the value. In step S502, the data processing unit 3 sets the differential backup start group number 401 to the start group number 305 of the group data header information 313 for the archive file 300, and sets the calculated number of groups to the group of the group data header information 313. It sets to number 306. The data processing unit 3 acquires information of the range management table 5 via the range management control unit 4 (step S603).
In the case of incremental backup, the data processing unit 3 refers to the backup start position table 400 to acquire the incremental backup start group number 402 and calculates the number of groups after the incremental backup start group number 402 based on the range management table 5. . The number of groups calculated here is obtained by subtracting the incremental backup start group number 402 from the value obtained by adding the number of groups 16 of the entry having the maximum start group number 15 to the maximum start group number 15 in all entries of the range management table 5. It is a value obtained by adding 1 to the value. In step S502, the data processing unit 3 sets the incremental backup start group number 402 to the start group number 305 of the group data header information 313 for the archive file 300, and sets the calculated number of groups to the group of the group data header information 313. It sets to number 306. The data processing unit 3 acquires the information of the range management table 5 through the range management control unit 4 (step S604).

ステップ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 data processing unit 3 starts or calculates the start group number and the number of groups that are acquired or calculated according to the type of backup and set in the group data header information 313 of the archive file 300. In each group from the group number, the number of groups belonging to the range indicated by the entry whose determination state 17 of the range management table 5 is CURRENT is calculated, and the calculated group number is group data header information of the archive file 300 in S502. The number of groups in the update area 307 set to 313 is assumed. Further, the data processing unit 3 calculates the range ID and the range number of each range to which the group corresponding to the start group number and the group number acquired or calculated according to the type of backup belongs based on the range management table. In step S502, the data processing unit 3 sets the calculated range ID and the number of ranges as the start range ID and the number of ranges of the archive header information 301 of the archive file 300. The data processing unit 3 acquires information of the range management table 5 via the range management control unit 4 (step S605).

次に、データ管理装置1におけるリストア処理の動作概要を説明する。
データ管理装置1は、端末装置2からのリストア要求に対して、バックアップ処理時に生成したアーカイブファイル300を入力として範囲管理制御部4およびデータアクセス制御部6を介してリストア処理を実行する。データ処理部3が入力したリストア要求に対応して、範囲管理制御部4は範囲管理テーブル5を更新し、データアクセス制御部6はリストア対象のグループをデータ格納領域部7に書き込む。
Next, an outline of restore processing operation in the data management apparatus 1 will be described.
In response to the restore request from the terminal device 2, the data management apparatus 1 executes the restore process via the range management control unit 4 and the data access control unit 6 with the archive file 300 generated during the backup process as an input. In response to the restore request input by the data processing unit 3, the range management control unit 4 updates the range management table 5, and the data access control unit 6 writes the group to be restored to the data storage area unit 7.

図24は、データ管理装置1におけるリストア処理の動作を示すフローチャートである。
データ処理部3が端末装置2からリストア要求を入力した際にデータ管理装置1が実行する範囲の削除処理について、図24に基づいて以下に説明する。
FIG. 24 is a flowchart showing the restore processing operation in the data management apparatus 1.
A range deletion process executed by the data management apparatus 1 when the data processing unit 3 inputs a restore request from the terminal apparatus 2 will be described below with reference to FIG.

まず、データ処理部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 data processing unit 3 receives a restore request from the terminal device 2 (step S700).
Next, the data processing unit 3 acquires the archive file 300 from the storage device of the data management apparatus 1 and checks whether the restore condition is satisfied according to the backup type included in the archive header information 301. For example, when the archive file 300 generated by the range-designated backup is restored, the load condition 18 of the entry indicating the range to be restored is EMPTY according to the state transition diagram of FIG. For example, the database definition information 302 and the range management table information 303 are consistent with the database definition information and the range management table information 303 of the database that is currently being restored. When the archive file 300 is restored in the overwrite mode, the load state 18 of the entry indicating the range to be restored need not be EMPTY. The data processing unit 3 acquires information of the range management table 5 via the range management control unit 4 (step S701).
If it is determined that the restore condition is not satisfied, the data processing unit 3 ends the restore process.
When it is determined that the restoration condition is satisfied, the data processing unit 3 refers to the archive file 300 and calculates the value obtained by subtracting the update area group number 307 from the group number 306 as the variable, the reference area group number RN. (Step S702).
Next, the data processing unit 3 initializes a counter N that is a variable to 0 in order to count the number of processed groups (step S703).
Next, the data processing unit 3 determines whether the counter N is smaller than the group number 306 (step S704).
When the counter N is smaller than the group number 306, the data processing unit 3 sets a value obtained by adding the counter N to the start group number 305 to the group number GN that is a variable (step S705).
Next, the data processing unit 3 refers to the archive file 300 and determines whether the individual group information flag 311 corresponding to the group number GN indicates empty (step S706).
If it is determined that the flag 311 does not indicate empty, the data processing unit 3 reads the group corresponding to the group number GN from the archive file 300 and stores it in the buffer memory 951 (step S707).
If it is determined that the flag 311 indicates empty, the data processing unit 3 creates a virtual empty group having the size 310 of the individual group information as setting information (step S708).
Next, the data processing unit 3 determines whether or not the counter N is smaller than the reference area group number RN (step S709).
When the counter N is smaller than the reference area group number RN, the data processing unit 3 outputs a data management command for writing the restoration target group to the reference area 9 of the data storage area unit 7 to the range management control unit 4. The management control unit 4 outputs a data access command corresponding to the data management command to the data access control unit 6, and the data access control unit 6 writes the group stored in the buffer memory 951 into the reference area 9. Further, the data access control unit 6 releases the area of the buffer memory 951 in which the group written in the reference area 9 is stored (step S710).
If the counter N is equal to or greater than the number RN in the reference area, the data processing unit 3 outputs to the range management control unit 4 a data management instruction for writing the restoration target group to the update area 8 of the data storage area unit 7, The range management control unit 4 outputs a data access command as a data management command to the data access control unit 6, and the data access control unit 6 writes the group stored in the buffer memory 951 into the update area 8. In addition, the data access control unit 6 releases the area of the buffer memory 951 in which the group written in the update area 8 is stored (step S711).
Next, the data processing unit 3 adds 1 to the counter N and shifts the processing to step S704.
If it is determined in step S704 that the counter N is greater than or equal to the number of groups 306, the data processing unit 3 outputs to the range management control unit 4 a data management command for instructing restoration of the range management table 5, and the range management control unit 4 Updates the range management table 5, and the data management apparatus 1 ends the restore process (step S713).

図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 data processing unit 3 refers to the backup type of the archive header information 301 of the archive file 300, and determines whether or not a range-designated backup is restored (step S800).
In the case of restoring a range-designated backup, the data processing unit 3 outputs a data management command for instructing restoration of one range of the range management table 5 to the range management control unit 4. The range management control unit 4 changes the load state 18 of the entry in the range to be restored in the range management table 5 to LOADED according to the state transition diagram of FIG. 7 (step S801).
If it is not the restoration of the range designation backup, the data processing unit 3 outputs a data management command for instructing the restoration of the entire range of the range management table 5 to the range management control unit 4, and the range management control unit 4 performs the range management of the archive file 300. The information in the range management table 5 is replaced with the table information 303 (step S802).

実施の形態におけるバッファメモリはバッファメモリより高速なキャッシュメモリであってもよい。
データベースに代表されるデータ管理装置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 data management apparatus 1 represented by a database, it is desired to increase the speed of data access. Therefore, the data management device 1 in the embodiment improves the data access efficiency by inputting / outputting individual data (rows) between the CPU 911 and the magnetic disk device 920 via the buffer memory (or cache memory). To speed up data access. In addition, data is managed in units of data (groups) in which the rows are grouped by buffer size (or cache size), and the rows are accessed in units of groups. Therefore, the rows corresponding to the buffer size (or cache size) are inserted. It is easy to output, and the data access efficiency is further improved. In addition, the data management device 1 stores data (range) in which groups are arbitrarily arranged in a continuous area of a storage area (reference area 9 or update area 8), so that a magnetic disk device can be used when accessing a continuous group. 920 shortens the data access time for moving the header and magnetic disk.
Therefore, the data management device 1 in the embodiment is particularly useful as a write-once database, for example, data generated in an arbitrary time unit by setting a time unit such as hour, day, week, or month as a range. Can be processed at high speed.

上記のように実施の形態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 storage area unit 7 in units of groups in which a plurality of rows are grouped. Since the input / output unit is a group unit and the groups to be accessed are continuously arranged, high-speed data access is possible.
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 load state 18, and an empty range can be excluded from the search target, thereby enabling efficient data access.
In addition, in the data load, it is only necessary to continuously add data in increments of groups to the update area 8 to which data addition is permitted, and since there is no index, high-speed loading is possible.
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 storage area unit 7 by the range management table 5, batch processing is possible and it does not take time to delete the range.
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 load state 18 of the range management table 5, so that the backup can be efficiently performed. Is possible.
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 archive file 300 as being deleted.

上記実施の形態1において以下のようなデータ管理装置1について説明した。
データベースのデータ格納領域として、データの追加を許可する更新領域とデータの参照だけを許可する参照領域をもち、更新領域のデータは参照領域に追加され、参照領域へ追加されたデータは更新領域から削除されるデータ格納手段(データ格納領域部7)を備えたデータ管理装置1。
In the first embodiment, the following data management apparatus 1 has been described.
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 data management apparatus 1 including data storage means (data storage area unit 7) to be deleted.

複数の行(レコード)を対象に所定のデータ処理を行うデータ処理手段(データ処理部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 data management device 1 comprising data access control means (data access control unit 6) for controlling the data.

前記範囲管理制御手段は、前記グループの追加が許可された現在の前記範囲の状態(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 data management apparatus 1 is characterized in that the confirmed state 17) is held in the range management table and the range is managed.

前記範囲管理制御手段は、前記範囲の状態を現在の前記範囲の状態から確定した前記範囲の状態に変更するとき、前記更新領域に格納されている前記グループを前記参照領域に移動させることを特徴とするデータ管理装置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 data management device 1.

前記範囲管理制御手段は、前記範囲の状態を前記現在の範囲の状態から前記確定した範囲の状態に変更するとき、前記更新領域に格納されている複数の前記グループを所定の条件(例えば、バッファサイズ)に従って併合して前記参照領域に移動させることを特徴とするデータ管理装置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 data management apparatus 1 is merged according to size) and moved to the reference area.

前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態を前記範囲管理テーブルに保持し、前記グループの追加において前記現在の範囲の状態を前記ロード済みの範囲の状態に設定することを特徴とする請求項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 claim 1, wherein the state of the current range is set to the state of the loaded range when the group is added.

前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態(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 data management apparatus 1 is characterized in that a state (load state 18) is held in the range management table, and the state of the empty range is set when the range is deleted.

前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態、および前記範囲に含まれる行に関連づく所定のキーの範囲情報(最小行番号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 (minimum row number 21, maximum row number 22, minimum time stamp 23, maximum time stamp 24) related to the included rows is held in the range management table, and the data processing means in the search is the empty The data management apparatus 1 is characterized in that a search process is performed by removing the group in the range in which the range or the search condition is false in comparison with the key range information from the search target.

前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態を前記範囲管理テーブルに保持し、前記データ処理手段は前記範囲を指定したバックアップを行うことを特徴とするデータ管理装置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 data management apparatus 1 is characterized in that in the restoration of a backup in which the range is specified, the restoration is executed only when the information in the range is the same as that at the time of backup.

前記範囲管理制御手段は、前記グループが追加されたことを示すロード済みの前記範囲の状態と前記グループが追加されていない空の前記範囲の状態のいずれかの前記範囲の状態を前記範囲管理テーブルに保持し、バックアップにおいて前記データ処理手段は前記空の範囲の情報を保持したアーカイブファイルを生成することを特徴とするデータ管理装置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 data management apparatus 1 characterized by the following.

前記範囲管理テーブルは、前記範囲に対して前記グループが追加された最終追加時刻の情報(エントリ最終書込み時刻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. Data management device 1 to perform.

前記範囲管理テーブルは、前記範囲に含まれる行の最小行番号と最大行番号の情報を保持し、前記データ処理手段、前記範囲管理制御手段により検索を実行することを特徴とするデータ管理装置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について説明する。
Embodiment 2. FIG.
The data management apparatus 1 according to the first embodiment adds a range by moving a group in the update area 8 of the data storage area unit 7 to the reference area 9.
On the other hand, in the second embodiment, a data management apparatus 1 will be described in which a new group generated by merging a group in the update area 8 is moved to the reference area 9.

図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 groups 100a to 100c become the new group 1000a and the groups 100d to 100g become the new group 1000b by the group merge processing executed by the data processing unit 3.
Assume that a group merge condition is set in advance in the storage device of the data management apparatus 1 and can be arbitrarily set for the group to be merged. In the following description, a new group after merging the group is referred to as a merge group.

実施の形態2によるデータ管理システム900の構成図および範囲管理テーブル5の例を示す図は、上記実施の形態1と同様とする(図3、図6)。但し、実施の形態2におけるデータ管理装置1はバッファメモリ951と同じバッファサイズを持つマージ用のバッファメモリを備える。   The configuration diagram of the data management system 900 according to the second embodiment and the diagram showing an example of the range management table 5 are the same as those in the first embodiment (FIGS. 3 and 6). However, the data management device 1 according to the second embodiment includes a merge buffer memory having the same buffer size as the buffer memory 951.

図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 data management apparatus 1 according to the second embodiment will be described below with reference to FIG.

データ処理部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 data processing unit 3 inputs a range addition request from the terminal device 2, the data processing unit 3 outputs a data management command for requesting group identification information of the current range to the range management control unit 4. The range management control unit 4 searches the range management table 5 for and selects an entry in the current range whose finalized state 17 is CURRENT, obtains the start group number 15 and the group number 16 of the selected entry, and performs data processing. It outputs to the part 3 (step S900).
Next, the data processing unit 3 initializes a counter N that is a variable for counting the number of processed groups to 0 (step S901).
Next, the data processing unit 3 initializes a counter M, which is a variable for counting the number of merged groups, to 0 (step S902).
Next, the data processing unit 3 determines whether or not the counter N is smaller than the number of groups 16 input from the range management control unit 4 (step S903).
When the counter N is smaller than 16, the data processing unit 3 sends a data management command for requesting a group corresponding to the group number obtained by adding the counter N to the start group number 15 input from the range management control unit 4 to the range management control unit. 4 is output. The range management control unit 4 outputs a data access command corresponding to the data management command to the data access control unit 6. The data access controller 6 reads the group corresponding to the data access command from the update area 8 of the data storage area 7 and stores it in the buffer memory 951 (step S904).
Next, when there is a merge group that has not been written in the reference area 9, the data processing unit 3 merges the group stored in the buffer memory 951 into the merge group to form a new merge group. At this time, the data processing unit 3 stores the merge group in the merge buffer memory. In addition, the data processing unit 3 releases the area of the buffer memory 951 in which the merged group is stored (step S905).
Next, the data processing unit 3 adds 1 to the counter N (step S906).
Next, the data processing unit 3 determines whether or not the merge group satisfies the merge completion condition. As the merge completion condition, an arbitrary condition such as the maximum number of groups to be merged or the maximum size of the merge group can be set in advance. It is preferable that the size of the merge group matches the buffer memory 951 (step S907).
If it is determined that the merge completion condition is not satisfied, the data processing unit 3 moves the process to step S903.
If it is determined that the merge completion condition is satisfied, the data processing unit 3 outputs a data management command for writing the merge group to the reference area 9 of the data storage area unit 7 to the range management control unit 4. The range management control unit 4 outputs a data access command corresponding to the data management command to the data access control unit 6, and the data access control unit 6 writes the merge group stored in the merge buffer memory in the reference area 9. In addition, the data access control unit 6 releases the merge buffer memory area in which the group written in the reference area 9 is stored (step S908).
Next, the data processing unit 3 adds 1 to the counter M and shifts the processing to step S903 (step 909).
The data management apparatus 1 repeats the above processing until the counter N reaches 16 or more groups.
If it is determined in step S903 that the counter N is equal to or greater than 16 groups, the data processing unit 3 determines whether there is any unwritten merge group (step S910).
If it is determined that there is an unwritten merge group, the data processing unit 3 writes the merge group to the reference area 9 in the same manner as in steps S908 and 909 (step S911), and adds 1 to the counter M (step S912).
If it is determined that there is no unwritten merge group, the data processing unit 3 moves the process to step S913.
Next, the data processing unit 3 outputs a data management command for instructing deletion of the group in the update area 8 to the range management control unit 4, and the range management control unit 4 accesses the data access command corresponding to the data management command for data access. The data access control unit 6 deletes the group stored in the update area 8 (step S913).
As described above, the groups in the update area 8 are merged and moved to the reference area 9.

最後に、データ処理部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 data processing unit 3 outputs to the range management control unit 4 a data management command for instructing the update of the range management table 5 after merging when the number of merge groups is the counter M. The range management control unit 4 The management table 5 is updated. At this time, the range management control unit 4 searches for an entry whose finalized state 17 is CURRENT and selects it from the range management table 5. The range management control unit 4 sets the counter M, which is the number of merge groups, in the group number 16 of the selected entry, changes the confirmation state 17 from CURRENT to FIXED, and sets the current time as the confirmation time 19. Also, the range management control unit 4 adds a new range entry, sets a value obtained by adding 1 to the range ID of the previous entry to the range ID 14, and sets the value of the previous entry to the start group number 15. The value obtained by adding the starting group number 15 and the group number 16 is set, the group number 16 is set to 0, the CURRENT state is set to CURRENT, the load state 18 is set to EMPTY, and the entry last write time 20 is Set the current time and set null values for the other items in the entry. Further, the range management control unit 4 sets the current time as the table last write time 11, and sets a value obtained by adding 1 to the range number 12 (step S914).

なお、前記グループのマージ処理は、範囲の追加処理の実行時だけでなく、行の追加(ロード)の途中で更新領域8にあるグループが所定のサイズ(例えば、バッファサイズ)あるいは件数を越えたときに実施してもよい。   The group merging process is performed not only when the range addition process is executed, but also when the group in the update area 8 exceeds a predetermined size (for example, buffer size) or the number of cases during the process of adding (loading) a row. Sometimes it may be done.

実施の形態2では、範囲の追加の際に更新領域8にあるグループを参照領域9に移動する際に、更新領域8のグループをマージして新たなグループを生成する点が実施の形態1とは異なる。
これにより、行のロード頻度が低く更新領域8に追加されるグループのサイズが小さくなってアクセス効率を低下させる場合においても、前記マージ処理により入出力効率を向上するのに適切なグループのサイズ(例えば、バッファサイズ)に保つことができ、アクセス効率を向上させることが可能となる。
The second embodiment is different from the first embodiment in that a group in the update area 8 is merged to generate a new group when a group in the update area 8 is moved to the reference area 9 when a range is added. Is different.
Thus, even when the row loading frequency is low and the size of the group added to the update area 8 is reduced and the access efficiency is lowered, the group size appropriate for improving the input / output efficiency by the merge processing ( For example, the buffer size can be maintained, and the access efficiency can be improved.

上記実施の形態2において以下のようなデータ管理装置1について説明した。
範囲管理制御手段(範囲管理制御部4)は、範囲の追加において現在の範囲(CURRENT)の状態から確定した範囲の状態(FIXED)に範囲の状態(確定状態17)を変更し、新たに追加した範囲を現在の範囲に設定し、現在の範囲を常に1つだけ持つことを特徴とするデータ管理装置1。
The following data management apparatus 1 has been described in the second embodiment.
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 data management apparatus 1 is characterized in that the current range is set as the current range and there is always only one current range.

実施の形態1におけるデータ管理システム900の外観を示す図。FIG. 2 is a diagram illustrating an appearance of a data management system 900 according to the first embodiment. 実施の形態1におけるデータ管理システム900のハードウェア構成図。1 is a hardware configuration diagram of a data management system 900 according to Embodiment 1. FIG. 実施の形態1によるデータ管理システム900の構成図。1 is a configuration diagram of a data management system 900 according to Embodiment 1. FIG. 実施の形態1におけるデータ管理装置1で実現する「範囲」の概念図。FIG. 3 is a conceptual diagram of “range” realized by the data management apparatus 1 according to the first embodiment. 図4で示すデータベース30に対して範囲を追加した場合の概念図。The conceptual diagram at the time of adding a range with respect to the database 30 shown in FIG. 実施の形態1における範囲管理テーブル5に保持する範囲管理情報を示した例。An example showing range management information held in the range management table 5 in the first embodiment. 実施の形態1における範囲の操作処理に対する確定状態17およびロード状態18の変化について示した範囲の状態遷移図。FIG. 6 is a state transition diagram of a range shown with respect to a change in a confirmed state 17 and a load state 18 with respect to a range operation process in the first embodiment. 実施の形態1におけるデータ処理の結果として生成されるグループの一例。4 is an example of a group generated as a result of data processing in the first embodiment. 実施の形態1における1つの行が行番号102a、タイムスタンプ102b、カラー102cの3つのフィールドを有する場合のグループ100の例。An example of the group 100 when one row in the first embodiment has three fields of a row number 102a, a time stamp 102b, and a color 102c. 実施の形態1のデータ管理装置1におけるロード処理の動作を示すフローチャート。5 is a flowchart showing an operation of a load process in the data management apparatus 1 according to the first embodiment. 実施の形態1におけるデータ管理装置1が3つのグループ100a〜100cを更新領域8に格納した例。An example in which the data management apparatus 1 according to the first embodiment stores three groups 100 a to 100 c in the update area 8. 実施の形態1のデータ管理装置1における範囲の追加処理の動作を示すフローチャート。5 is a flowchart showing an operation of range addition processing in the data management apparatus 1 according to the first embodiment. 実施の形態1における更新領域8にある3つのグループ100a〜100cを参照領域9に移動したイメージ。The image which moved the three groups 100a-100c in the update area 8 in Embodiment 1 to the reference area 9. FIG. 図6に示す範囲管理テーブル5の状態にあるデータベースに対して範囲の追加を行った直後の範囲管理テーブル5の例。The example of the range management table 5 immediately after adding a range with respect to the database in the state of the range management table 5 shown in FIG. 実施の形態1における範囲30bを削除した場合の概念図。The conceptual diagram at the time of deleting the range 30b in Embodiment 1. FIG. 実施の形態1のデータ管理装置1における範囲の削除処理の動作を示すフローチャート。5 is a flowchart showing an operation of range deletion processing in the data management apparatus 1 according to the first embodiment. 図6に示す範囲管理テーブル5の状態にあるデータベースに対して範囲ID14が“2”の範囲を削除した直後の範囲管理テーブル5の例。The example of the range management table 5 immediately after deleting the range whose range ID 14 is "2" with respect to the database in the state of the range management table 5 shown in FIG. 実施の形態1のデータ管理装置1における検索処理の動作を示すフローチャート。5 is a flowchart showing the search processing operation in the data management apparatus 1 according to the first embodiment. 実施の形態1における検索問い合わせ文の例。4 is an example of a search query statement in the first embodiment. 実施の形態1におけるデータ管理装置1がバックアップ処理において生成するアーカイブファイル300のデータ構造を示した図。FIG. 3 is a diagram showing a data structure of an archive file 300 generated by the data management apparatus 1 according to Embodiment 1 in a backup process. 実施の形態1におけるデータ管理装置1が差分バックアップまたは増分バックアップで使用するバックアップ開始位置を管理するためのテーブルを示す図。FIG. 3 is a diagram showing a table for managing a backup start position used by the data management apparatus 1 in the first embodiment for differential backup or incremental backup. 実施の形態1のデータ管理装置1におけるバックアップ処理の動作を示すフローチャート。5 is a flowchart showing the operation of backup processing in the data management apparatus 1 according to the first embodiment. ステップS501についてバックアップの種類に分けて動作の詳細を説明したフローチャート。The flowchart which demonstrated the detail of operation | movement divided into the kind of backup about step S501. 実施の形態1のデータ管理装置1におけるリストア処理の動作を示すフローチャート。5 is a flowchart showing an operation of restore processing in the data management apparatus 1 according to the first embodiment. ステップS713における範囲管理テーブル5の更新の動作を示したフローチャート。The flowchart which showed the operation | movement of the update of the range management table 5 in step S713. 実施の形態2におけるグループのマージ処理を示す概念図。FIG. 11 is a conceptual diagram illustrating group merging processing according to the second embodiment. 実施の形態2による範囲の追加処理における動作を示すフローチャート。9 is a flowchart showing an operation in range addition processing according to the second embodiment.

符号の説明Explanation of symbols

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の記憶機器は当該範囲にグループを最後に追加した最終追加時刻を前記範囲エントリに含んで記憶し、
前記範囲管理制御部は前記データ処理部が新たなグループを生成した際の時刻を処理中範囲の範囲エントリの最終追加時刻に設定する
ことを特徴とする請求項〜請求項いずれかに記載のデータ管理装置。
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つのグループを生成するデータ処理部を備え
前記入出力制御部は前記データ処理部が生成したグループを前記参照領域に追加記憶する
ことを特徴とする請求項記載のデータ管理装置。
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.
前記第2の記憶機器は当該範囲が確定範囲になった確定範囲時刻を前記範囲エントリに含んで記憶し、
前記範囲管理制御部は、前記入力機器に範囲追加要求データ入力された際の時刻を処理中範囲の範囲エントリの確定範囲時刻に設定する
ことを特徴とする請求項〜請求項いずれかに記載のデータ管理装置。
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.
前記第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,
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.
前記範囲管理制御部は、前記第3の記憶機器に記憶されたバックアップファイルを前記第1の記憶機器にリストアするリストア要求データが前記入力機器に入力された際、バックアップファイルに含まれるグループ有無情報を当該範囲エントリに設定し、
前記入出力制御部は、前記入力機器にリストア要求データ入力された際、バックアップファイルに含まれるグループを前記第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.
前記第2の記憶機器は当該範囲に記憶されている複数の任意データそれぞれを識別する番号の内で最小番号と最大番号とを特定する任意データ特定情報含む範囲エントリを記憶する
ことを特徴とする請求項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:
前記第2の記憶機器は当該範囲に記憶されている複数の任意データそれぞれに含むタイムスタンプの内で最タイムスタンプと最大タイムスタンプとを特定する任意データ特定情報含む範囲エントリを記憶する
ことを特徴とする請求項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.
複数の任意データがグループとして記憶されるバッファメモリと、グループを記憶するための記憶領域の範囲として複数の範囲を有する第1の記憶機器と、前記第1の記憶機器が有する記憶領域の範囲毎に当該範囲に記憶された複数のグループを特定するグループ特定情報と当該範囲に記憶されたグループに含まれる複数の任意データを特定する任意データ特定情報とグループが記憶されていない範囲を空範囲として特定するグループ有無情報とを含む範囲エントリを記憶する第2の記憶機器と、任意データの値の検索条件と前記任意データ特定情報の検索条件とを含んだ検索要求データが入力される入力機器と、範囲管理制御部と、入出力制御部と、データ処理部とを備えるデータ管理装置のデータ管理方法であって、
前記範囲管理制御部は、前記検索要求データに含まれる任意データ特定情報の検索条件に合う範囲エントリであり且つグループ有無情報が空範囲でないことを示す範囲エントリを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 .
請求項15記載のデータ管理方法をコンピュータに実行させることを特徴とするデータ管理プログラム。 A data management program for causing a computer to execute the data management method according to claim 15 .
JP2005332648A 2005-11-17 2005-11-17 Data management apparatus, data management method for data management apparatus, and data management program Active JP4813155B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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