説明

データ保存装置、データ保存方法

【課題】サンプリングの精度の向上を図りながら、サンプリングするデータのデータ数を十分に削減すること。
【解決手段】本発明のデータ保存装置は、時系列的なデータを収集するデータ収集部と、前記データ毎に、当該データの変化の指標である複数の変化指標を計算し、その計算結果を基に当該データをサンプリングするか否かを決定するサンプリング部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ保存装置、データ保存方法に関する。
【背景技術】
【0002】
近年、データセンタの巨大化やクラウドコンピューティングの登場などにより、コンピュータシステムの規模は巨大化する傾向にある。
【0003】
それに伴い、コンピュータシステムのリソースの使用状況(メモリ使用量、オープンファイル数、生成スレッド数など)を示すリソースデータも増加の傾向にある。
【0004】
そのため、コンピュータシステムで本来実行したい業務とは直接関係のない業務に関するリソースデータの保存に記憶媒体の容量が消費されてしまう場合がある。
【0005】
そのため、リソースデータのように、時々刻々と変換する時系列データを保存する場合には、時系列データのデータ数の削減を目的として、サンプリングにより時系列データを間引く処理が行われる。
【0006】
一般的には、時系列データを一定間隔毎にサンプリングする手法が用いられるが、時系列データのデータ数と時系列データの精度(本来の観測データとの誤差)がサンプリング間隔に依存するという問題がある。
【0007】
上記問題を解決するために、例えば、特許文献1には、今回の時系列データの変化の指標である変化指標として、前回と今回の時系列データの変化量を計算し、計算した変化量を基に、今回の時系列データをサンプリングする手法が提案されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平10‐143543号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1で提案された手法では、時系列データの変化指標として、変化量という1つの指標のみを用いているため、サンプリングの精度が悪く、その結果、サンプリングするデータのデータ数を十分に削減することができないという課題がある。
【0010】
具体的には、例えば、時系列データが正比例で変化する場合、変化の開始点と終了点のデータだけをサンプリングしておけば、時系列データは再現可能である。
【0011】
しかし、特許文献1のように、変化指標として変化量だけを用いた場合、時系列データの傾きによっては正比例で変化している全ての区間のデータをサンプリングしてしまう可能性がある。
【0012】
そこで、本発明の目的は、上述した課題を解決し、サンプリングの精度の向上を図りながら、サンプリングするデータのデータ数を十分に削減することができるデータ保存装置、データ保存方法を提供することにある。
【課題を解決するための手段】
【0013】
本発明のデータ保存装置は、
時系列的なデータを収集するデータ収集部と、
前記データ毎に、当該データの変化の指標である複数の変化指標を計算し、その計算結果を基に当該データをサンプリングするか否かを決定するサンプリング部と、を有する。
【0014】
本発明のデータ保存方法は、
データ保存装置によるデータ保存方法であって、
時系列的なデータを収集する収集ステップと、
前記データ毎に、当該データの変化の指標である複数の変化指標を計算し、その計算結果を基に当該データをサンプリングするか否かを決定するサンプリングステップと、を有する。
【発明の効果】
【0015】
本発明によれば、サンプリングの精度の向上を図りながら、サンプリングするデータのデータ数を十分に削減することができるという効果が得られる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態のデータ保存装置の構成を示すブロック図である。
【図2】図1に示したデータ保存装置のデータ保存動作を説明するフローチャートである。
【図3】図2に示したステップA2の動的サンプリング手順を説明するフローチャートである。
【図4】図1に示したデータ保存装置に保存するリソースデータの一例を示す図である。
【図5】図1に示したデータ保存装置に保存するリソースデータの他の例を示す図である。
【図6】図2に示したステップA6のデータマージ手順を説明するフローチャートである。
【図7】図1に示したデータ保存装置のデータ復元動作を説明する図である。
【発明を実施するための形態】
【0017】
以下に、本発明を実施するための形態について図面を参照して説明する。
【0018】
なお、以下では、時系列データとして、コンピュータシステムのリソースの使用状況(メモリ使用量、オープンファイル数、生成スレッド数など)を示すリソースデータを保存する場合を例に挙げて説明する。
(1)本実施形態の構成
まず、本実施形態の構成について図1を参照して説明する。
【0019】
図1を参照すると、本実施形態のデータ保存装置は、コンピュータシステムのリソースデータを定期的に収集するデータ収集部101と、データ収集部101により定期的に収集されたリソースデータのサンプリングおよび保存を行うと共に、保存したリソースデータの復元を行うデータ管理部102と、データ管理部102により復元されたリソースデータの分析を行い、コンピュータシステムのリソースの変化状況や将来のリソース異常の予測を行うデータ分析部103と、を有している。
【0020】
また、データ管理部102は、データ収集部101により定期的に収集されたリソースデータのサンプリングを行うサンプリング部201と、リソースデータの圧縮を行うデータ圧縮部202と、データ圧縮部202により圧縮されたリソースデータの保存を行う記憶媒体203と、記憶媒体203に保存されたリソースデータの復元を行うデータ復元部204と、を有している。
(2)本実施形態の動作
次に、本実施形態の動作について説明する。
(2−1)データ保存動作
まず、リソースデータを記憶媒体203に保存する場合の動作について、図2を参照して説明する。
【0021】
図2を参照すると、データ収集部101は、定期的にリソースデータを収集し、収集したリソースデータを一定時間(例:1時間)毎にデータ管理部102に送信する。
【0022】
サンプリング部201は、ステップA1において、データ収集部101からリソースデータを受信すると、ステップA2において、図3に示す動的サンプリング手順に従い、受信したリソースデータの中から、特徴点におけるリソースデータをサンプリングする。
【0023】
ここで、図2のステップA2の手順(動的サンプリング手順)について、図3を参照して詳細に説明する。
【0024】
図3を参照すると、サンプリング部201は、データ収集部101から受信した各観測点における観測値(リソースデータ)を順次計算対象とし、ステップB1において、今回の観測点txにおける変化率Δtxを計算する。変化率Δtxは、今回の観測点txおよび次回の
観測点tx+1における観測値の傾きとして、次のように算出する。
【0025】
Δtx = f(tx+1)-f(tx)/(tx+1 - tx)
ここで、f(z)は、観測点zにおける観測値を表す。
【0026】
次に、サンプリング部201は、ステップB2において、Δtxと予め決められた閾値T
Δ(例えば、-1〜1)とを比較する。
【0027】
ステップB2において、Δtxが閾値TΔの範囲内である場合、サンプリング部201は
、ステップB6に進み、観測点txにおける観測値f(tx)のサンプリングを行わない。
【0028】
一方、ステップB2において、Δtxが閾値TΔの範囲外である場合、サンプリング部2
01は、ステップB3に進む。
【0029】
次に、サンプリング部201は、ステップB3において、Δtxを、前回の観測点tx-1に
おける変化率Δtx-1と比較する。
【0030】
ステップB3において、ΔtxとΔtx-1との差分(Δtx−Δtx-1)が予め決められた閾値
Tsの範囲内である場合、サンプリング部201は、ステップB6に進み、観測点txにおける観測値f(tx)のサンプリングを行わない。
【0031】
一方、ステップB3において、ΔtxとΔtx-1との差分(Δtx−Δtx-1)が閾値Tsの範囲
外である場合、サンプリング部201は、ステップB4に進む。
【0032】
例えば、図4の例1において、観測点t1は、変化率Δt1が閾値TΔの範囲外であるが、
前回の変化率Δt0との差分が閾値Tsの範囲内であると仮定する。この場合、サンプリング
部201は、t1とt0とは同一の変化であり、t1は特徴点ではないと判断し、t1における観測値f(t1)のサンプリングを行わない。
【0033】
次に、サンプリング部201は、ステップB4において、観測点tx近傍の所定個数(例えば、10個)の観測値のばらつき具合を、分散σtxとして計算する。
【0034】
ステップB4において、σtxが予め決められた閾値Tσの範囲内である場合、サンプリング部201は、ステップB6に進み、観測点txにおける観測値f(tx)のサンプリングを行わない。
【0035】
一方、ステップB4において、σtxが閾値Tσの範囲外である場合、サンプリング部201は、観測点txは特徴点であると判断し、ステップB5において、txにおける観測値f(t1)のサンプリングを行う。
【0036】
例えば、図5の例2において、観測点t2は、変化率Δt2が閾値TΔの範囲外で、前回の
変化率Δt1との差分も閾値Tsの範囲外であるが、分散σt2が閾値Tσの範囲内であると仮
定する。この場合、t2は、変化率は大きく、また、前回と同一の変化でもないが、リソースデータ全体で考えた場合、変化の絶対量が小さい。そのため、t2は、リソースデータの特徴を表すほどの変化ではないと考えられることから、サンプリング部201は、t2を特徴点ではないと判断し、t2における観測値f(t2)のサンプリングを行わない。
【0037】
また、例えば、図4の例3において、観測点t6は、変化率Δt6が閾値TΔの範囲外で、
前回の変化率Δt5との差分も閾値Tsの範囲外で、分散σt6も閾値Tσの範囲外であると仮
定する。この場合、t6は、変化率は大きく、また、前回と同一の変化でもなく、また、リソースデータ全体で考えた場合も変化の絶対量が大きい。そのため、t6は、変化の開始点であると考えられることから、サンプリング部201は、t6を特徴点であると判断し、t6における観測値f(t6)のサンプリングを行う。
【0038】
再度図2を参照すると、次に、データ圧縮部202は、ステップA3において、サンプリング部201によりサンプリングされたリソースデータと記憶媒体203に保存されている過去のリソースデータの総数を算出する。
【0039】
ステップA3において、リソースデータの総数が予め決められた閾値TΣ以下である場
合、データ圧縮部202は、ステップA8において、サンプリング部201により抽出されたリソースデータを圧縮して追記モードで記憶媒体203に保存する。
【0040】
一方、ステップA3において、リソースデータの総数が閾値TΣよりも大きい場合は、
データ圧縮部202は、記憶媒体203に保存されている過去の全リソースデータの復元をデータ復元部204に要求する。
【0041】
これを受けて、データ復元部204は、ステップA4において、記憶媒体203に保存されている過去の全リソースデータを読み出し、ステップA5において、読み出した全リソースデータを復元する。
【0042】
次に、データ圧縮部202は、図6のデータマージ手順に従い、ステップA6において、記憶媒体203に保存するリソースデータの総数が閾値TΣ以下になるまで、サンプリ
ング部201によりサンプリングされたリソースデータとデータ復元部204により復元されたリソースデータを含むリソースデータ群のうちの隣接するデータ同士を統計的指標を用いてマージ(結合)する。
【0043】
その後、データ圧縮部202は、ステップA7において、マージしたリソースデータを再圧縮して上書きモードで記憶媒体203に保存する。
【0044】
ここで、図2のステップA6の手順(データマージ手順)について、図6を参照して詳細に説明する。
【0045】
図6を参照すると、まず、データ圧縮部202は、ステップC1において、データ復元部204により復元されたリソースデータのうち一定時間が経過したリソースデータを削除する。なお、削除するリソースデータの範囲は任意に設定可能とする。
【0046】
例えば、本実施形態のように、データ分析部103において、リソースの変化状況や将来のリソース異常の予測を行う場合、予測に占める過去のリソースデータの影響はそれほど大きくないと考えられる。例えば、1日後のリソースの変化状況を予測するのに、2年前のリソースデータの影響は大きくない。そこで、上記のような削除を行う。
【0047】
次に、データ圧縮部202は、ステップC2において、サンプリング部201によりサンプリングされたリソースデータおよびデータ復元部204により復元されたリソースデータをグループ化する。
【0048】
詳細は後述するが、データ復元部204により復元されたリソースデータには、特徴点におけるリソースデータ(第1のデータ)と、特徴点を基に計算して求めた非特徴点におけるリソースデータ(第2のデータ)と、が含まれる。
【0049】
そこで、データ圧縮部202は、1つの特徴点で表されるリソースデータ群(すなわち、特徴点におけるリソースデータと、その特徴点を基に計算して求めた非特徴点におけるリソースデータと、からなるデータ群)を1つのグループとして、グループ化を行う。したがって、この時点では、サンプリング部201によりサンプリングされたリソースデータは、そのリソースデータのみで1つのグループを形成することになる。
【0050】
次に、データ圧縮部202は、ステップC3において、互いに隣接する2つのグループの組み合わせ毎に、その2つのグループ内のリソースデータの統計的な指標である統計的指標を算出する。ここでは、統計的指標は、2つのグループ内のリソースデータの分散(ばらつき具合)とする。
【0051】
次に、データ圧縮部202は、ステップC4において、2つのグループの組み合わせの中から最も分散の小さな組み合わせを選択し、選択した2つのグループ内のリソースデータをマージする。なお、ここでリソースデータがマージされた2つのグループは、以降、1つのグループとして扱われることになる。
【0052】
以降、データ圧縮部202は、ステップC5において、記憶媒体203に保存するリソースデータの総数が閾値TΣ以下になるまで、ステップC3〜C4の処理を繰り返す。
(2−2)データ復元動作
続いて、記憶媒体203に保存されたリソースデータを復元する場合の動作について説明する。
【0053】
データ分析部103およびデータ圧縮部202は、リソースデータの復元が必要になると、データ復元部204に対して復元要求を出力する。復元要求においては、復元するリソースデータのデータ範囲とデータ間隔(X秒、X時間など)を指定する。
【0054】
ここで、データ復元部204におけるリソースデータの復元手順について、図7を参照して具体的に説明する。図7においては、復元要求において、データ範囲として0:00〜0:01が、データ間隔として20秒がそれぞれ指定されているものとする。
【0055】
図7を参照すると、まず、データ復元部204は、記憶媒体203から、指定データ範囲0:00〜0:01内の特徴点と、その前後の1つずつの特徴点と、を読み出し復元する。ここでは、指定データ範囲内の時刻t1(0:00:05)と時刻t2(0:00:12)の特徴点と、指定データ範囲の前の時刻t0(23:59:45)の特徴点と、指定データ範囲の後の時刻t3(0:01:15)の特徴点と、を読み出し復元する。
【0056】
次に、データ復元部204は、時刻t0の特徴点を開始点とし、時刻t0から次の特徴点がある時刻t1までを区間Aとし、時刻t0と時刻t1の特徴点を用いて、区間Aにおけるリソースデータを表す1次式y=ax+bを導出する。そして、区間Aにおいて、開始点から、指定データ間隔毎に、上記で導出した1次式を用いて、リソースデータを復元する。ここでは、時刻t1(0:00:05)のリソースデータを復元する。
【0057】
次に、データ復元部204は、時刻t1から次の特徴点がある時刻t2までを区間Bとし、上記と同様に、区間Bの1次式y=ax+bを導出する。しかし、次にリソースデータを復元すべき時刻0:00:25は、区間Bの範囲外となる。そのため、区間Bにおいては、リソースデータの復元を行わない。
【0058】
次に、データ復元部204は、時刻t2から次の特徴点がある時刻t3までを区間Cとし、上記と同様に、区間Cの1次式y=ax+bを導出する。ここでは、次にリソースデータを復元すべき時刻0:00:25、その次にリソースデータを復元すべき時刻0:00:45は、区間Cの範囲内となるため、上記で導出した1次式を用いて、時刻0:00:25と時刻0:00:45のリソースデータを復元する。
【0059】
ここで、時刻0:00:45から指定データ間隔が経過した時刻0:01:05は、指定データ範囲外となるため、以上でリソースデータの復元が終了する。
【0060】
データ復元部204は、上記で復元したリソースデータをデータ分析部103もしくはデータ圧縮部202に送信する。その際、各リソースデータには、特徴点のデータであるか、特徴点を基に計算して求めた非特徴点のデータであるかを示す識別子等を付加する。なお、図7において、時刻t1(0:00:05)のリソースデータは、非特徴点のリソースデータでもあるが、特徴点のリソースデータとして送信する。
【0061】
データ分析部103は、データ復元部204により復元されたリソースデータを受信すると、そのリソースデータを統計的に分析し、リソースの変化状況や将来のリソース異常を検出する。
【0062】
データ圧縮部202は、データ復元部204により復元されたリソースデータを受信すると、上記のデータマージ手順に従って、そのリソースデータのマージ・再圧縮を行う。
【0063】
上述したように本実施形態では、時系列的なデータ毎に、複数の変化指標を計算し、その計算結果を基にそのデータをサンプリングするか否かを決定する。
【0064】
よって、サンプリングの精度の向上を図りながら、サンプリングするデータのデータ数を十分に削減することができるという効果が得られる。
【0065】
具体的には、例えば、時系列データが正比例で変化する場合、変化の開始点と終了点のデータだけをサンプリングしておけば、時系列データは再現可能である。
【0066】
しかし、特許文献1のように、変化指標として変化量だけを用いた場合、時系列データの傾きによっては正比例で変化している全ての区間のデータをサンプリングしてしまう可能性がある。
【0067】
これに対して、本実施形態のように、複数の変化指標として、例えば、変化率と変化率の差分を用いた場合、ある観測点について、変化率自体は閾値の範囲外であるが、変化率の差分がなければ、その観測点は特徴点ではないと判断し、サンプリングを行わない。
【0068】
よって、本実施形態のように、複数の変化指標を用いることでサンプリングの精度が向上し、その結果、サンプリングするデータのデータ数を十分に削減することができる。
【0069】
また、本実施形態では、記憶媒体に保存するデータの総数が閾値を超える場合、記憶媒体に保存するデータの総数が閾値以下になるまで、サンプリングしたデータと記憶媒体から復元したデータのうちの隣接するデータ同士を統計的指標を用いてマージする。
【0070】
よって、記憶媒体に保存するデータのデータ数を一定に抑えることができるという効果が得られる。
(3)他の実施形態
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更をすることができる。
・動的サンプリングとマージの指標
上記実施形態では、サンプリングの可否の判断に用いる変化指標として、変化率と変化率の差分と分散を用いたが、本発明はこれに限定されず、変曲点と分散、微分と四分位値などの他の変化指標を用いることが可能である。
【0071】
また、上記実施形態では、データをマージする2つのグループの判断に用いる統計的指標として、2つのグループ内のデータの分散を用いたが、本発明はこれに限定されず、2つのグループの各々の内部のデータの相関係数の類似度などの他の統計的指標を用いることが可能である。
・データのマージと精度の優先度
上記実施形態では、記憶媒体に保存するデータのデータ数を一定に抑えるため、記憶媒体に保存するデータのデータ数が閾値TΣを超えた場合、閾値TΣ以下になるまで無条件
でマージ処理を行っている。
【0072】
ただし、変化の激しい時系列データの場合、マージ処理を優先すると、時系列データの精度が劣化する可能性がある。
【0073】
そのため、データをマージするグループの判断に用いる統計的指標(例えば、分散)に制限を設け、制限を超える場合(例えば、分散が閾値よりも大きい場合)は、マージ処理を行わず、時系列データの精度を優先することも可能である。
【産業上の利用可能性】
【0074】
本発明は、コンピュータシステムのリソースを監視する分野におけるリソースデータの蓄積に利用できる。
【符号の説明】
【0075】
101 データ収集部
102 データ管理部
103 データ分析部
201 サンプリング部
202 データ圧縮部
203 記憶媒体
204 データ復元部

【特許請求の範囲】
【請求項1】
時系列的なデータを収集するデータ収集部と、
前記データ毎に、当該データの変化の指標である複数の変化指標を計算し、その計算結果を基に当該データをサンプリングするか否かを決定するサンプリング部と、を有するデータ保存装置。
【請求項2】
前記サンプリング部は、
前記データを順次計算対象とし、
計算対象とする今回のデータの前記変化指標として、今回のデータと次回のデータとの変化率と、今回のデータの変化率と前回のデータの変化率との差分と、今回のデータ近傍の所定個数分のデータの分散と、を計算する、請求項1に記載のデータ保存装置。
【請求項3】
前記サンプリング部は、
今回のデータの変化率が予め決められた範囲外であり、かつ、今回のデータの変化率の差分が予め決められた範囲外であり、かつ、今回のデータの分散が予め決められた範囲外である場合に、今回のデータをサンプリングすると決定する、請求項2に記載のデータ保存装置。
【請求項4】
前記データを圧縮して記憶媒体に保存するデータ圧縮部と、
前記記憶媒体に保存されたデータを復元するデータ復元部と、をさらに有し、
前記データ圧縮部は、
前記サンプリング部によりサンプリングされたデータと前記記憶媒体に保存されているデータの総数が予め決められた閾値よりも大きい場合、
前記記憶媒体に保存されているデータを前記データ復元部に復元させ、
前記記憶媒体に保存するデータの総数が前記閾値以下になるまで、前記サンプリングされたデータと前記復元されたデータを含むデータ群のうちの隣接するデータ同士を統計的指標を用いてマージし、
マージしたデータを再圧縮して前記記憶媒体に保存する、請求項1から3のいずれか1項に記載のデータ保存装置。
【請求項5】
前記データ復元部は、
前記記憶媒体に保存されているデータを第1のデータとして復元すると共に、前記第1のデータを基に計算して求めた第2のデータを復元し、
前記データ圧縮部は、
前記第1のデータと当該第1のデータを基に計算して求めた前記第2のデータとを1つのグループとして、前記データ群をグループ分けし、
互いに隣接する2つのグループの組み合わせ毎に、当該2つのグループ内のデータの分散を前記統計的指標として計算する第1の処理と、互いに隣接する2つのグループの組み合わせの中から分散が最も小さな組み合わせを選択し、選択した2つのグループ内のデータをマージする第2の処理と、を、前記記憶媒体に保存するデータの総数が前記閾値以下になるまで繰り返す、請求項4に記載のデータ保存装置。
【請求項6】
データ保存装置によるデータ保存方法であって、
時系列的なデータを収集する収集ステップと、
前記データ毎に、当該データの変化の指標である複数の変化指標を計算し、その計算結果を基に当該データをサンプリングするか否かを決定するサンプリングステップと、を有するデータ保存方法。
【請求項7】
前記サンプリングステップでは、
前記データを順次計算対象とし、
計算対象とする今回のデータの前記変化指標として、今回のデータと次回のデータとの変化率と、今回のデータの変化率と前回のデータの変化率との差分と、今回のデータ近傍の所定個数分のデータの分散と、を計算する、請求項6に記載のデータ保存方法。
【請求項8】
前記サンプリングステップでは、
今回のデータの変化率が予め決められた範囲外であり、かつ、今回のデータの変化率の差分が予め決められた範囲外であり、かつ、今回のデータの分散が予め決められた範囲外である場合に、今回のデータをサンプリングすると決定する、請求項7に記載のデータ保存方法。
【請求項9】
前記サンプリングされたデータと記憶媒体に保存されているデータの総数が予め決められた閾値よりも大きい場合、
前記記憶媒体に保存されているデータを復元する復元ステップと、
前記記憶媒体に保存するデータの総数が前記閾値以下になるまで、前記サンプリングされたデータと前記復元されたデータを含むデータ群のうちの隣接するデータ同士を統計的指標を用いてマージするマージステップと、
マージしたデータを再圧縮して前記記憶媒体に保存する再圧縮ステップと、を有する請求項6から8のいずれか1項に記載のデータ保存方法。
【請求項10】
前記復元ステップでは、
前記記憶媒体に保存されているデータを第1のデータとして復元すると共に、前記第1のデータを基に計算して求めた第2のデータを復元し、
前記マージステップでは、
前記第1のデータと当該第1のデータを基に計算して求めた前記第2のデータとを1つのグループとして、前記データ群をグループ分けし、
互いに隣接する2つのグループの組み合わせ毎に、当該2つのグループ内のデータの分散を前記統計的指標として計算する第1の処理と、互いに隣接する2つのグループの組み合わせの中から分散が最も小さな組み合わせを選択し、選択した2つのグループ内のデータをマージする第2の処理と、を、前記記憶媒体に保存するデータの総数が前記閾値以下になるまで繰り返す、請求項9に記載のデータ保存方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate