JP2009282563A - Data storage system, program, method, and monitoring device - Google Patents
Data storage system, program, method, and monitoring device Download PDFInfo
- Publication number
- JP2009282563A JP2009282563A JP2008130944A JP2008130944A JP2009282563A JP 2009282563 A JP2009282563 A JP 2009282563A JP 2008130944 A JP2008130944 A JP 2008130944A JP 2008130944 A JP2008130944 A JP 2008130944A JP 2009282563 A JP2009282563 A JP 2009282563A
- Authority
- JP
- Japan
- Prior art keywords
- data
- difference
- whole
- storage
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims description 39
- 238000012806 monitoring device Methods 0.000 title claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 2
- 238000013480 data collection Methods 0.000 description 56
- 238000013523 data management Methods 0.000 description 46
- 238000012217 deletion Methods 0.000 description 35
- 230000037430 deletion Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 20
- 238000000605 extraction Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000013075 data extraction Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 239000000284 extract Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004321 preservation Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
この発明は、データ保存システム、プログラム及び方法、並びに監視装置に関し、例えば、複数の時刻でデータを収集して保存するシステムに適用し得る。 The present invention relates to a data storage system, a program and method, and a monitoring device, and can be applied to a system that collects and stores data at a plurality of times, for example.
従来のデータベースなどにおけるデータバックアップや、データバックアップにおけるバージョン管理機能は、データのフルバックアップを定期的、または任意に取得するとともに現在までのデータの差分バックアップを可能とするものであった。また、データの過去のバージョンの削除には、そのバージョンまでの差分情報とフルバックアップデータから削除対象を検出し、削除対象のフルバックアップデータと差分情報を削除するものであった(非特許文献1参照)。 The conventional data backup in a database or the like, or the version management function in the data backup, can obtain a full backup of data periodically or arbitrarily and can perform differential backup of data up to the present. Further, in order to delete a past version of data, a deletion target is detected from difference information and full backup data up to that version, and the deletion target full backup data and difference information are deleted (Non-Patent Document 1). reference).
また、従来のいわゆるバージョン管理システム(例えば、CVS(Concurrent Versions System)やSubversionなど)においては、一番古いデータをフルデータとして保持し、その後のバージョン変更の際は変更した差分情報のみを管理していく方法であった(非特許文献2参照)。
しかしながら、非特許文献1に記載のデータベースでは、データのバージョン間の差分バックアップが可能であったが、過去の情報を取り出す際にはフルバックアップしたデータから、順次差分バックアップを適用することによる取り出し方法しかなく、任意のバージョン以前のデータを削除することも困難であった。また、従来のデータベースのフルバックアップを定常的に行う場合、管理するバージョンの数が大きくなるにつれて、バージョン管理を行うシステムの磁気ディスクを圧迫する。また、過去のバージョンのデータの取り出しや削除に要する処理性能も高速に処理することができない。
However, in the database described in Non-Patent
また、非特許文献2に記載のCVSでは、過去のバージョンのあるデータを取り出す際、一番古いバージョンのフルデータに差分情報を一つずつ適用して指定した過去のバージョンのすべてのデータを復元してから所望のデータを取り出す処理となるので、高速に処理することができない。また、任意のバージョン以前のデータを削除することは不可能である。
Also, in the CVS described in Non-Patent
このため、SNMP(Simple Network Management Protocol)によるMIB(Management Information Base)のデータ取得によるネットワーク監視やPingによる死活監視などによってネットワークの情報を短周期(例えば、5分周期程度)に大量(例えば、26万件程度)に収集し、過去のネットワークの状態も保持しておかなければならないような監視装置においては、従来のデータベースのバックアップ方法では、任意の時間のネットワーク上に存在するノードの負荷状態や接続状態などの検索や任意の過去バージョンのデータの削除は、処理に要する時間がかかり効率が悪く、かつ大量のバックアップデータにより磁気ディスクを圧迫してしまうため、多くのリソースを必要としていた。また、CVSでは任意の過去バージョンのデータの削除は実現不可能である。 For this reason, a large amount of network information (for example, about 5 minutes) is obtained in a short period (for example, about 5 minutes) by network monitoring by MIB (Management Information Base) data acquisition by SNMP (Simple Network Management Protocol) or alive monitoring by Ping. In a monitoring device that collects about 10,000 cases and keeps the state of the past network, the conventional database backup method uses the load status of the nodes existing on the network for an arbitrary time. Searching the connection status and deleting any past version data is time consuming and inefficient, and compresses the magnetic disk with a large amount of backup data. Needed. In addition, it is impossible to delete arbitrary past version data in CVS.
そのため、保存しているデータの操作に必要なリソースを低減することができるデータ保存システム、プログラム及び方法、並びに監視装置が望まれている。 Therefore, a data storage system, program and method, and monitoring device that can reduce resources required for operating stored data are desired.
第1の本発明のデータ保存システムは、(1)複数の異なる時刻ごとに、保存対象データを取得して保存するデータ保存システムにおいて、(2)任意の時刻に取得した保存対象データである基準保存対象データの全体データを保存する基準全体データ保存手段と、(3)上記基準保存対象データよりも前の時刻で取得した保存対象データである前方保存対象データの全体データを保持する前方全体データ保持手段と、(4)上記基準全体データ保存手段が保存している全体データと、上記前方全体データ保持手段が保持している全体データとの差分データを生成する差分データ生成手段と、(5)上記差分データ生成手段が生成した差分データを保存する差分データ保存手段とを有することを特徴とする。 The data storage system according to the first aspect of the present invention is (1) a data storage system that acquires and stores storage target data at a plurality of different times, and (2) a reference that is storage target data acquired at an arbitrary time. Reference whole data storage means for saving the whole data of the storage target data, and (3) front whole data holding the whole data of the forward storage target data which is the storage target data acquired at a time before the reference storage target data. (4) difference data generation means for generating difference data between the whole data stored in the reference whole data storage means and the whole data held in the front whole data holding means; And a difference data storage unit for storing the difference data generated by the difference data generation unit.
第2の本発明のデータ保存プログラムは、(1)複数の異なる時刻ごとに、保存対象データを取得して保存するデータ保存システムに搭載されたコンピュータを、(2)任意の時刻に取得した保存対象データである基準保存対象データの全体データを保存する基準全体データ保存手段と、(3)上記基準保存対象データよりも前の時刻で取得した保存対象データである前方保存対象データの全体データを保持する前方全体データ保持手段と、(4)上記基準全体データ保存手段が保存している全体データと、上記前方全体データ保持手段が保持している全体データとの差分データを生成する差分データ生成手段と、(5)上記差分データ生成手段が生成した差分データを保存する差分データ保存手段として機能させることを特徴とする。 The data storage program according to the second aspect of the present invention provides (1) a computer mounted in a data storage system that acquires and stores data to be stored at a plurality of different times, and (2) stores acquired at an arbitrary time. Reference entire data storage means for storing the entire data of the reference storage target data that is the target data; and (3) the entire data of the forward storage target data that is the storage target data acquired at a time before the reference storage target data. Forward whole data holding means for holding, (4) difference data generation for generating difference data between the whole data saved by the reference whole data saving means and the whole data held by the front whole data holding means And (5) functioning as difference data storage means for storing difference data generated by the difference data generation means.
第3の本発明のデータ保存方法は、(1)複数の異なる時刻ごとに、保存対象データを取得して保存するデータ保存システムにおけるデータ保存方法において、(2)基準全体データ保存手段、前方全体データ保持手段、差分データ生成手段、差分データ保存手段を有し、(3)上記基準全体データ保存手段は、任意の時刻に取得した保存対象データである基準保存対象データの全体データを保存し、(4)上記前方全体データ保持手段は、上記基準保存対象データよりも前の時刻で取得した保存対象データである前方保存対象データの全体データを保持し、(5)上記差分データ生成手段は、上記基準全体データ保存手段が保存している全体データと、上記前方全体データ保持手段が保持している全体データとの差分データを生成し、(6)上記差分データ保存手段は、上記差分データ生成手段が生成した差分データを保存することを特徴とする。 The data storage method of the third aspect of the present invention is (1) a data storage method in a data storage system that acquires and stores data to be stored at a plurality of different times, and (2) reference whole data storage means, A data holding unit, a difference data generation unit, and a difference data storage unit; (3) the reference entire data storage unit stores the entire data of the reference storage target data that is the storage target data acquired at an arbitrary time; (4) The front whole data holding unit holds whole data of the front storage target data that is the storage target data acquired at a time before the reference storage target data, and (5) the difference data generation unit includes: Difference data between the whole data stored by the reference whole data storage unit and the whole data held by the front whole data storage unit is generated, (6 The difference data storage means, characterized by storing the difference data the differential data generating means has generated.
第4の本発明の監視装置は、(1)1又は複数のノードから、上記ノードの監視に関するデータを収集して、上記ノードの監視を行う監視装置において、(2)上記ノードから収集したデータを、第1の本発明のデータ保存システムを用いて保存することを特徴とする。 A monitoring apparatus according to a fourth aspect of the present invention is (1) a monitoring apparatus that collects data related to monitoring of the node from one or a plurality of nodes and monitors the node. (2) data collected from the node Is stored using the data storage system of the first aspect of the present invention.
本発明によれば、保存しているデータの操作に必要なリソースを低減することができる。 According to the present invention, resources necessary for operating stored data can be reduced.
(A)主たる実施形態
以下、本発明によるデータ保存システム、プログラム及び方法、並びに、監視装置の一実施形態を、図面を参照しながら詳述する。なお、この実施形態の監視装置は、1又は複数のノードから監視に係るデータを収集し保存するものであって、この実施形態のデータ保存システムを適用したものである。
(A) Main Embodiment Hereinafter, an embodiment of a data storage system, program and method, and monitoring apparatus according to the present invention will be described in detail with reference to the drawings. Note that the monitoring device of this embodiment collects and stores data related to monitoring from one or a plurality of nodes, and applies the data storage system of this embodiment.
(A−1)実施形態の構成
図1は、この実施形態のデータ保存システム1の機能的構成を示すブロック図である。
(A-1) Configuration of Embodiment FIG. 1 is a block diagram showing a functional configuration of a
図1では、データ保存システム1は、3つのデータ収集対象2(2−1〜2−3)からそれぞれデータを収集して、各時刻のバージョンのデータを保存し、クライアント3から要求があると、その要求に応じたデータを保存しているデータから抽出して、クライアント3に返答するものである。なお、図1においては、データ収集対象2は、3つ配置されているが、単数であっても良く、その数は限定されないものである。
In FIG. 1, the
データ収集対象2は、データ保存システム1が収集する対象のデータを記憶しているものであり、例えば、ネットワークノードに格納されているMIBのデータベースや、データベースサーバに搭載された記憶装置などが挙げられる。データ収集対象2は、コンピュータ上のデータや、データを格納したファイルなどであっても良く限定されないものであるが、この実施形態では、例として、データ収集対象2は、ネットワークノードに搭載されているMIBデータのデータベースであり、データ保存システム1は、それぞれ異なるネットワークノードのステータス情報(以下、「status情報」という)を収集して保存するものとして説明する。なお、データ保存システム1は、一つのノードから複数のデータ(MIBデータ)を収集するようにしても良いが、この実施形態においては、全てのノードについてstatus情報のみを収集するものとして説明する。status情報としては、例えば、ACT(当該ネットワークノードが活動状態であることを表す)、BUSY(当該ネットワークノードがビジー状態であることを表す)などの情報が収集されるものとする。
The
データ保存システム1は、データ収集対象2(2−1〜2−3)から収集対象のデータを収集し、収集した時刻ごとにバージョン管理して保存する。そして、データ保存システム1は、任意のバージョンのデータを検索して、検出したデータを出力する。データ保存システム1による検出したデータの出力は、ディスプレイ等の表示装置に表示出力させたり、プリンタ等の印刷装置に印刷出力させたり、ディスク装置等の記憶装置に記憶させたりしてもよく、その出力する方式は限定されないものであるが、この実施形態においては、データ保存システム1は、クライアント3からの要求に応じて、任意の時刻(バージョン)のデータを検索し、検出したデータをクライアント3に返答するものとする。
The
また、この実施形態において、データ保存システム1は、クライアント3からの要求に応じたタイミングで、データ収集対象2からデータを収集するものとして説明するが、定期的にデータ収集するようにしても良いし、ユーザが直接データ保存システム1を操作するようにしても良いし、ランダムに設定されたタイミングでデータ収集するようにしても良く、データ保存システム1において、データ収集対象2からデータ収集するタイミングは限定されないものである。
In this embodiment, the
従来のデータを保存するシステムでは、まず最初にデータ収集対象からデータを収集すると、全てのデータ収集対象のデータを収集して、その全体のデータ(以下、「フルデータ」という)保存し、次の時点でデータ収集対象からデータを収集すると、保存しているフルデータとの差分だけを抽出して保存する。一方、この実施形態のデータ保存システム1では、従来のシステムとは逆に、最新の時刻に収集したバージョンについてフルデータ(全てのデータ収集対象2−1〜2−3から同時期に収集したデータ全体)を保存し、それより前の時刻のバージョンについては、最新のバージョンのフルデータを基準とした差分を保持している。データ保存システム1において上述のような最新のフルデータを基準とした差分のデータを生成する方法としては、例えば、一つ前のバージョンのフルデータについて既に保持している状態で、最新のバージョンのフルデータを収集した場合に、2つのフルデータの差分を抽出するようにしても良い。そして、データ保存システム1は、その抽出した差分を保存することを繰り返すことにより、データを収集した時刻(バージョン)ごとのデータを保存する。
In a conventional data storage system, when data is first collected from the data collection target, all the data collection target data is collected, the entire data (hereinafter referred to as “full data”) is stored, and then If data is collected from the data collection target at the point of time, only the difference from the saved full data is extracted and saved. On the other hand, in the
このように、データ保存システム1は、データ収集対象から収集したデータについて、時刻(バージョン)ごとのデータ保存を行い、さらに、所望の時刻(バージョン)のデータを検索して抽出するものである。
In this way, the
クライアント3は、データ保存システム1を操作するクライアント装置であり、例えば、データ保存システム1に対するデータ収集指示や、データ保存システム1に対する過去バージョンのデータ検索要求や、データ保存システム1に対する過去バージョンのデータの削除指示などを行うものである。
The
次に、データ保存システム1の各構成要素の詳細について説明する。
Next, details of each component of the
データ保存システム1は、データ収集部11、一時記憶部12、今回データ格納部13、差分抽出部14、データベース15、過去バージョンデータ検索部16、前回データ削除部17を有している。データ保存システム1は、例えば、パソコンなどの情報処理装置(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)上に、実施形態のデータ保存プログラム(固定データを含む)をインストールすることにより、構築してもよく、機能的には図1のように表すことができる。
The
データ収集部11は、データ収集対象2−1〜2−3からデータ収集対象となるデータを読込む手段である。データ収集部11が、データ収集対象2−1〜2−3から、収集対象のデータを読み込む手段としては、有線又は無線のネットワークを介して接続しても良いし、直接有線又は無線のインタフェースにより接続しても良い。また、例えば、DAT(Digital Audio Tape)やCDなどの記録媒体によってオフラインでデータを読み込むようにしても良く、データを読み込む方法は限定されないものである。
The
データ収集部11は、データ収集対象2からのデータ収集を行い、収集したデータを一旦、一時記憶部12に保持する。また、データ収集部11は、データ収集対象2−1〜2−3からデータ収集をしたタイミングごとに、データベース15における、バージョン番号登録部151のversion_countカラムの値を1加算して更新する。また、データ収集部11は、クライアント3からの操作に応じて、データ収集対象2からデータを収集するようにしても良い。
The
差分抽出部14は、一時記憶部12に保持されている最新の収集データと、今回データ格納部13に保持されている前回収集されたデータとの差分を抽出し、その結果をデータベース15(差分データ管理テーブル153)に追加する。
The
前回データ削除部17は、前回収集したデータをデータ削除するものである。前回データ削除部17は、差分抽出部14において差分の抽出処理が終了すると、フルデータテーブル152に格納されている前回収集したデータの一括削除を行う。
The previous
今回データ格納部13は、前回データ削除部17により、フルデータテーブル152に格納されている前回収集したデータの削除が完了すると、一時記憶部12に保持されている最新のフルデータを、フルデータテーブル152に保存する。なお、今回データ格納部13に格納されるデータの形式は、後述するフルデータテーブル152の内容と同様の形式である。
When the previous
過去バージョンデータ検索部16は、クライアント3から、過去バージョンのデータ検索要求があった際に、データベース15内のデータを検索し、クライアント3から要求のあったデータが検出された場合には、そのデータを、クライアント3に返答する。また、クライアント3から過去バージョンのデータ削除指示があった場合に、にデータベース15内のテーブル内を検索し、削除対象のバージョン管理情報を削除するようにしても良い。
The past version data search
一時記憶部12は、データ収集部11が収集した最新のフルデータを、一時的に保存する記憶手段である。
The
データベース15は、データ保存システム1において、収集したデータ及び、収集したデータを管理するデータベースであり、バージョン番号登録部151、フルデータテーブル152、差分データ管理テーブル153を有している。
The
図2は、バージョン番号登録部151に保存する内容の例について示した説明図である。
FIG. 2 is an explanatory diagram showing an example of contents stored in the version
バージョン番号登録部151は、データベース15における、バージョン番号テーブルである。バージョン番号登録部151は、例えば、図1に示すような形式のデータを格納する欄(以下、「カラム」という)を持つ。
The version
バージョン番号登録部151は、図1に示すようにversion_countというカラムを有している。version_countは、データ収集部11がデータ収集対象2−1〜2−3からデータを収集するたびに1ずつ加算される変数である。また、version_countは、データ保存システム1のシステム起動時のデフォルト値は「0」であるものとして説明する。このようにして、バージョン番号登録部151により、例えば、最新のバージョンのデータが何番目のバージョンであるかなどを管理している。
The version
図3は、フルデータテーブル152に保存する内容について示した説明図である。 FIG. 3 is an explanatory diagram showing the contents stored in the full data table 152.
フルデータテーブル152は、データベース15における、フルデータを管理するためのテーブルである。フルデータテーブル152は、図3に示すようにname、date、statusという3つのカラムを有するデータを記憶するものである。なお、この実施形態では、データベース15は、データ収集対象2−1〜2−3から収集した情報を、データ収集対象2ごとに保存するものとして説明する。
The full data table 152 is a table for managing full data in the
「name」カラムは、保存するデータを識別する識別子であり、フルデータテーブル152内でユニークな内容が設定されるものである。 The “name” column is an identifier for identifying data to be stored, and is set with unique contents in the full data table 152.
nameカラムに設定される内容は、上述の通りフルデータテーブル152内でユニークな内容であれば、データ収集対象2−1〜2−3に係るノードのノード名(例えば、ホスト名など)や、ランダムな内容や、連続する番号など、設定する内容は限定されないものである。 If the content set in the name column is unique in the full data table 152 as described above, the node names (for example, host names) of the nodes related to the data collection targets 2-1 to 2-3, The contents to be set such as random contents and consecutive numbers are not limited.
「status」カラムは、「name」カラムに対応するデータ収集対象2から取得したstatus情報を格納するカラムである。この実施形態においては、説明を簡易にするために、各データ収集対象2から収集するデータはstatusのみであるものとして説明するが、上述の通り複数のデータを格納しても良いし、収集したデータがデータを格納したファイルである場合には、当該ファイルをフルデータテーブル152にリンク(例えば、ファイルを別の記憶領域に格納し、フルデータテーブル152においてその格納場所を明示する)させるようにしても良く、データ収集対象2から収集するデータの内容は限定されないものである。「status」カラムには、上述の通り、例えば「ACT」や「BUSY」などの情報が格納されるものとする。
The “status” column is a column for storing status information acquired from the
「date」カラムは、「status」カラムに格納する情報を取得した時刻の情報を格納するカラムである。 The “date” column is a column for storing information on the time when the information stored in the “status” column is acquired.
図4は、差分データ管理テーブル153に保存する内容について示した説明図である。 FIG. 4 is an explanatory diagram showing contents stored in the difference data management table 153.
差分データ管理テーブル153は、データベース15において、フルデータテーブル152との差分のデータをバージョンごとに管理するテーブルである。
The difference data management table 153 is a table for managing the difference data from the full data table 152 for each version in the
差分データ管理テーブル153には、前回収集時に収集したフルデータと比較して、追加されたデータ(以下、「追加データ」という)、削除されたデータ(以下「削除データ」という)、更新されたデータ(以下「更新データ」という)が記憶される。 In the differential data management table 153, compared with the full data collected at the previous collection, added data (hereinafter referred to as “additional data”), deleted data (hereinafter referred to as “deletion data”), and updated. Data (hereinafter referred to as “update data”) is stored.
追加データは、前回データ収集時と比較して、新しく追加されたデータが収集された場合に発生するものである。この実施形態では、例えば、データ収集対象2が追加された場合に追加データが発生する。
The additional data is generated when newly added data is collected as compared to the previous data collection time. In this embodiment, for example, additional data is generated when the
削除データは、前回データ収集時と比較して、削除されたデータがあった場合に発生するものである。この実施形態では、例えば、収集対象からはずされた(削除された)データ収集対象2があった場合に発生する。
Deleted data is generated when there is deleted data compared to the previous data collection. In this embodiment, for example, this occurs when there is a
更新データは、前回データ収集時と比較して、更新されたデータがあった場合に発生するものである。この実施形態では、例えば、同じデータ収集対象2について収集したデータが前回収集時と異なっていた場合に発生する。
The update data is generated when there is updated data as compared to the previous data collection time. In this embodiment, for example, this occurs when the data collected for the same
差分データ管理テーブル153は、図4に示すようにname、date、status、add、del、updateという6つのカラムを有するものとして説明する。 The difference data management table 153 will be described as having six columns of name, date, status, add, del, and update as shown in FIG.
name、date、statusについては、上述のフルデータテーブル152のものとほぼ同様のものであるので詳しい説明を省略する。 Since name, date, and status are substantially the same as those of the above-described full data table 152, detailed description thereof is omitted.
「add」カラムは、当該データが追加データであるか否か、及び、追加データであればどの時刻(バージョン)で追加されたかを示すものである。追加データでない場合(すなわち、削除、又は、更新データである場合)には、addカラムには「NULL」が格納され、追加データである場合には、追加される直前のバージョンの番号(すなわち、version_count−1)の値が格納される。また、この実施形態では、差分データ管理テーブル153において、追加データのstatus及びdateには「NULL」が入力されるものとする。 The “add” column indicates whether or not the data is additional data and at what time (version) the data is added. If it is not additional data (that is, if it is deletion or update data), “NULL” is stored in the add column, and if it is additional data, the number of the version immediately before being added (that is, The value of version_count-1) is stored. In this embodiment, “NULL” is input to the status and date of the additional data in the difference data management table 153.
「del」カラムは、当該データが削除データであるか否か、及び、削除データであれば、どの時刻(バージョン)で削除されたかを示すものである。削除データでない場合(すなわち、追加、又は、更新データである場合)には、delカラムには「NULL」が格納され、削除データである場合には、削除される直前のバージョンの番号(すなわち、version_count−1)の値が格納される。また、statusカラムには、削除される直前のstatusカラムのデータが格納されるものとする。 The “del” column indicates whether or not the data is deleted data, and if it is deleted data, the time (version) at which the data was deleted. If it is not deleted data (that is, if it is addition or update data), “NULL” is stored in the del column, and if it is deleted data, the version number immediately before deletion (that is, The value of version_count-1) is stored. In the status column, data in the status column immediately before deletion is stored.
「update」カラムは、当該データが更新データであるか否か、及び、更新データであれば、どの時刻(バージョン)で更新されたかを示すものである。更新データでない場合(すなわち、追加、又は、削除データである場合)には、updateカラムには「NULL」が格納され、更新データである場合には、更新される直前のバージョンの番号(すなわち、version_count−1)の値が格納される。更新データである場合には、statusカラムには、更新される直前のstatusカラムのデータが格納されるものとする。 The “update” column indicates whether or not the data is update data, and if it is update data, at which time (version) it was updated. When it is not update data (that is, when it is addition or deletion data), “NULL” is stored in the update column, and when it is update data, the number of the version immediately before being updated (that is, when it is update data) The value of version_count-1) is stored. In the case of update data, the status column stores data in the status column immediately before being updated.
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態のデータ保存システムの動作(実施形態のデータ保存方法)を説明する。
(A-2) Operation of Embodiment Next, the operation of the data storage system of this embodiment having the above-described configuration (data storage method of the embodiment) will be described.
(A−2−2)差分データ抽出
まず、データ保存システム1において、データ収集対象2からデータを収集し、前回収集したデータと、今回収集したデータとの差分データ生成し、差分データ管理テーブル153に保存する動作について説明する。
(A-2-2) Differential Data Extraction First, in the
図5は、データ保存システム1において、差分データのうち、削除データ及び更新データについて生成して保存する動作について示したフローチャートである。
FIG. 5 is a flowchart showing an operation of generating and storing deletion data and update data among the difference data in the
まず、データ保存システム1においてシステム起動があったものとする(S101)。
First, it is assumed that the
次に、クライアント3からデータ保存システム1に、データ収集の要求が通知されると、データ保存システム1では、データ収集部11により、データ収集対象2−1〜2−3から、収集対象のデータが収集され、一時記憶部12に保持される(S102)。
Next, when a data collection request is notified from the
次に、データ保存システム1では、バージョン番号登録部151のversion_countの値に1が加算される(S103)。
Next, in the
次に、バージョン番号登録部151のversion_countの値が、1であるか否か、すなわち、データ保存システム1において、最初のデータ収集かどうかが判定され、version_count=1であれば、後述するステップS107から動作し、version_count=1でなければ、後述するステップS105の処理から動作する(S104)。
Next, it is determined whether or not the version_count value of the version
上述のS104において、version_count=1でないと判定された場合には、データ保存システム1では、フルデータテーブル152に保持している前回収集分のデータと一時記憶部12に保持している今回収集分のデータの差分データが抽出され、差分データ管理テーブル153に格納する処理が行われる(S105)。なお、上述のS105における処理の詳細については後述する。
If it is determined in S <b> 104 that version_count = 1 is not satisfied, the
次に、データ保存システム1では、フルデータテーブル152に保持されている前回収集分のデータが削除される(S106)。
Next, in the
上述のステップS104でversion_count=1と判定された場合、又は、上述のステップS106で前回収集分のデータが削除処理された場合には、データ保存システム1では、フルデータテーブル152に一時記憶部12が保持している今回収集分のデータが保持される。
If it is determined that version_count = 1 in step S104 described above, or if data collected last time is deleted in step S106 described above, the
そして、データ保存システム1はスリープ状態に移行し、次回のデータ収集指示がクライアント3からあると、上述のステップS102から再度動作する(S108)。
Then, the
次に、上述のステップS105における、差分データ抽出の動作の詳細について説明する。データ保存システム1において、差分データ抽出は削除および更新データの動作と、追加データ動作で内容が異なるため、この実施形態においては、まず、削除及び更新データを抽出する動作について説明し、その後に追加データを抽出する動作について説明する。なお、データ保存システム1において、削除データ、更新データ、追加データを抽出する順番は限定されないものである。
Next, the details of the differential data extraction operation in step S105 described above will be described. In the
図6は、データ保存システム1において差分データのうち、削除及び更新データを生成して保存する動作について示したフローチャートである。
FIG. 6 is a flowchart showing an operation of generating and storing deletion and update data among the difference data in the
まず、差分抽出部14では、差分データ抽出の処理が開始されると(S201)、フルデータテーブル152に格納されている前回収集分のデータが取得される(S202)。
First, when the differential data extraction process is started (S201), the
次に、差分抽出部14では、取得した前回収集分のデータからnameカラムに格納されているデータが1件取り出される(S203)。
Next, the
次に、上述のステップS203において取り出されたデータと一致するものが、一時記憶部12に保持されている今回収集分のデータに存在するか否かが判定され(S204)、該当するデータが存在すると判定された場合には、後述するステップS206から動作し、該当するデータが存在しないと判定された場合には後述するステップS205から動作する。 Next, it is determined whether or not data that matches the data extracted in step S203 described above exists in the data for the current collection held in the temporary storage unit 12 (S204), and the corresponding data exists. If it is determined, the operation starts from step S206 described later. If it is determined that the corresponding data does not exist, the operation starts from step S205 described later.
上述のステップS204において、該当するデータが存在しないと判定された場合には、上述のステップS203で取り出されたデータは、前回データ収集した時刻かから、今回データ収集した時刻の間に削除されたデータであるため、削除データが作成されて、差分データ管理テーブル153に格納される(S205)。なお、ステップS205における、削除データ作成の動作の詳細については後述する。 If it is determined in step S204 that there is no corresponding data, the data retrieved in step S203 is deleted between the time when the data was collected from the time when the data was collected last time. Since it is data, deletion data is created and stored in the difference data management table 153 (S205). Details of the deletion data creation operation in step S205 will be described later.
一方、上述のステップS204において、該当するデータが存在すると判定された場合には、上述のステップS203で取り出されたデータと、上述のステップS204において検出されたデータとの間で、nameカラム、dateカラム、Statusカラムの全てについて内容が一致するか否か判定される(S206)。ステップS206において、2つのデータでnameカラム、dateカラム、Statusカラムの全ての内容が一致する場合には、前回データ収集した時刻と、今回データ収集した時刻との間で、当該データは更新されていないことを示し、後述するステップS208から動作し、いずれかの内容が一致しない場合は更新されたことを示し、後述するステップS207から動作する。 On the other hand, if it is determined in step S204 that the corresponding data exists, the name column, date between the data extracted in step S203 described above and the data detected in step S204 described above. It is determined whether or not the contents of all the columns and the Status column match (S206). In step S206, if all the contents of the name column, date column, and status column match in the two data, the data has been updated between the time when the previous data was collected and the time when the data was collected this time. This indicates that the content has not been updated, and if any of the contents do not match, it indicates that the content has been updated, and the operation starts from step S207 described later.
上述のステップS206において、前回データ収集した時刻と、今回データ収集した時刻との間で、当該データが更新されたと判定された場合には、上述のステップS203で取り出されたデータについて、更新データが作成され、差分データ管理テーブル153に格納される(S207)。なお、ステップS207において、更新データが作成され、差分データ管理テーブル153に格納される動作の詳細については後述する。 In the above-described step S206, when it is determined that the data has been updated between the time when the previous data was collected and the time when the data was collected this time, the update data is stored for the data extracted in the above-described step S203. Created and stored in the difference data management table 153 (S207). Details of the operation in which update data is created in step S207 and stored in the difference data management table 153 will be described later.
上述のステップS205〜207のいずれかの処理が終了すると、上述のステップS202において取得されたデータの全てについて、上述のステップS204又はS206の判定が行われたか否かを判定され、S204、S206の判定が行われていないデータがある場合は、上述のステップS203の処理から再度動作する(S208)。 When one of the processes in steps S205 to 207 is completed, it is determined whether or not the determination in step S204 or S206 is performed for all the data acquired in step S202. If there is data that has not been determined, the operation starts again from the above-described step S203 (S208).
そして、上述のステップS208の判定において、すべてのデータについてS204、S206の判定が行われたと判定された場合には、削除および更新データの抽出処理が終了する(S209)。 When it is determined in step S208 described above that the determinations in S204 and S206 have been made for all data, the deletion and update data extraction processing ends (S209).
図7は、データ保存システム1において差分データのうち、追加データを生成して保存する動作について示したフローチャートである。
FIG. 7 is a flowchart illustrating an operation of generating and storing additional data among the difference data in the
差分抽出部14では、上述の図6に示す処理により、削除及び更新データの抽出の動作が終了すると、差分データのうち、追加データの抽出の動作が開始される(S301)。
In the
そして、差分抽出部14では、フルデータテーブル152に格納されている前回収集分のデータが取得される(S302)。
And the
次に、差分抽出部14では、一時記憶部12に格納されている今回収集分のデータからnameカラムに格納されているデータが1件取り出される(S303)。
Next, the
次に、上述のステップS303において取り出されたデータと一致するものが、上述のステップS302で取得した前回集分のデータに存在するか否かが判定され(S304)、該当するデータが存在すると判定された場合には、後述するステップS306から動作し、該当するデータが存在しないと判定された場合には後述するステップS305から動作する。 Next, it is determined whether there is data that matches the data extracted in step S303 described above in the previous collection data acquired in step S302 (S304), and it is determined that the corresponding data exists. If it is determined, the operation starts from step S306 described later. If it is determined that the corresponding data does not exist, the operation starts from step S305 described later.
上述のステップS304において、該当するデータが存在しないと判定された場合には、上述のステップS303で取り出されたデータは、前回データ収集した時刻かから、今回データ収集した時刻の間に追加されたデータであるため、追加データが作成され、差分データ管理テーブル153に格納される(S305)。なお、ステップS305における、追加データが作成され、差分データ管理テーブル153に格納される動作の詳細については後述する。 If it is determined in step S304 that there is no corresponding data, the data extracted in step S303 is added between the time when the data was collected this time and the time when the data was collected this time. Since it is data, additional data is created and stored in the difference data management table 153 (S305). The details of the operation in step S305 where additional data is created and stored in the difference data management table 153 will be described later.
上述のステップS304において、該当するデータが存在すると判定された場合、又は、上述のステップS305の処理が終了すると、上述のステップS303において取得された今回収集分のデータの全てについて、上述のステップS304の判定が行われたか否かを判定され、ステップS304の判定が行われていないデータがある場合は、上述のステップS303の処理から再度動作する(S306)。 When it is determined in step S304 described above that the corresponding data exists, or when the processing in step S305 described above ends, all of the data for the current collection acquired in step S303 described above is stored in step S304 described above. If there is data for which the determination in step S304 has not been performed and the determination in step S304 has not been performed, the operation starts again from step S303 described above (S306).
そして、上述のステップS306の判定において、すべてのデータについてS304の判定が行われたと判定された場合には、差分データのうち追加データの抽出処理が終了し(S307)、削除データ、更新データ、追加データの全てについて抽出の処理が完了する。 If it is determined in step S306 described above that the determination in step S304 has been performed for all data, the additional data extraction process of the difference data ends (S307), and the deletion data, update data, The extraction process is completed for all the additional data.
次に、上述のステップS205における、削除データの格納の動作について説明する。 Next, the deletion data storing operation in step S205 described above will be described.
図8は、差分抽出部14により削除データを生成され保存される動作について説明したフローチャートである。
FIG. 8 is a flowchart illustrating an operation in which deletion data is generated and stored by the
まず、上述のステップS205において、削除データの差分データ管理テーブル153への格納処理が開始されると(S401)、上述のステップS203により取り出されたデータ(前回収集分のデータの一部)について、差分データ管理テーブル153にエントリが追加され、該当するnameカラム、dateカラム、Statusカラムの内容が入力される(S402)。 First, in the above-described step S205, when the deletion data storage process in the difference data management table 153 is started (S401), the data extracted in the above-described step S203 (part of the previously collected data) An entry is added to the difference data management table 153, and the contents of the corresponding name column, date column, and status column are input (S402).
上述のステップS402で、差分データ管理テーブル153に追加されたエントリのdelカラムに前回収集分のデータのバージョン番号すなわち、バージョン番号登録部151のversion_countカラムの値から1を減算した数値が格納される(S403)。
In step S402 described above, the version number of the data collected last time, that is, the value obtained by subtracting 1 from the value in the version_count column of the version
そして、上述のステップS402で、差分データ管理テーブル153に追加されたエントリの、addカラムとupdateカラムには「null」が格納され(S404)、削除データ格納の動作は終了する(S405)。 Then, “null” is stored in the add column and the update column of the entry added to the differential data management table 153 in step S402 described above (S404), and the operation of storing the deleted data ends (S405).
次に、上述のステップS207における、更新データの格納の動作について説明する。 Next, the update data storage operation in step S207 will be described.
図9は、差分抽出部14による更新データの生成及び保存の動作について示したフローチャートである。
FIG. 9 is a flowchart showing the operation of generating and storing update data by the
まず、上述のステップS207において、更新データの差分データ管理テーブル153への格納処理が開始されると(S501)、上述のステップS203により取り出されたデータについて、差分データ管理テーブル153にエントリが追加され、該当するnameカラム、dateカラム、Statusカラムの内容が入力される(S502)。 First, when storage processing of update data in the difference data management table 153 is started in step S207 described above (S501), an entry is added to the difference data management table 153 for the data extracted in step S203 described above. The contents of the corresponding name column, date column, and Status column are input (S502).
上述のステップS502で、差分データ管理テーブル153に追加されたエントリのupdateカラムに前回収集分のデータのバージョン番号すなわち、バージョン番号登録部151のversion_countカラムの値から1を減算した数値が格納される(S503)。
In step S502 described above, the update column of the entry added to the difference data management table 153 stores the version number of the previously collected data, that is, a value obtained by subtracting 1 from the value of the version_count column of the version
そして、上述のステップS502で、差分データ管理テーブル153に追加されたエントリの、addカラムとdelカラムには「null」が格納され(S504)、更新データ格納の動作は終了する(S505)。 In step S502, “null” is stored in the add column and del column of the entry added to the difference data management table 153 (S504), and the update data storage operation ends (S505).
追加データの差分データ管理テーブル153への追加手順を図7に示し、以下に図7の手順の詳細説明を示す。 A procedure for adding additional data to the difference data management table 153 is shown in FIG. 7, and a detailed description of the procedure in FIG. 7 is given below.
図10は、差分抽出部14による追加データの保存及び格納の動作について説明したフローチャートである。
FIG. 10 is a flowchart illustrating the operation of saving and storing additional data by the
まず、上述のステップS305において、追加データの差分データ管理テーブル153への格納処理が開始されると(S601)、差分データ管理テーブル153にnameカラム、dateカラム、Statusカラムにnullを格納したエントリが追加される(S602)。 First, in the above-described step S305, when the storage process of additional data to the differential data management table 153 is started (S601), an entry storing null in the name column, the date column, and the Status column is stored in the differential data management table 153. It is added (S602).
上述のステップS602で、差分データ管理テーブル153に追加されたエントリのaddカラムに前回収集分のデータのバージョン番号すなわち、バージョン番号登録部151のversion_countカラムの値から1を減算した数値が格納される(S603)。
In step S602 described above, the add column of the entry added to the difference data management table 153 stores the version number of the previously collected data, that is, a value obtained by subtracting 1 from the value of the version_count column of the version
そして、上述のステップS602で、差分データ管理テーブル153に追加されたエントリの、updateカラムとdelカラムには「null」が格納され(S604)、追加データ格納の動作は終了する(S605)。 In step S602 described above, “null” is stored in the update column and the del column of the entry added to the difference data management table 153 (S604), and the operation of storing additional data ends (S605).
以上のように、この実施形態のデータ保存システム1にでは、データ収集及び差分データ抽出を行なう。このような手順によりフルデータテーブル152には常に最新のバージョンのデータのみが保持され、差分データ管理テーブル153にはバージョン間の差分データが前回収集分のバージョン番号とともに管理されるため、バージョンごとにフルデータを保存しなくてもよい構成となる。
As described above, the
(A−2−2)差分データ抽出の具体例
次に、データ保存システム1の、データベース15において、フルデータ及び差分データが具体的にどのように、フルデータテーブル152、及び、差分データ管理テーブル153に格納されるのかについて説明する。
(A-2-2) Specific Example of Differential Data Extraction Next, in the
図15は、フルデータテーブル152に格納されるデータの説明図である。 FIG. 15 is an explanatory diagram of data stored in the full data table 152.
図15(a)は、1回目にデータ収集した時刻(version_count=1の時点)においてフルデータテーブル152に格納されるデータの例について示した説明図である。図15(b)は、2回目にデータ収集した時刻(version_count=2の時点)においてフルデータテーブル152に格納されるデータの例について示した説明図である。図15(c)は、3回目にデータ収集した時刻(version_count=3の時点)においてフルデータテーブル152に格納されるデータの例について示した説明図である。 FIG. 15A is an explanatory diagram showing an example of data stored in the full data table 152 at the time when data is collected for the first time (version_count = 1). FIG. 15B is an explanatory diagram showing an example of data stored in the full data table 152 at the time when data was collected for the second time (version_count = 2). FIG. 15C is an explanatory diagram showing an example of data stored in the full data table 152 at the time when data was collected for the third time (version_count = 3).
図16は、差分データ管理テーブル153に格納されるデータの説明図である。図16(a)は、2回目にデータ収集した時刻(version_count=2の時点)において差分データ管理テーブル153に格納されるデータの例について示した説明図である。図16(b)は、3回目にデータ収集した時刻(version_count=3の時点)において差分データ管理テーブル153に格納されるデータの例について示した説明図である。 FIG. 16 is an explanatory diagram of data stored in the difference data management table 153. FIG. 16A is an explanatory diagram showing an example of data stored in the differential data management table 153 at the time when data is collected for the second time (version_count = 2). FIG. 16B is an explanatory diagram showing an example of data stored in the difference data management table 153 at the time when data is collected for the third time (version_count = 3).
なお、図15及び16において、データ収集対象2−1、2−2、2−3に対応するnameカラムに設定する内容は、それぞれ「ノードA」、「ノードB」、「ノードC」であるものとして説明する。 15 and 16, the contents set in the name column corresponding to the data collection targets 2-1, 2-2, and 2-3 are “node A”, “node B”, and “node C”, respectively. It will be explained as a thing.
2回目にデータ収集した時刻(version_count=2の時点)では、図15(a)の内容がフルデータテーブル152に格納され、図15(b)の内容が一時記憶部12に格納されたものとすると、上述の図5〜図10のフローチャートに示す動作により、図16(a)の内容が作成され、差分データ管理テーブル153に格納される。この時点では、ノードA及びノードBのデータが更新されているため、L221及びL222のデータが更新データとして追加格納されている。
At the time when data is collected for the second time (when version_count = 2), the contents of FIG. 15A are stored in the full data table 152, and the contents of FIG. 15B are stored in the
次に、3回目にデータ収集した時刻(version_count=3の時点)で、図15(b)の内容がフルデータテーブル152に格納され、図15(c)の内容が一時記憶部12に格納されたものとすると、上述の図5〜図10のフローチャートに示す動作により差分データが追加され、図16(b)の内容が、差分データ管理テーブル153に格納される。この時点では、ノードB及びノードCのデータが更新されているため、L231及びL232のデータが更新データとして追加格納されている。
Next, at the time when data is collected for the third time (when version_count = 3), the content of FIG. 15B is stored in the full data table 152 and the content of FIG. 15C is stored in the
(A−2−3)任意のデータの検索
次に、データ保存システム1において過去のバージョンのデータの検索をする動作について説明する。
(A-2-3) Search for Arbitrary Data Next, an operation for searching for past versions of data in the
図11〜図13は、データ保存システム1においてデータ保存システム1における過去のバージョンのデータの検索する動作について示したフローチャートである。
FIGS. 11 to 13 are flowcharts showing an operation of searching for past versions of data in the
図11〜図13では、データ収集システムが起動中で現在のバージョン番号登録部151のversion_countがmであるとき、すなわち過去にデータ収集した回数がm回であるときに、クライアント3から、VerSion_countがn(m>nであること)の時点におけるnameが「A」である過去のデータを検索する要求があったものとする。
In FIG. 11 to FIG. 13, when the data collection system is activated and the version_count of the current version
過去バージョンデータ検索部16において、version_countがnの時点におけるnameがAのデータの検索が開始されると(S701)、まず、差分データ管理テーブル153において、name=Aかつdelカラムの値(以下、「del_num」という)がn以上m以下のデータのエントリの中で、delカラムのdel_numが最小であるエントリ(以下、「del_entry」という)が検索される(S702)。
When the past version data search
過去バージョンデータ検索部16では、上述のS702において、該当するdel_entryが検出されたか否かの判定が行われ(S703)、該当するdel_entryが検出された場合には、後述するステップS704の処理から動作し、del_entryが検出されなかった場合には、後述するS705の処理から動作する。
The past version data search
上述のステップS703において、該当するdel_entryが検出されなかったと判定された場合には、変数Xにバージョン番号mが代入され(S705)、後述するステップS706の処理から動作する。 If it is determined in step S703 described above that the corresponding del_entry has not been detected, the version number m is substituted for the variable X (S705), and the operation starts from step S706 described below.
上述のステップS703において、該当するdel_entryが検出されたと判定された場合には、変数Xにdel_entryのdelカラムの値が代入され(S704)、後述のステップS706の処理から動作する。なお、上述のステップS704において、該当するdel_entryが検出されたということは、現在のバージョンのデータに検索対象のname=Aのデータ持っていた場合、検索結果で得られるname=Aのデータは現在のバージョンのデータとは異なる系統であることになる。この実施形態では、検索結果のデータの系列が現在のバージョンのデータと異なる系列のデータであっても過去の系列のデータを返すことができる検索を実行する処理を後述するS706以降において説明する。 If it is determined in step S703 described above that the corresponding del_entry has been detected, the value of the del_entry del column is substituted for the variable X (S704), and the operation starts from step S706 described below. Note that in step S704 described above, the corresponding del_entry has been detected. If the current version of the data has the search target name = A, the data of name = A obtained as the search result is currently This is a different system from the version of the data. In this embodiment, a process for executing a search that can return a past series of data even if the series of data of the search result is a series of data different from the current version data will be described in S706 and later.
上述のステップS704又はS705の処理の後、差分データ管理テーブル153より、name=“A”で、かつ、addカラムの値(以下、「add_num」という)がn以上X以下のデータのエントリ(以下、「add_entry」という)が検索される(S706)。 After the process of step S704 or S705 described above, from the difference data management table 153, an entry of data (hereinafter referred to as “add_num”) in which name = “A” and the value of the add column (hereinafter referred to as “add_num”) is n or more and X or less. , “Add_entry”) is searched (S706).
そして、上述のステップS706において、該当するadd_entryが検出されたか否かの判定が行われ(S707)、該当するadd_entryが検出された場合には、後述するステップS708の処理から動作し、検出されなかった場合には、後述するステップS801(図12参照)の処理から動作する。 Then, in the above-described step S706, it is determined whether or not the corresponding add_entry has been detected (S707). If the corresponding add_entry is detected, the operation starts from the processing in step S708 described later and is not detected. In the case of failure, the operation starts from step S801 (see FIG. 12) described later.
上述のステップS707において、該当するadd_entryが検出された場合には、検索結果は、未登録であり、その検索結果が、クライアント3に返答され、処理が終了する(S708)。
If the corresponding add_entry is detected in step S707 described above, the search result is unregistered, the search result is returned to the
上述のステップS707において、該当するadd_entryが検出されなかった場合には、過去バージョンデータ検索部16により、差分データ管理テーブル153において、name=“A”で、かつ、updateカラムの値(以下、「update_num」という)がn以上X以下のデータのエントリの中でupdateカラムのupdate_numが最小であるエントリ(以下、「update_entry」という)が検索される(S801)。
If the corresponding add_entry is not detected in step S707 described above, the past version data search
上述のステップS801において、該当するupdate_entryが検出されたか否かが判定され(S802)、該当するupdate_entryが検出された場合には、後述するステップS803の処理から動作し、該当するupdate_entryが検出されなければ、後述するステップS901(図13参照)の処理から動作する。 In the above-described step S801, it is determined whether or not the corresponding update_entry has been detected (S802). If the corresponding update_entry is detected, the operation starts from the processing of step S803 described later, and the corresponding update_entry must not be detected. For example, the operation starts from the processing in step S901 (see FIG. 13) described later.
上述のステップS802において、該当するupdate_entryが検出されなかったと判定された場合には、update_entryのエントリデータが検索結果としてクライアント3に返答して処理が終了される(S803)。
If it is determined in step S802 above that the corresponding update_entry has not been detected, the update_entry entry data is returned to the
上述のステップS702において、該当するdel_entryが検出されたか否かが判定され(S901)、該当するdel_entryが検出されていた場合には、後述するステップS902の処理から動作し、該当するdel_entryが検出されていなかった場合には、後述するステップS903の処理から動作する。 In step S702 described above, it is determined whether or not the corresponding del_entry has been detected (S901). If the corresponding del_entry has been detected, the process proceeds from the process of step S902 described later, and the corresponding del_entry is detected. If not, the operation starts from step S903 described later.
上述のステップS901において、該当するdel_entryが検出されていたと判定された場合には、del_entryのエントリデータを検索結果としてクライアント3に返答して処理が終了される(S902)。
If it is determined in step S901 that the corresponding del_entry has been detected, the entry data of del_entry is returned to the
上述のステップS901において、該当するdel_entryが検出されていなかったと判定された場合には、過去バージョンデータ検索部16により、フルデータテーブル152において、name=”A”のエントリ(以下、「fulldata_entry」という)が検索される(S903)。
If it is determined in step S901 that the corresponding del_entry has not been detected, the past version data search
上述のステップS904において、該当するfulldata_entryが検出されたか否かが判定され(S904)、該当するfulldata_entryが検出されていた場合には、後述するステップS905の処理から動作し、該当するfulldata_entryが検出されていなかった場合には、後述するステップS906の処理から動作する。 In step S904 described above, it is determined whether or not the corresponding fulldata_entry has been detected (S904). If the corresponding fulldata_entry has been detected, the operation is performed from the processing of step S905 described later, and the corresponding fulldata_entry is detected. If not, the operation starts from step S906 described later.
上述のステップS904において、該当するfulldata_entryが検出されていたと判定された場合には、fulldata_entryのエントリデータを検索結果としてクライアント3に返答して処理が終了される(S905)。
If it is determined in step S904 described above that the corresponding fulldata_entry has been detected, the entry data of fulldata_entry is returned to the
一方、上述のステップS904において、該当するfulldata_entryが検出されていなかったと判定された場合には、検索結果は未登録としてクライアント3に返答して処理が終了される(S906)。
On the other hand, if it is determined in step S904 described above that the corresponding fulldata_entry has not been detected, the search result is returned to the
以上が、データ保存システム1における過去のバージョンのデータ検索の動作の詳細である。上述の図11〜13に示す動作により検索したい過去のバージョンのデータをフルデータとして展開してから検索対象のデータの検索を実行するような手順は必要とせずに、容易に検索を行うことが可能である。
The details of the past data search operation in the
(A−2−4)過去バージョンのデータ削除
図14は、データ保存システム1における過去のデータ(指定バージョンより古いバージョンのデータ)を削除する動作について示したフローチャートである。
(A-2-4) Past Version Data Deletion FIG. 14 is a flowchart showing an operation of deleting past data (data older than the specified version) in the
図14では、例として、現在のバージョン番号登録部151のversion_countがmであるとき、すなわち現在のバージョン番号がmであるときに、クライアント3から、version_countがn(m>nであること)より古いデータを削除する指示があったものとする。
In FIG. 14, as an example, when version_count of the current version
クライアント3から、version_countがnより古いバージョンのデータ削除の要求があると、データ保存システム1では、過去バージョンデータ検索部16により、その処理が開始される(S1001)。
When there is a request from the
そして、差分データ管理テーブル153において、addカラムの値がn以下、またはupdateカラムの値がn以下、またはdelカラムの値がn以下であるエントリがすべて一括削除され、処理が終了する(S1002)。 In the difference data management table 153, all entries whose add column value is n or less, update column value is n or less, or del column value is n or less are collectively deleted, and the process ends (S1002). .
上述のような動作により、指定バージョンより古いバージョンのデータの削除する際に、フルバックアップデータと差分情報から、指定バージョンのデータを検出して削除を実行するような手順は必要とせずに、容易に削除を行うことが可能である。 By the above-mentioned operation, when deleting data older than the specified version, it is easy without detecting the specified version of the data from the full backup data and the difference information and executing the deletion. Can be deleted.
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of Embodiment According to this embodiment, the following effects can be achieved.
データ保存システム1では、最新のバージョンのデータのみをフルデータテーブル152に保持し、差分データ管理テーブル153にバージョン間の差分データを管理することによって、バージョンごとにフルバックアップをとらなくてもよい構成が可能となり、データ保存システム1において必要となる記憶容量を低減することができる。
In the
また、データ保存システム1では、過去の任意のバージョンの任意のデータを検索する際、検索したい過去のバージョンのデータをフルデータとして展開してから検索対象のデータの検索を実行するような手順は必要とせずに、差分データ管理テーブル153内の検索のみで容易にかつ高速に過去のバージョンの対象のデータ検索が可能となるため、データの検出に必要とする処理量を低減することができる。
In the
さらに、データ保存システム1では、検索対象の任意のデータと同じ系列のデータを検索結果として取り出すか、取り出さないか、というような選択が実装方法によって可能である。
Furthermore, in the
さらにまた、データ保存システム1では、指定バージョンより古いバージョンのデータの削除する際に、フルバックアップデータと差分情報から、指定バージョンのデータを検出して削除を実行するような手順は必要とせずに、差分データ管理テーブル153内の条件一致削除のみで削除を行うことが可能となり、削除に必要とする処理量や記憶容量を低減することができる。また、これにより、バージョン管理システムに使用するマシンの維持管理も容易になる。例えば、差分データ管理テーブル153に対して1行ほどのSQL(Structured Query Language)文で指定バージョンより古いデータをすべての削除することが可能である。
Furthermore, the
このように、データ保存システム1では、保存しているデータについて、任意のバージョンのデータの検索や削除などの操作を行う場合に必要となる処理量や記憶容量などのリソースを低減することができる。これは特に、短周期で大量のデータを収集する必要がある場合には、より多くのリソースを低減することができるという効果を奏する。
As described above, the
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B) Other Embodiments The present invention is not limited to the above-described embodiments, and may include modified embodiments as exemplified below.
(B−1)上記の実施形態における、データ保存システム1を、例えば、ネットワーク機器や、各種サーバなどのノードから、SNMPによるMIBのデータ取得を収集する監視装置に適用し、監視システムの収集データの保存をするようにしても良い。その他にも、上記の実施形態におけるデータ保存システムを複数の時刻でデータを保存するシステムや装置に適用しても良い。
(B-1) The
特に、監視情報の収集を短周期(例えば、5分周期程度)に大量(例えば、26万件程度)に収集し、過去のネットワークの状態も保持しておかなければならないような監視装置に適用した場合、任意の時刻のネットワーク上に存在するノードの負荷状態や接続状態などの検索や任意の過去バージョンのデータの削除が、より少ない処理量で可能となり、必要とする記憶容量も低減することができる。 In particular, the monitoring information is collected in a large amount (for example, about 260,000) in a short period (for example, about 5 minutes), and applied to a monitoring device that must keep the state of the past network. In this case, it is possible to search for the load status and connection status of the nodes existing on the network at any time, and to delete data of any past version with a smaller amount of processing, and to reduce the required storage capacity. Can do.
(B−2)上記の実施形態において、データ保存システム1では、最新のバージョンのフルデータと過去の各時刻におけるバージョンの差分データを保存しているが、最新のバージョンに限定されず、それ以前の時刻に取得したフルデータを保存し、そのフルデータ(以下、「基準フルデータ」という)を基準として、基準フルデータ以前の時刻に取得したフルデータ(以下、「前方フルデータ」という)に係る差分データを保存するようにしても良い。また、データ保存システム1では、基準フルデータ以後の時刻に収集されたフルデータ(以下、「後方フルデータ」という)に係る差分データを保存するようにしても良い。後方フルデータに係る差分データの抽出は、既存のデータ保存(バックアップ)を行うシステムに適用されている手順と同様の手順を適用することにより実現できる。
(B-2) In the above embodiment, the
なお、前方フルデータは、基準フルデータの直前にデータ収集対象から収集したデータに限定されるものではない。また、後方フルデータも、基準フルデータの直後にデータ収集対象から収集したデータに限定されるものではない。また、上記の実施形態において、データ保存システム1では、最新のバージョンのフルデータのみを保存しているが、複数のバージョンについてフルデータを保存し、複数のフルデータを基準フルデータとして、それらの基準フルデータの以前や以降の差分データを保存するようにしても良い。
The forward full data is not limited to data collected from the data collection target immediately before the reference full data. Further, the rear full data is not limited to data collected from the data collection target immediately after the reference full data. In the above embodiment, the
(B−3)上記の実施形態では、上述の図11〜図13に示すフローチャートの処理により、任意のバージョンの任意のデータを検索する動作について説明したが、クライアント3が、任意のバージョンのデータをすべて復元することを指定した場合は、例えば、フルデータテーブル152の全てのデータについて上述の図11〜図13のデータ検索を行うようにしても良い。 (B-3) In the above embodiment, the operation of searching for arbitrary data of an arbitrary version by the processing of the flowcharts shown in FIGS. 11 to 13 described above has been described. For example, the above-described data search of FIGS. 11 to 13 may be performed for all data in the full data table 152.
また、例えば、フルデータテーブル152に、差分データ管理テーブル153の追加データ、削除データ、更新データに対応する処理を順次行って、指定のバージョンまで遡ったデータを復元するようにしても良い。例えば、追加データがあった場合には、逆に該当するデータを削除し、削除データがあった場合には、逆に該当するデータを追加し、更新データがあった場合には、逆にそのデータの更新を戻す逆更新を行うことを、それぞれのバージョンごとの全ての差分データについて行い、指定のバージョンまで遡ることができる。それぞれのバージョンの差分データはaddカラム、delカラム、updateカラムのいずれかに入力されているバージョン番号(version_count)を確認することにより認識できるため、例えば、現在のversion_countが5で、復元が指定されたバージョンが2であれば、バージョン番号が4の差分データ、3の差分データ、2の差分データと、順番に上述の処理を適用していけば、指定されたバージョン(2)のデータを全て復元することができる。 In addition, for example, the data corresponding to the specified version may be restored by sequentially performing processing corresponding to the additional data, the deletion data, and the update data of the difference data management table 153 on the full data table 152. For example, if there is additional data, the corresponding data is deleted. Conversely, if there is deleted data, the corresponding data is added. If there is updated data, the data is reversed. The reverse update that returns the data update can be performed for all the difference data for each version, and can be traced back to the specified version. Since the difference data of each version can be recognized by checking the version number (version_count) entered in any of the add column, del column, or update column, for example, the current version_count is 5, and restoration is specified. If the version is 2, the difference data of the version number 4, the difference data of 3, the difference data of 2, and the difference data of 2, if all the data of the specified version (2) is applied by applying the above-mentioned processing in order Can be restored.
1…データ保存システム、11…データ収集部、12…一時記憶部、13…今回データ格納部、14…差分抽出部、15…データベース、16…過去バージョンデータ検索部、17…前回データ削除部、151…バージョン番号登録部、152…フルデータテーブル、153…差分データ管理テーブル、2、2−1〜2−3…データ収集対象、3…クライアント。
DESCRIPTION OF
Claims (7)
任意の時刻に取得した保存対象データである基準保存対象データの全体データを保存する基準全体データ保存手段と、
上記基準保存対象データよりも前の時刻で取得した保存対象データである前方保存対象データの全体データを保持する前方全体データ保持手段と、
上記基準全体データ保存手段が保存している全体データと、上記前方全体データ保持手段が保持している全体データとの差分データを生成する差分データ生成手段と、
上記差分データ生成手段が生成した差分データを保存する差分データ保存手段と
を有することを特徴とするデータ保存システム。 In a data storage system that acquires and stores data to be stored at multiple different times,
Reference whole data storage means for storing the whole data of the reference storage target data which is the storage target data acquired at an arbitrary time;
Forward whole data holding means for holding the whole data of the forward saving target data which is the saving target data acquired at a time before the reference saving target data;
Difference data generation means for generating difference data between the whole data stored in the reference whole data storage means and the whole data held in the front whole data holding means;
A data storage system comprising: difference data storage means for storing the difference data generated by the difference data generation means.
任意の時刻に取得した保存対象データである基準保存対象データの全体データを保存する基準全体データ保存手段と、
上記基準保存対象データよりも前の時刻で取得した保存対象データである前方保存対象データの全体データを保持する前方全体データ保持手段と、
上記基準全体データ保存手段が保存している全体データと、上記前方全体データ保持手段が保持している全体データとの差分データを生成する差分データ生成手段と、
上記差分データ生成手段が生成した差分データを保存する差分データ保存手段と
して機能させることを特徴とするデータ保存プログラム。 A computer installed in a data storage system that acquires and stores data to be stored at multiple different times.
Reference whole data storage means for storing the whole data of the reference storage target data which is the storage target data acquired at an arbitrary time;
Forward whole data holding means for holding the whole data of the forward saving target data which is the saving target data acquired at a time before the reference saving target data;
Difference data generation means for generating difference data between the whole data stored in the reference whole data storage means and the whole data held in the front whole data holding means;
A data storage program that functions as a differential data storage unit that stores differential data generated by the differential data generation unit.
基準全体データ保存手段、前方全体データ保持手段、差分データ生成手段、差分データ保存手段を有し、
上記基準全体データ保存手段は、任意の時刻に取得した保存対象データである基準保存対象データの全体データを保存し、
上記前方全体データ保持手段は、上記基準保存対象データよりも前の時刻で取得した保存対象データである前方保存対象データの全体データを保持し、
上記差分データ生成手段は、上記基準全体データ保存手段が保存している全体データと、上記前方全体データ保持手段が保持している全体データとの差分データを生成し、
上記差分データ保存手段は、上記差分データ生成手段が生成した差分データを保存する
ことを特徴とするデータ保存方法。 In a data storage method in a data storage system that acquires and stores data to be stored at a plurality of different times,
Reference whole data storage means, front whole data holding means, difference data generation means, difference data storage means,
The reference entire data storage means stores the entire data of the reference storage target data that is the storage target data acquired at an arbitrary time,
The front whole data holding means holds the whole data of the forward storage target data which is the storage target data acquired at a time before the reference storage target data,
The difference data generation means generates difference data between the whole data stored by the reference whole data storage means and the whole data held by the front whole data holding means,
The difference data storage unit stores the difference data generated by the difference data generation unit.
The data storage system according to any one of claims 1 to 4, wherein data relating to monitoring of the node is collected from one or a plurality of nodes, and the data collected from the node is collected in the monitoring device that monitors the node. The monitoring apparatus characterized by storing using.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008130944A JP2009282563A (en) | 2008-05-19 | 2008-05-19 | Data storage system, program, method, and monitoring device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008130944A JP2009282563A (en) | 2008-05-19 | 2008-05-19 | Data storage system, program, method, and monitoring device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009282563A true JP2009282563A (en) | 2009-12-03 |
Family
ID=41452999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008130944A Pending JP2009282563A (en) | 2008-05-19 | 2008-05-19 | Data storage system, program, method, and monitoring device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009282563A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013105244A (en) * | 2011-11-11 | 2013-05-30 | Fujitsu Frontech Ltd | Document management program, information processing device and document management method |
JP2016122481A (en) * | 2016-04-07 | 2016-07-07 | 株式会社エヌ・ティ・ティ・データ | Virtual machine management system, virtual machine management method, and program |
JP2022531867A (en) * | 2019-08-27 | 2022-07-12 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | Data reading methods, devices, computer devices and computer programs |
-
2008
- 2008-05-19 JP JP2008130944A patent/JP2009282563A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013105244A (en) * | 2011-11-11 | 2013-05-30 | Fujitsu Frontech Ltd | Document management program, information processing device and document management method |
JP2016122481A (en) * | 2016-04-07 | 2016-07-07 | 株式会社エヌ・ティ・ティ・データ | Virtual machine management system, virtual machine management method, and program |
JP2022531867A (en) * | 2019-08-27 | 2022-07-12 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | Data reading methods, devices, computer devices and computer programs |
JP7220807B2 (en) | 2019-08-27 | 2023-02-10 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | Data reading method, device, computer device and computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110249321B (en) | System and method for capturing change data from a distributed data source for use by heterogeneous targets | |
US9830327B2 (en) | Method, device, node and system for managing file in distributed data warehouse | |
CN106980699B (en) | Data processing platform and system | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
JP5103807B2 (en) | Control program, control method, information processing apparatus, and information processing system | |
US8527556B2 (en) | Systems and methods to update a content store associated with a search index | |
WO2007068600B1 (en) | Generating backup sets to a specific point in time | |
JP5886447B2 (en) | Location independent files | |
CN106874281B (en) | Method and device for realizing database read-write separation | |
JP5686034B2 (en) | Cluster system, synchronization control method, server device, and synchronization control program | |
JP2008217209A (en) | Difference snapshot management method, computer system and nas computer | |
US20130066869A1 (en) | Computer system, method of managing a client computer, and storage medium | |
WO2013091167A1 (en) | Log storage method and system | |
JP2020506444A (en) | Expired backup processing method and backup server | |
CN113760847A (en) | Log data processing method, device, equipment and storage medium | |
CN113051221B (en) | Data storage method, device, medium, equipment and distributed file system | |
CN105843809B (en) | Data processing method and device | |
JP2009282563A (en) | Data storage system, program, method, and monitoring device | |
US20100145933A1 (en) | Dynamic Restoration of Message Object Search Indexes | |
CN116501700B (en) | APP formatted file offline storage method, device, equipment and storage medium | |
CN110928885B (en) | Method and device for updating data of Mysql database to Es database | |
US9852031B2 (en) | Computer system and method of identifying a failure | |
WO2016117007A1 (en) | Database system and database management method | |
US20220413733A1 (en) | mon service migration method, apparatus, and device, and readable storage medium | |
CN111061719B (en) | Data collection method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20101129 |