(57)【要約】解析対象となる複数の時系列データに対するアクセスを効率的に行うために、データ蓄積部は、データ蓄積時に、時系列データソース１０からの時系列データのうち、解析対象となる時系列データであって、同一周期で発生する時系列データの組み合わせとして、予測振動数と実績振動数に関する時系列データを選択し、選択した時系列データの組み合わせを１時間単位で集約し、集約した複数組の時系列データを属性（振動数）に対応付けて集約データテーブルに蓄積し、データ解析部は、データ解析時に、属性を基に集約データテーブルをアクセスして、解析で用いる時系列データとして、予測振動数と実績振動数に関する時系列データの組み合わせを抽出し、抽出した時系列データを基に予測振動数と実績振動数との差である乖離振動数を求める。
2012020456.tif 000002
【特許請求の範囲】
【請求項１】
時系列データ発生源から時系列データを順次入力して処理するデータ処理部と、前記データ処理部の処理結果を蓄積する記憶部と、前記記憶部からデータを取得するとともに、前記取得したデータを解析要求に従って解析するデータ取得解析部とを、備え、
前記データ処理部は、
前記入力した時系列データのうち解析対象となる複数の時系列データを組み合わせ、前記組み合わせた複数の時系列データを、互いに関連する属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析要求で規定された検索対象が前記属性である場合、前記属性を検索対象として前記記憶部をアクセスし、前記記憶部の中から前記属性に対応した時系列データであって、前記解析対象となる複数の時系列データを抽出し、前記抽出した複数の時系列データを用いて、前記解析要求で規定された解析を実行してなる時系列データ処理装置。
【請求項２】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択し、前記選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約し、前記集約した複数組の時系列データを前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせを前記記憶部から抽出してなる時系列データ処理装置。
【請求項３】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択し、前記選択した時系列データの組み合わせを前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせを前記記憶部から抽出してなる時系列データ処理装置。
【請求項４】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせを選択し、前記選択した組み合わせによる時系列データを、前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記異なる周期で発生する時系列データの組み合わせを前記記憶部から抽出してなる時系列データ処理装置。
【請求項５】
請求項３に記載の時系列データ処理装置において、
前記データ処理部は、
前記選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約し、前記集約した複数組の時系列データを前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記集約した複数組の時系列データを前記記憶部から抽出してなる時系列データ処理装置。
【請求項６】
請求項４に記載の時系列データ処理装置において、
前記データ処理部は、
前記選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約し、前記集約した複数組の時系列データを前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記集約した複数組の時系列データを前記記憶部から抽出してなる時系列データ処理装置。
【請求項７】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択し、前記選択した時系列データの組み合わせに属する各時系列データの特徴点を抽出し、前記選択した時系列データの組み合わせを前記抽出した特徴点とともに前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記同一周期で発生する時系列データの組み合わせに属する時系列データの特徴点についての基準値が、前記検索対象の条件として前記解析クエリに規定されている場合、前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせの中から当該時系列データの特徴点が、前記基準値を満たすものを前記記憶部から抽出してなる時系列データ処理装置。
【請求項８】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせを選択し、前記選択した時系列データの組み合わせに属する各時系列データの特徴点を抽出し、前記選択した時系列データの組み合わせを前記抽出した特徴点とともに、前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記異なる周期で発生する時系列データの組み合わせに属する時系列データの特徴点についての基準値が、前記検索対象の条件として前記解析クエリに規定されている場合、前記解析で用いる時系列データとして、前記異なる周期で発生する時系列データの組み合わせの中から当該時系列データの特徴点が、前記基準値を満たすものを前記記憶部から抽出してなる時系列データ処理装置。
【請求項９】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択し、前記選択した時系列データの組み合わせに属する各時系列データを圧縮し、前記圧縮した時系列データの組み合わせを前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせの中から前記圧縮された時系列データの組み合わせを前記記憶部から抽出し、前記抽出した各時系列データを解凍してなる時系列データ処理装置。
【請求項１０】
請求項１に記載の時系列データ処理装置において、
前記データ処理部は、
前記解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせを選択し、前記選択した時系列データの組み合わせに属する各時系列データを圧縮し、前記圧縮した時系列データの組み合わせを前記属性に対応付けて前記記憶部に蓄積し、
前記データ取得解析部は、
前記解析で用いる時系列データとして、前記異なる周期で発生する時系列データの組み合わせの中から前記圧縮された時系列データの組み合わせを前記記憶部から抽出し、前記抽出した各時系列データを解凍してなる時系列データ処理装置。
【請求項１１】
時系列データ発生源から時系列データを順次入力して処理するデータ処理部と、前記データ処理部の処理結果を蓄積する記憶部と、前記記憶部からデータを取得するとともに、前記取得したデータを解析要求に従って解析するデータ取得解析部と、を有する時系列データ処理方法であって、
前記データ処理部が、前記入力した時系列データのうち解析対象となる複数の時系列データを組み合わせ、前記組み合わせた複数の時系列データを、互いに関連する属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析要求で規定された検索対象が前記属性である場合、前記属性を検索対象として前記記憶部をアクセスするステップと、
前記データ取得解析部が、前記記憶部の中から前記属性に対応した時系列データであって、前記解析対象となる複数の時系列データを抽出するステップと、
前記データ取得解析部が、前記ステップで抽出した複数の時系列データを用いて、前記解析要求で規定された解析を実行するステップを含むことを特徴とする時系列データ処理方法。
【請求項１２】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約するステップと、
前記データ処理部が、前記ステップで集約した複数組の時系列データを前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１３】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせを前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１４】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記ステップで選択した組み合わせによる時系列データを、前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記異なる周期で発生する時系列データの組み合わせを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１５】
請求項１３に記載の時系列データ処理方法において、
前記データ処理部が、前記選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約するステップと、
前記データ処理部が、前記ステップで集約した複数組の時系列データを前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記ステップで集約した複数組の時系列データを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１６】
請求項１４に記載の時系列データ処理方法において、
前記データ処理部が、前記選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約するステップと、
前記データ処理部が、前記ステップで集約した複数組の時系列データを前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記ステップで集約した複数組の時系列データを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１７】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせに属する各時系列データの特徴点を抽出するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせを前記抽出した特徴点とともに前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記同一周期で発生する時系列データの組み合わせに属する時系列データの特徴点についての基準値が、前記検索対象の条件として前記解析クエリに規定されている場合、前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせの中から当該時系列データの特徴点が、前記基準値を満たすものを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１８】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせに属する各時系列データの特徴点を抽出するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせを前記抽出した特徴点とともに、前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記異なる周期で発生する時系列データの組み合わせに属する時系列データの特徴点についての基準値が、前記検索対象の条件として前記解析クエリに規定されている場合、前記解析で用いる時系列データとして、前記異なる周期で発生する時系列データの組み合わせの中から当該時系列データの特徴点が、前記基準値を満たすものを前記記憶部から抽出するステップを含むことを特徴とする時系列データ処理方法。
【請求項１９】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせに属する各時系列データを圧縮するステップと、
前記データ処理部が、前記ステップで圧縮した時系列データの組み合わせを前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記同一周期で発生する時系列データの組み合わせの中から前記圧縮された時系列データの組み合わせを前記記憶部から抽出するステップと、
前記データ取得解析部が、前記ステップで抽出した各時系列データを解凍するステップを含むことを特徴とする時系列データ処理方法。
【請求項２０】
請求項１１に記載の時系列データ処理方法において、
前記データ処理部が、前記解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせを選択するステップと、
前記データ処理部が、前記ステップで選択した時系列データの組み合わせに属する各時系列データを圧縮するステップと、
前記データ処理部が、前記ステップで圧縮した時系列データの組み合わせを前記属性に対応付けて前記記憶部に蓄積するステップと、
前記データ取得解析部が、前記解析で用いる時系列データとして、前記異なる周期で発生する時系列データの組み合わせの中から前記圧縮された時系列データの組み合わせを前記記憶部から抽出するステップと、
前記データ取得解析部が、前記ステップで抽出した各時系列データを解凍するステップを含むことを特徴とする時系列データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種センサなどから発生する時系列データを処理する時系列データ処理装置及びその方法に関するものである。
【背景技術】
【０００２】
従来、計算機システム等において、各種センサの検出によるデータを時系列データとして取り込み、取り込んだ時系列データを用いて解析、制御などの処理が行われている。例えば、様々な場所で採取された複数の時系列データを集めて解析するものが提案されている（特許文献１参照）。【０００３】
特許文献１には、複数の時系列データを解析する場合、各時系列データのサンプリング周期がデータ毎に異なっていることを考慮し、複数の時系列データのサンプリング周期に応じて、抜けデータを補完し、補完されたデータを蓄積する技術が開示されている。具体的には、１秒周期または２秒周期で時系列データがサンプリングされる場合、１秒周期の時系列データを基準に、２秒周期の時系列データを補完して、各時系列データを蓄積するものである。【０００４】
また、長期間のプラントデータを高速且つ効率的に表示するに際して、プラントにおいて大量に発生する長期間のデータに対して、効率良く検索し、プラントデータの傾向監視や異常値監視を行うようにしたものが提案されている（特許文献２参照）。【０００５】
特許文献２には、プラントデータを所定のデータ取り込み周期で取り込んでプラントデータテーブルに書き込み、データ取り込み周期よりも長いデータ収録周期でプラントデータを取り込んでデータ収録周期毎に纏めてプラントデータ履歴情報テーブルに保存し、プラントデータ履歴情報毎のプラントデータの最大値や最小値および平均値を含む長期検索用履歴情報を作成して長期検索用履歴情報テーブルに保存し、データを表示するときに、いずれかのテーブルに対してデータ検索を行い、検索したデータの内容を表示装置にグラフで表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−４４５１８号公報
【特許文献２】特開２０１０−４９５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１のものは、時系列データを短い方のサンプリング周期に合わせて補完しているため、時系列データのサンプリング周期がデータ毎に異なっている場合でも、時系列データを正確に解析することができる。しかし、時系列データを蓄積する際、短い方の周期に合わせて蓄積しているので、蓄積データ量が増大することになり、複数の時系列データを効率的に蓄積することが困難となる。【０００８】
また、特許文献２のものでは、一定周期毎に各時系列データに対する平均値や最大値または最小値を算出しているため、複数の時系列データを用いて解析する必要がある場合、例えば、複数の時系列データの差（最大値と最小値の差等）を求める演算を必要とする場合、時系列データを個々にアクセスして、各時系列データの値を求めなければならず、複数の時系列データに対し効率的にアクセスすることができない。【０００９】
本発明は、前記従来技術の課題に鑑みて為されたものであり、その目的は、解析対象となる複数の時系列データに対するアクセスを効率的に行うことができる時系列データ処理装置及びその方法を提供することにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明は、データ蓄積時に、解析対象となる複数の時系列データを組み合わせ、組み合わせた複数の時系列データをその属性に対応付けて記憶部に蓄積し、データ解析時に、解析で用いる時系列データとして、前記属性を基に複数の時系列データの組み合わせを記憶部から抽出することを特徴とするものである。
【発明の効果】
【００１１】
本発明によれば、解析で用いる複数の時系列データを効率的にアクセスして解析することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明が適用された計算機システムの全体構成を示すブロック図である。
【図２】時系列データ管理テーブルの構成図である。
【図３】属性集約情報の構成図である。
【図４】属性バッファの構成図である。
【図５】時間集約情報の構成図である。
【図６】時間バッファの構成図である。
【図７】集約データテーブルの構成図である。
【図８】解析クエリの構成図である。
【図９】時系列データ蓄積処理を説明するためのフローチャートである。
【図１０】時系列データ解析処理を説明するためのフローチャートである。
【図１１】解析対象ID・検索対象ID・取得対象ID・取得対象集約IDリスト作成処理を説明するためのフローチャートである。
【図１２】データ取得処理を説明するためのフローチャートである。
【図１３】条件・属性によるデータ抽出・解析処理を説明するためのフローチャートである。
【図１４】第２実施例における計算機システムの全体構成図を示すブロック図である。
【図１５】周期集約情報の構成図である。
【図１６】周期バッファの構成図である。
【図１７】属性集約情報の構成図である。
【図１８】属性バッファの構成図である。
【図１９】時間集約情報の構成図である。
【図２０】時間バッファの構成図である。
【図２１】集約データテーブルの構成図である。
【図２２】解析クエリの構成図である。
【図２３】時系列データ蓄積処理を説明するためのフローチャートである。
【図２４】時系列データ解析処理を説明するためのフローチャートである。
【図２５】条件・属性・周期によるデータ抽出・解析処理を説明するためのフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１３】
本実施例は、データ蓄積時に、解析対象となる複数の時系列データの組み合わせとして、同一周期で発生する時系列データの組み合わせ（予測振動数と実績振動数に関する時系列データ）を選択し、選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約し、集約した複数組の時系列データを属性（振動数）に対応付けて記憶部に蓄積し、データ解析時に、解析で用いる時系列データとして、同一周期で発生する時系列データの組み合わせ（予測振動数と実績振動数に関する時系列データ）を記憶部から抽出するものである。【００１４】
以下、本発明の一実施形態を図面に基づいて説明する。【００１５】
図１は、本発明が適用された計算機システムのブロック構成図である。図１において、計算機システムは、時系列データソース１０と、クライアント計算機１２と、ネットワーク１４と、時系列データ処理装置１６と、外部記憶装置１８を備えて構成されている。時系列データソース１０とクライアント計算機１２および時系列データ処理装置１６は、ネットワーク１４を介して互いに接続され、時系列データ処理装置１６は、外部記憶装置１８に接続されている。【００１６】
時系列データソース１０は、各種センサ、例えば、温度、湿度、電圧、電流、発電量、電力消費量、タービンの実績振動数などを検出するセンサあるいは、タービン振動の予測値などを発生する予測振動数発生器などを備え、各種センサや予測振動数発生器などの出力信号を時系列データとして、時間軸に従ってネットワーク１４に出力する時系列データ発生源として構成される。【００１７】
クライアント計算機１２は、プロセッサ、メモリ、入出力装置、記憶装置、表示装置などを有し、解析要求としての解析クエリをネットワーク１４に発行するとともに、時系列データ処理装置１６からのデータを、ネットワーク１４を介して受信し、受信したデータを結果データとして記憶装置に格納する。【００１８】
時系列データ処理装置１６は、メモリ２０、通信インタフェース２２、外部記憶インタフェース２４、プロセッサ２６から構成され、メモリ２０と通信インタフェース２２と外部記憶インタフェース２４およびプロセッサ２６が、内部ネットワーク２８を介して互いに接続され、通信インタフェース２２が、ネットワーク１４に接続され、記憶部としての外部記憶インタフェース２４が、外部記憶装置１８に接続されている。なお、外部記憶装置１８の代わりに、時系列データ処理装置１６に、記憶部としての記憶装置を配置し、この記憶装置を内部ネットワーク２８に接続する構成とすることもできる。【００１９】
プロセッサ２６は、時系列データ処理装置１６全体を統括制御し、メモリ２０に格納された時系列データ処理プログラム３０に従って各種の処理を実行する。【００２０】
この際、プロセッサ２６は、時系列データソース１０から出力される時系列データを順次入力して処理するデータ処理部として機能するとともに、外部記憶装置１８に格納された集約データテーブル３２をアクセスして、集約データテーブル３２からデータを取得し、取得したデータを解析するデータ取得解析部として機能する。【００２１】
時系列データ処理プログラム３０は、データ蓄積部３４と、データ解析部３６と、データ取得部３８と、設定情報格納領域４０から構成される。【００２２】
データ蓄積部３４は、データ処理部として機能し、データ受付部４２と、データ属性集約部４４と、データ時間集約部４６と、特徴点抽出部４８と、データ圧縮部５０と、集約データ書込み部５２と、属性バッファ５４と、時間バッファ５６から構成される。【００２３】
データ解析部３６は、解析受付部６０と、解析実行部６２から構成される。【００２４】
データ取得部３８は、読込み時間帯絞込み部７０と、集約データ読込み部７２と、データ解凍部７４と、データ時間抽出部７６と、データ絞込み部７８と、データ属性抽出部８０から構成される。この際、データ解析部３６とデータ取得部３８は、データ取得解析部として機能する。  【００２５】
設定情報格納領域４０は、属性集約情報９０と、時間集約情報９２を格納する。【００２６】
データ蓄積部３４のデータ受付部４２は、時系列データソース１０から出力される時系列データが、ネットワーク１４と、通信インタフェース２２を介して時系列データ処理装置１６に入力された場合、入力された時系列データを時間軸に従って順次受け付ける。このデータ受付部４２は、時系列データとして、同一周期で発生する時系列データとして、予測振動数に関する時系列データと実績振動数に関する時系列データを受け付けたときには、各時系列データをデータ属性集約部４４に出力する。【００２７】
データ属性集約部４４は、入力した時系列データのうち解析対象となる複数の時系列データ、即ち、同一周期で発生する複数の時系列データを組み合わせ、組み合わせた複数の時系列データ、例えば、予測振動数と実績振動数に関する時系列データを組み合わせ、組み合わせた複数の時系列データを、互いに関連する属性、例えば、振動数に対応付けて集約（以下、属性集約と称することもある。）し、集約された時系列データを属性集約データとして、属性バッファ５４に蓄積するとともに、データ時間集約部４６に出力する。【００２８】
データ時間集約部４６は、入力した属性集約データを、設定された時間（設定時間）分だけ纏めて収集して時間集約データとして処理する。例えば、データ時間集約部４６は、入力された属性集約データを１時間単位で集約して時間集約データとして、時間バッファ５６に蓄積するとともに、特徴点抽出部４８に出力する。【００２９】
すなわち、データ属性集約部４４が、解析対象となる時系列データであって、同一周期で発生する複数の時系列データを組み合わせた場合、時系列データの組み合わせを1組ずつ選択し、選択した各組の時系列データを、設定時間の１時間単位で纏めて集約し、集約した複数組の時系列データを時間集約データとして時間バッファ５６に蓄積する。【００３０】
特徴点抽出部４８は、入力した時間集約データから、その特徴点を抽出し、抽出した特徴点、例えば、予測最大値、予測最小値、実績最大値、実績最小値とともに、入力した時間集約データをデータ圧縮部５０に出力する。【００３１】
データ圧縮部５０は、特徴点抽出部４８から出力された時間集約データを圧縮し、圧縮したデータと特徴点抽出部４８から出力された特徴点を集約データ書込み部５２に出力する。【００３２】
集約データ書込み部５２は、データ圧縮部５０から出力されるデータを集約データとして、外部記憶装置１８の集約データテーブル３２に書き込む。【００３３】
データ解析部３６の解析受付部６０は、クライアント計算機１２から発行される解析クエリが、ネットワーク１４と、通信インタフェース２２を介して入力された場合、クライアント計算機１２からの解析クエリを受け付け、受け付けた解析クエリをデータ取得部３８に出力する。解析実行部６２は、データ取得部３８の処理結果を基に解析クエリで規定された解析を実行する。【００３４】
データ取得部３８の読込み時間帯絞込み部７０は、解析受付部６０からの解析クエリを解釈し、解析クエリに規定された読込み時間帯と検索条件を取得し、集約データテーブル３２から取得した読込み時間帯の特徴点を基に読込み時間帯を絞込み、集約データ読込み部７２に出力する。【００３５】
集約データ読込み部７２は、読込み時間帯絞込み部７０で絞り込まれた読込み時間帯を基に集約データテーブル３２を検索し、集約データテーブル３２に格納されているデータ集約時間帯に属するデータ（集約ＩＤ、特徴点、時間集約データなどを含むデータ）をデータ解凍部７４に出力する。【００３６】
データ解凍部７４は、集約データ読込み部７２から出力された時間集約データを解凍し、解凍した時間集約データをデータ時間抽出部７６に出力する。【００３７】
データ時間抽出部７６は、データ解凍部７４で解凍された時間集約データのうち読込み時間帯の時間集約データを抽出し、抽出した時間集約データを属性集約データと処理し、属性集約データをデータ絞込み部７８に出力する。【００３８】
データ絞込み部７８は、データ時間抽出部７６で処理された属性集約データの中から解析クエリに規定された検索条件を満たす属性集約データを絞り込んで抽出し、絞り込まれた属性集約データをデータ属性抽出部８０に出力する。【００３９】
データ属性抽出部８０は、データ絞込み部７８により絞り込まれた属性集約データの中から解析対象の属性（振動数）を有する複数の時系列データ（予測振動数と実績振動数に関する時系列データ）を同一周期毎に抽出し、抽出した複数の時系列データを解析実行部６２に出力する。【００４０】
次に、図２に、時系列データ管理テーブルの構成を示す。【００４１】
図２において、時系列データ管理テーブル１００は、例えば、時系列データ処理装置１６のメモリ２０に格納されるテーブルであって、名前１０２と、属性１０４と、日時１０６と、値１０８から構成される。この時系列データ管理テーブル１００には、時系列データソース１０から発生する時系列データに関する情報が順次格納される。【００４２】
例えば、時系列データD１は、名前１０２が、「タービン振動の予測値」で、属性１０４が、「予測振動数」、日時１０６が、「２０１０−０５−０１  ０７：００：００」、値１０８が、「１５．２」のデータとして管理される。時系列データD２は、名前１０２が、「タービン振動の実績値」、属性１０４が、「実績振動数」、日時１０６が、「２０１０−０５−０１  ０７：００：００」、値１０８が、「２４．３」のデータとして管理される。【００４３】
時系列データD３は、名前１０２が、「ワットチェッカー」、属性１０４が「電力消費量」、日時１０６が、「２０１０−０５−０１  ０７：００：００」、値１０８が、「６．７」のデータとして管理され、時系列データD４は、名前１０４が、「発電量計測器」、属性１０４が、「発電量」、日時１０６が、「２０１０−０５−０１  ０７：００：００」、値１０８が、「２４０」のデータとして管理される。【００４４】
時系列データD１、D２は、同一周期で発生する時系列データであって、次の発生周期には、時系列データD５、D６として管理される。【００４５】
時系列データD３、D４は、互いに異なる周期で発生する時系列データであって、時系列データD３は、１分毎に発生し、次の発生周期では、時系列データD７として管理される。時系列データD４は、１時間周期で発生する時系列データであって、次の発生周期では、時系列データD９として管理される。【００４６】
次に、図３に、設定情報格納領域４０に格納される属性集約情報９０の構成を示す。【００４７】
図３において、属性集約情報９０は、集約ID１２０と属性１２２から構成される。属性１２２には、例えば、解析対象となる複数の時系列データのうちタービン振動の予測値に関する時系列データの属性として、「予測振動数」が格納されるとともに、タービン振動の実績値の属性を示す「実績振動数」が格納される。集約ID１２０には、例えば、予測振動数と実績振動数が示す属性であって、互いに関連する属性である「振動数」が格納される。【００４８】
次に、図４に、属性バッファ５４の構成を示す。【００４９】
属性バッファ５４は、情報格納領域がテーブル形式で構成され、日時フィールド１３０と、属性フィールド１３２と、値フィールド１３４から構成される。日時フィールド１３０の各エントリには、解析対象となる複数の時系列データが取得されたときの日時に関する情報が格納される。【００５０】
属性フィールド１３２の各エントリには、例えば、解析対象となる複数の時系列データの属性に関する情報として、「予測振動数」と「実績振動数」が格納される。【００５１】
値フィールド１３４の各エントリには、各時系列データの値に関する情報、例えば、予測振動数に関する時系列データの値として、「１５．２」が格納され、実績振動数に関する時系列データの値として、「２４．３」が格納される。【００５２】
次に、図５に、設定情報格納領域４０に格納される時間集約情報９２の構成を示す。【００５３】
時間集約情報９２は、集約ID１４０と、時間集約データ数４２から構成される。集約ID１４０には、例えば、予測振動数と実績振動数が示す属性であって、互いに関連する属性である「振動数」が格納される。時間集約データ数１４２には、例えば、時系列データを１時間分蓄積するための個数として、「３６００個」の情報が格納される。【００５４】
次に、図６に、時間バッファ５６の構成を示す。【００５５】
時間バッファ５６は、情報記憶領域がテーブル形式で構成され、集約IDフィールド１５０と、データ集約時間帯フィールド１５２と、属性集約データフィールド１５４から構成される。【００５６】
集約IDフィールド１５０のエントリには、例えば「振動数」の情報が格納される。データ集約時間帯フィールド１５２のエントリには、時系列データが集約された時間帯に関する情報が格納される。【００５７】
属性集約データフィールド１５４の各エントリには、解析対象となる複数の時系列データ、例えば、時系列データD１と時系列データD２が組み合わされ、組み合わされた時系列データD１、D２が、集約ＩＤの「振動数」に対応付けて格納される。【００５８】
次に、図７に、外部記憶装置１８に格納される集約データテーブル３２の構成を示す。【００５９】
図７において、集約データテーブル３２は、集約IDフィールド１６０と、特徴点フィールド１６２と、データ集約時間帯フィールド１６４と、時間集約データフィールド１６６から構成される。【００６０】
例えば、集約IDフィールド１６０の各エントリには、予測振動数と実績振動数が示す属性を集約した属性である「振動数」の情報が格納される。【００６１】
特徴点フィールド１６２の各エントリには、入力した複数の時系列データのうち１時間に亘って蓄積された時系列データの特徴点に関する情報が格納される。例えば、予測振動数の最大値が、「予測最大値：３０」として格納され、予測振動数の最小値として、「予測最小値：０」として格納され、実績振動数の最大値として、「実績最大値：４０」が格納され、実績振動数の最小値として、「実績最小値：０」が格納される。【００６２】
データ集約時間帯フィールド１６４には、各時系列データを時間集約データとして、纏めたときのデータ集約時間帯に関する情報が年月日を示す情報とともに数値で格納される。【００６３】
時間集約データフィールド１６６の各エントリには、１時間単位で集約された時間集約データに関するデータが格納される。この際、時系列データD１、D２が組み合わされ、時系列データD５、D６が組み合わされ、それぞれ組み合わされた時系列データD１、D２、D５、D６が、集約ＩＤの「振動数」に対応付けて格納される。また、各エントリには、組み合わされた１時間分の時系列データが格納されることになる。【００６４】
次に、図８に解析クエリに関する構成を示す。【００６５】
図８において、解析クエリ１７０は、選択レンジ（select_range）１７２と、選択項目（select_items）１７４と、データ取得対象時間帯（from    _timerange）１７６と、検索条件（where_condition）１７８から構成される。【００６６】
選択レンジ１７２には、データ解析部３６が処理するタイミングとして、例えば「１秒」が格納される。選択項目１７４には、解析実行部６２が解析を行うための解析対象IDとして、例えば「予測周波数−実績周波数AS乖離周波数」が格納される。【００６７】
データ取得対象時間帯１７６には、解析実行部６２が、解析を実行する際に用いるデータ取得対象時間帯に関する情報として、例えば、「２０１０−０５−０１  ０７：２０：００〜２０１０−０５−０１  ０８：４０：００」が格納される。【００６８】
検索条件１７８には、検索対象IDとなる条件として、例えば、「予測振動数＞＝４０」の情報が格納される。【００６９】
次に、時系列データ蓄積処理を図９のフローチャートに従って説明する。【００７０】
この処理は、プロセッサ２６が、時系列データ処理プログラム３０のデータ蓄積部３４を起動することで開始される。【００７１】
まず、データ受付部４２が、時系列データソース１０からの時系列データを、通信インタフェース２２を介して受信した場合、データ受付部４２は、受信した時系列データを順次データ属性集約部４４に渡す（S１１）。【００７２】
次に、データ属性集約部４４は、受信した時系列データのうち同一周期の複数の時系列データの属性、例えば、「予測振動数、実績振動数」と、属性集約情報９０の属性１２２とを突き合わせ、受信した各時系列データの属性が、「予測振動数」または「実績振動数」である場合、受信した各時系列データの属性に対応する集約IDとして、「振動数」を取得し（S１２）、受信した各時系列データを、集約ID（振動数）に対応する属性バッファ５４に蓄積する（S１３）。【００７３】
次に、データ属性集約部４４は、集約IDに対応する属性バッファ５４に、同じ日時における属性の値が全て存在するか否かを判定し（S１４）、全て存在していないときには、ステップS１１の処理に戻り、全て存在していると判定したときには、集約IDに対応する属性バッファ５４から、同じ日時の全ての属性のデータを取得し、その後、属性バッファ５４上のデータを削除する（S１５）。【００７４】
次に、データ属性集約部４４は、属性バッファ５４から取得した全ての属性のデータを、解析対象となる複数の時系列データ毎に組み合わせて集約IDに対応付けるための属性集約を行い、組み合わされた複数の時系列データを属性集約データとして処理し、この属性集約データをデータ時間集約部４６に出力する（S１６）。【００７５】
次に、データ時間集約部４６は、属性集約データを受け取り、この属性集約データを時間バッファ５６に蓄積し（S１７）、時間バッファ５６のデータの個数が、時間集約情報９２の時間集約データ数４２に格納された個数、例えば、３６００個を超えているか否かを判定し（S１８）、時間バッファ５６のデータの個数が、時間集約データ数を超えていないときには１時間分のデータを収集するために、ステップS１１の処理に戻り、時間バッファ５６のデータの個数が、時間集約データ数を超えたときには、１時間分のデータが収集されたとして、ステップS１９の処理に移行する。【００７６】
次に、ステップS１９において、データ時間集約部４６は、集約ID（振動数）に対応する時間バッファ５６から、属性集約データを全て取得し、その後、時間バッファ５６上のデータを削除する。【００７７】
次に、データ時間集約部４６は、収集した全ての属性集約データを１時間分のデータとして時間集約し、属性集約データを時間集約データとして処理し、時間集約データを特徴点抽出部４８に出力する（S２０）。【００７８】
次に、特徴点抽出部４８は、入力した時間集約データから、その特徴となる値として「特徴点」を抽出し、抽出した特徴点とともに、時間集約データをデータ圧縮部５０に出力する（S２１）。【００７９】
次に、データ圧縮部５０は、入力した時間集約データを圧縮し、圧縮したデータと特徴点を集約データ書込み部５２に出力する（S２２）。【００８０】
次に、集約データ書込み部５２は、時間集約データと特徴点のデータを受け取り、受け取った時間集約データと特徴点のデータを、外部記憶インタフェース２４を介して外部記憶装置１８の集約データテーブル３２に書き込み（S２３）、このルーチンでの処理を終了する。【００８１】
この際、集約データテーブル３２には、１時間単位の時間集約データが、特徴点やデータ集約時間帯のデータとともに、集約ID（振動数）に対応付けて格納される。また、集約データテーブル３２には、圧縮されたデータが蓄積されるので、データを圧縮しないときよりも、少ないデータ量で集約データを蓄積することができる。【００８２】
次に、時系列データ解析処理を図１０のフローチャートに従って説明する。【００８３】
この処理は、プロセッサ２６が、時系列データ処理プログラム３０のデータ解析部３６とデータ取得部３８を起動することで開始される。【００８４】
まず、解析受付部６０が、解析クエリ１７０を受信し（S３１）、データ取得部３８が、解析対象ID・検索対象ID・取得対象ID・取得対象集約IDリスト作成処理を実行し（S３２）、その後データ取得部３８が、データ取得処理を実行する（S３３）。その後、解析実行部６２は、条件・属性によるデータ抽出・解析処理を実行し（S３４）、解析結果バッファ（図示せず）に蓄積されたデータを結果データとして、クライアント計算機１２に送信する処理を実行し（S３５）、このルーチンでの処理を終了する。【００８５】
次に、解析対象ID・検索対象ID・取得対象ID・取得対象集約IDリスト作成処理を図１１のフローチャートに従って説明する。【００８６】
この処理は、図１０のステップS３２で行われる処理であって、まず、解析受付部６０は、解析クエリ７０の選択項目（select_items）１７４から、解析対象IDリストを作成し、このリスト中に解析対象IDとして、予測振動数と実績振動数を書き込む（S４１）。【００８７】
次に、解析受付部６０は、解析クエリ１７０の検索条件（where_condition）１７８から、検索対象IDリストを作成し、このリスト中に、検索対象IDとして予測振動数を書き込む（S４２）。【００８８】
次に、解析受付部６０は、解析対象IDと検索対象IDを合わせて、取得対象IDリストを作成し、このリスト中に取得対象IDとして、予測振動数と実績振動数を書き込む（S４３）。【００８９】
次に、解析受付部６０は、ステップS４４からステップS４８の取得対象IDリストのループ処理を開始する。【００９０】
まず、データ解析受付部６０は、取得対象IDと、属性集約情報９０の属性１２２とを突き合わせ、取得対象となる集約IDとして、「振動数」を取得し（S４５）、取得対象となる集約ID「振動数」が、取得対象集約IDリストに存在するか否かを判定し（S４６）、存在しないときには取得対象集約IDリストに取得対象となる集約IDを追加し（S４７）、取得対象となる集約IDがすでに取得対象集約IDリストに存在するときには、このルーチンでの処理を終了する。【００９１】
次に、データ取得処理を図１２のフローチャートに従って説明する。【００９２】
この処理は、図１０のステップS３３で行われる処理である。まず、読込み時間帯絞込み部７０は、解析受付部６０から取得対象集約IDリストを受信し（S５１）、解析クエリ１７０を基に、解析クエリ１７０のデータ取得対象時間帯（from_timerange）１７６の時間帯から、データ取得対象時間帯として、例えば、「０７：２０：００〜０８：４０：００」を取得する（S５２）。【００９３】
次に、読込み時間帯絞込み部２７０は、集約データテーブル３２の特徴点を用いて、解析クエリ１７０の検索条件（where_condition）１７８が成立するデータが存在する時間帯に、データ取得時間帯を絞り込む（S５３）。例えば、読込み時間帯絞込み部２７０は、図７の集約データテーブル３２を参照し、予測振動数が４０以上の時系列データが、第１のエントリには存在せず、第２のエントリにのみ存在するときには、データ取得対象時間帯を、７時２０分〜８時４０分から８時０分〜８時４０分に絞り込む。【００９４】
この後、読込み時間帯絞込み部７０は、絞り込んだデータ取得対象時間帯に関する情報を集約データ読込み部７２に出力する。【００９５】
この後、ステップS５４〜S５８において、取得対象集約IDリストのループ処理が行われる。【００９６】
まず、集約データ読込み部７２は、集約データテーブル３２を参照し、取得対象集約IDに関する集約データとして、絞り込まれたデータ取得対象時間帯に属する集約データを集約データテーブル３２から取得し、取得した集約データをデータ解凍部７４に出力する（S５５）。【００９７】
次に、データ解凍部７４は、入力した集約データを解凍し、解凍した集約データをデータ時間抽出部７６に出力する（S５６）。【００９８】
次に、データ時間抽出部７６は、時間集約情報９２の時間集約データ数４２を参照し、時間集約データ数を基に、絞り込まれたデータ取得対象時間帯に属する属性集約データリストを抽出し（S５７）、取得対象集約IDリストに関する処理が全て完了したことを条件に、このルーチンでの処理を終了する。【００９９】
次に、条件・属性によるデータ抽出・解析処理を図１３のフローチャートに従って説明する。【０１００】
この処理は、図１０のステップS３４における処理であって、まず、データ絞込み部７８は、解析クエリ１７０の条件１７８から、データ絞り込み条件（予測振動数が４０以上）を取得し（S６１）、データ時間抽出部７６が抽出した属性集約データリストを取得する（S６２）。【０１０１】
この後、ステップS６３〜S６８において、属性集約データリストのループ処理が行われる。【０１０２】
まず、データ絞込み部７８は、属性集約データに対し、データ絞り込み条件が成立するか否かを判定する（S６４）。具体的には、データ絞込み部７８は、属性集約データの中に予測振動数が、４０以上のものが存在するか否かを判定する。即ち、データ絞込み部７８は、予測振動数の値が、検索対象の条件となる基準値＝４０以上であるか否かを判定する。属性集約データの中に予測振動数が、４０以上のものが存在する場合、データ絞込み部７８は、予測振動数の値が、検索対象の条件となる基準値＝４０以上である時系列データの組み合わせを、絞り込まれた時系列データの組み合わせとして抽出することになる。【０１０３】
属性集約データの中に予測振動数が、４０以上のものが存在する場合、データ属性抽出部７８は、データ絞込み部７８によって絞り込まれた時系列データ（属性集約データ）の組み合わせから、解析対象IDリストのデータを抽出する（S６５）。すなわち、属性集約データの中から、解析クエリ１７０の選択項目１７４で規定されている、予測振動数と実績振動数に関する時系列データを１組ずつ、解析対象の複数の時系列データとして抽出する。【０１０４】
データ属性抽出部８０は、抽出した複数の時系列データの組み合わせをそれぞれ解析対象の複数の時系列データとして解析実行部６２に出力する。【０１０５】
解析実行部６２は、データ属性抽出部８０によって抽出された複数組の時系列データに対して、解析クエリ１７０の選択項目１７４で規定された解析を実行する（S６６）。すなわち、解析対象となる複数の時系列データであって、予測振動数が４０以上の組について、予測振動数から実績振動数を減算し、乖離周波数を求める解析を実行する。【０１０６】
この後、解析実行部６２は、各組の解析結果を解析結果バッファ（図示せず）に蓄積し（S６７）、このルーチンでの処理を終了する。【０１０７】
本実施例によれば、同一周期で発生する複数の時系列データを、属性（振動数）で纏めて集約するとともに、設定時間単位で纏めて集約するようにしたため、同一周期で発生する複数の時系列データを効率的に蓄積することができる。【０１０８】
また、本実施例によれば、属性（振動数）を基準に複数の時系列データを蓄積した集約データテーブル３２に対して、属性を基にアクセスすることで、解析で用いる時系列データとして、同一周期で発生する時系列データの組み合わせを集約データテーブル３２から抽出するようにしたため、解析で用いる時系列データを効率的にアクセスして解析することができる。
【実施例２】
【０１０９】
本実施例は、データ蓄積時に、解析対象となる複数の時系列データの組み合わせとして、異なる周期で発生する時系列データの組み合わせ（発電量と電力消費量に関する時系列データ）を選択し、選択した時系列データの組み合わせを複数組纏めて設定時間単位で集約し、集約した複数組の時系列データを属性（電力）に対応付けて記憶部に蓄積し、データ解析時に、解析で用いる時系列データとして、異なる周期で発生する時系列データの組み合わせ（発電量と電力消費量に関する時系列データ）を記憶部から抽出するものである。【０１１０】
図１４に本発明に係る第２実施例の全体構成を示す。【０１１１】
本実施例における計算機システムは、時系列データ処理装置１６において、データ蓄積部３４のデータ受付部４２とデータ属性集約部４４との間にデータ周期集約部４３を配置し、属性バッファ５４の代わりに、属性バッファ５３を配置し、時間バッファ５６の代わりに、時間バッファ５５を配置し、データ周期集約部４３が管理するバッファとして、周期バッファ５７を配置し、データ取得部３８のデータ属性抽出部８０の後にデータ周期抽出部８２を配置し、設定情報格納領域４０に、属性集約情報９０の代わりに、属性集約情報９１を配置し、時間集約情報９２の代わりに、時間集約情報９３を配置し、新たに周期集約情報９５を配置し、さらに、外部記憶装置１８に集約データテーブル３２の代わりに、集約データテーブル３３を格納し、時系列データ処理装置１６で時系列データとして、異なる周期で発生する時系列データを処理するようにしたものであり、他の構成は第１実施例と同様である。【０１１２】
データ周期集約部４３は、データ受付部４２の出力による時系列データのうち発生周期が異なる時系列データを１時間分の時系列データとして纏めて処理するために、例えば、１時間周期で発生する時系列データ（発電量に関する時系列データ）と、１分周期で発生する時系列データ（電力消費量に関する時系列データ）を蓄積データとして周期バッファ５７に蓄積するとともに、１時間周期で発生する時系列データと１分周期で発生する時系列データをそれぞれデータ属性集約部４４に出力する。【０１１３】
データ属性集約部４４は、入力した時系列データのうち解析対象となる複数の時系列データ、即ち、異なる周期で発生する複数の時系列データを組み合わせ、組み合わせた複数の時系列データ、例えば、発電量に関する時系列データと電力消費量に関する時系列データを組み合わせ、組み合わせた複数の時系列データを、互いに関連する属性、例えば、電力に対応付けて集約（以下、属性集約と称することもある。）し、集約された時系列データを属性集約データとして、属性バッファ５３に蓄積するとともに、データ時間集約部４６に出力する。【０１１４】
データ時間集約部４６は、入力した属性集約データを、設定された時間分だけ収集して時間集約データとして処理する。例えば、データ時間集約部４６は、入力された属性集約データを２４時間単位で集約して時間集約データとして、時間バッファ５５に蓄積するとともに、特徴点抽出部４８に出力する。【０１１５】
特徴点抽出部４８は、入力した時間集約データから、その特徴点を抽出し、抽出した特徴点とともに、入力した時間集約データをデータ圧縮部５０に出力する。【０１１６】
データ圧縮部５０は、特徴点抽出部４８から出力された時間集約データを圧縮し、圧縮したデータと特徴点抽出部４８から出力された特徴点を集約データ書込み部５２に出力する。【０１１７】
集約データ書込み部５２は、データ圧縮部５０から出力されるデータを集約データとして、外部記憶装置１８の集約データテーブル３２に書き込む。【０１１８】
データ解析部３６の解析受付部６０は、第１実施例と同様に、クライアント計算機１２からの解析クエリを受け付け、受け付けた解析クエリをデータ取得部３８に出力する。解析実行部６２は、第１実施例と同様に、データ取得部３８の処理結果を基に解析クエリで規定された解析を実行する。【０１１９】
データ取得部３８の読込み時間帯絞込み部７０、集約データ読込み部７２、データ解凍部７４、データ時間抽出部７６、データ絞込み部７８、データ属性抽出部８０は、第１実施例と同様に、時系列データに関する処理を実行する。【０１２０】
この際、データ属性抽出部８０は、データ絞込み部７８により絞り込まれた属性集約データの中から、解析対象となる時系列データであって、集約ＩＤが電力に対応付けられた複数の時系列データとして、１個の発電量に関する時系列データと、６０個の電力消費量に関する時系列データとを組み合わせたものを解析対象毎に纏めて抽出し、各抽出した複数の時系列データを解析実行部６２に出力する。【０１２１】
次に、図１５に、周期集約情報９５の構成を示す。【０１２２】
周期集約情報９５は、属性２００と、周期集約データ数２０２から構成される。属性２００には、例えば、解析対象の時系列データに関する属性として、「発電量」と「電力消費量」が格納される。周期集約データ数２０２には、例えば、１時間単位で解析を行うときに必要なデータ数として、発電量に対応して「１個」が格納され、電力消費量に対応して「６０個」の情報が格納される。これは、１時間当たりにおける電力差を解析する場合、発電量として１個のデータを用い、１分間に発生する電力消費量として、６０個のデータを用いるためである。【０１２３】
図１６に、周期バッファ５７の構成を示す。【０１２４】
周期バッファ５７は、情報記憶領域がテーブル形式で構成されており、日時フィールド２１０と、属性フィールド２１２と、蓄積データフィールド２１４から構成される。【０１２５】
日時フィールド２１０の各エントリには、周期バッファ５７にデータを蓄積する日時に関する情報が、年月日とともに数値で格納される。属性フィールド２１２の各エントリには、例えば、周期バッファ５７に蓄積された時系列データの属性として、「発電量」または「電力消費量」の情報が格納される。蓄積データフィールド２１４の各エントリには、周期バッファ５７に蓄積された時系列データ（蓄積データ）の値が格納される。【０１２６】
例えば、発電量に対応して、図２における時系列データD４の値として、「２４０」が格納され、電力消費量に対応して、図２における時系列データD３、D７、D８の値として、「６．７」、「７．１」、「１２．４」が格納される。【０１２７】
次に、図１７に属性集約情報９１の構成を示す。【０１２８】
属性集約情報９１は、集約ID２２０と、属性２２２から構成される。属性２２２は、異なる周期で発生する時系列データの属性として、例えば、「発電量」、「電力消費量」が格納される。集約ID２２０には、属性２２２に格納される発電量と電力消費量が示す属性であって、互いに関連する属性として「電力」が格納される。【０１２９】
次に、図１８に、属性バッファ５３の構成を示す。【０１３０】
属性バッファ５３は、情報記憶領域がテーブル形式で構成され、周期集約時間帯フィールド２３０と、属性フィールド２３２と、周期集約データフィールド２３４から構成される。【０１３１】
周期集約時間帯フィールド２３０の各エントリには、１時間単位の周期集約時間帯に関する情報が格納される。属性フィールド２３２の各エントリには、例えば、解析対象となる複数の時系列データの属性として、「発電量」と「電力消費量」が格納される。【０１３２】
周期集約データフィールド２３４の各エントリには、例えば、発電量に対応して、発電量の値が、１個格納され、電力消費量に対応して、１分周期で収集された電力消費量の値が、６０個格納される。【０１３３】
次に、図１９に、時間集約情報９３の構成を示す。【０１３４】
時間集約情報９３は、集約ID２４０と、時間集約データ数２４２から構成される。集約ID２４０には、例えば、「発電量」と「電力消費量」に互いに関連する属性として、「電力」が格納される。時間集約データ数２４２には、例えば、電力のデータを２４時間単位で時間集約するために、「２４個」が格納される。【０１３５】
次に、図２０に、時間バッファ５５の構成を示す。【０１３６】
時間バッファ５５は、データ集約時間帯２５０と、属性集約データ２５２から構成される。データ集約時間帯２５０には、データを集約する時間帯に関する情報が２４時間単位の情報として格納される。属性集約データ２５２には、１時間毎のデータが纏めて格納される。例えば、図２の時系列データの場合、時系列データD４、D３、D７、・・・、D８が、解析対象となる、１時間分のデータとして格納される。【０１３７】
次に、図２１に、集約データテーブル３３の構成を示す。【０１３８】
集約データテーブル３３は、情報記憶領域がテーブル形式で構成され、集約IDフィールド２６０と、特徴点フィールド２６２と、データ集約時間帯フィールド２６４と、時間集約データフィールド２６６から構成される。【０１３９】
集約IDフィールド２６０の各エントリには、例えば、発電量と電力消費量を集約した属性として、「電力」が格納される。【０１４０】
特徴点フィールド２６２の各エントリには、２４時間毎に纏められた時系列データの特徴点に関する情報が格納される。例えば、発電量の最大値として「発電量最大値：３００」が格納され、発電量の最小値として、「発電量最小値：２００」が格納される。また、電力消費量の最大値として、「電力消費量最大値：１０」が格納され、電力消費量の最小値として、「電力消費量最小値：５」が格納される。【０１４１】
データ集約時間帯フィールド２６４の各エントリには、例えば、発電量と電力消費量を２４時間分取得するためのデータ集約時間帯に関する情報が格納される。【０１４２】
時間集約データフィールド２６６には、２４時間分のデータとして、１時間単位で周期集約したデータに関する値が格納される。例えば、図２の時系列データの場合、１時間分のデータとして、時系列データD４、D３、D７、・・・、D８の値がそれぞれ格納される。【０１４３】
次に、図２２に、解析クエリ２７０の構成を示す。【０１４４】
解析クエリ２７０は、選択レンジ（select_range）２７２と、選択項目（select_items）２７４と、データ取得対象時間帯（from_timerange）２７６と、検索条件（where_condition）２７８から構成される。【０１４５】
選択レンジ（select_range）２７２には、データ解析部３６がデータを解析する処理時間単位として１時間が格納される。【０１４６】
選択項目（select_itemｓ）２７４には、解析対象IDとして、例えば、発電量−SUM（電力消費量）AS電力差分が格納される。【０１４７】
データ取得対象時間帯（from_timerange）２７６には、データ取得対象時間帯に関する情報として、例えば「２０１０−０５−０１  ０７：００：００」〜「２０１０−０５−０１  １７：００：００」が格納される。【０１４８】
条件（where_condition）２７８には、検索対象IDとなる条件として、発電量＞＝２５０が格納される。【０１４９】
次に、時系列データ蓄積処理を図２３のフローチャートに従って説明する。【０１５０】
この処理は、プロセッサ２６が、時系列データ処理プログラム３０のデータ蓄積部３４を起動することによって開始される。【０１５１】
まず、データ受付部４２は、時系列データソース１０から出力された時系列データをネットワーク１４と通信インタフェース２２を介して受信し、受信した時系列データをデータ周期集約部４３に渡す（S７１）。【０１５２】
次に、データ周期集約部４３は、入力した時系列データを順次周期バッファ５７に蓄積し（S７２）、周期バッファ５７の蓄積データの個数が、周期集約情報９５の周期集約データ数２０２で規定された数を超えているか否かを判定し（S７３）、周期バッファ５７に蓄積されたデータの個数が、周期集約データ数２０２で規定された個数を超えていないときには、ステップS７１の処理に戻り、周期バッファ５７に蓄積されたデータの個数が、周期集約データ数２０２で規定された個数を超えているときには、ステップS７４の処理に移行する。【０１５３】
ステップS７３では、データ周期集約部４３は、入力した時系列データを周期バッファ５７に順次蓄積していく過程で、発電量に関する時系列データが１個蓄積されたか否かを判定するとともに、電力消費量に関する時系列データの個数が６０個に達したか否かを判定することになる。【０１５４】
次に、データ周期集約部４３は、周期バッファ５７に蓄積された蓄積データ（発電量に関する時系列データを１個と電力消費量に関する時系列データを６０個含むデータ）を周期バッファ５７から取得し、その後、周期バッファ５７のデータを削除し（S７４）、周期バッファ５７から取得した蓄積データを１時間周期のデータとして纏めるための周期集約を実行し、周期集約された周期集約データ（発電量に関する時系列データと発電量に関する時系列データを含むデータ）をデータ属性集約部４４に出力する（S７５）。【０１５５】
次に、データ属性集約部４４は、周期集約データを受け取り、この周期集約データを集約IDに対応する属性バッファ５３に順次蓄積し（S７６）、集約IDに対応する属性バッファ５３に、同一日時における全ての属性（発電量と電力消費量）の周期集約データが存在するか否かを判定し（S７７）、全て存在していないと判定したきには、ステップS７１の処理に戻り、全て存在していると判定したときには、集約IDに対応する属性バッファ５３から、同一日時の全ての属性（発電量と電力消費量）の周期集約データを取得し、その後、属性バッファ５３上のデータを削除する（S７８）。【０１５６】
次に、データ属性集約部４４は、属性バッファ５３から取得した全ての属性（発電量と電力消費量）の周期集約データを、解析対象となる複数の時系列データ毎に組み合わせて集約ID（電力）に対応付けるための属性集約を行い、組み合わされた複数の時系列データを属性集約データとして処理し、この属性集約データをデータ時間集約部４６に出力する（S７９）。【０１５７】
次に、データ時間集約部４６は、属性集約データを受け取り、この属性集約データを時間バッファ５５に順次蓄積し（S８０）、時間バッファ５５に蓄積された属性集約データの個数が、時間集約情報９３の時間集約データ数２４２に格納された個数、例えば、２４個を超えているか否かを判定し（S８１）、時間バッファ５５の属性集約データの個数が、時間集約データ数を超えていないときには２４時間分の属性集約データを収集するために、ステップS７１の処理に戻り、時間バッファ５５の属性集約データの個数が、時間集約データ数を超えたときには、２４時間分の属性集約データが収集されたとして、ステップS８２の処理に移行する。【０１５８】
次に、ステップS８２において、データ時間集約部４６は、集約ID（電力）に対応する時間バッファ５５から、属性集約データを全て取得し、その後、時間バッファ５５上のデータ（属性集約データ）を削除する。【０１５９】
次に、データ時間集約部４６は、取得した全ての属性集約データを２４時間分のデータとして纏めるための時間集約を実行し、時間集約された属性集約データを時間集約データとして処理し、時間集約データを特徴点抽出部４８に出力する（S８３）。【０１６０】
次に、特徴点抽出部４８は、入力した時間集約データから、その特徴となる値として「特徴点」を抽出し、抽出した特徴点とともに、時間集約データをデータ圧縮部５０に出力する（S８４）。【０１６１】
次に、データ圧縮部５０は、入力した時間集約データを圧縮し、圧縮したデータと特徴点を集約データ書込み部５２に出力する（S８５）。【０１６２】
次に、集約データ書込み部５２は、時間集約データと特徴点のデータを受け取り、受け取った時間集約データと特徴点のデータを、外部記憶インタフェース２４を介して外部記憶装置１８の集約データテーブル３３に書き込み（S８６）、このルーチンでの処理を終了する。この際、集約データテーブル３３には、２４時間単位の時間集約データが、特徴点やデータ集約時間帯のデータとともに、集約ID（電力）に対応付けて格納される。【０１６３】
次に、時系列データ解析処理を図２４のフローチャートに従って説明する。【０１６４】
この処理は、データ解析部３６とデータ取得部３８によって実行され、まず、解析受付部６０が、クライアント計算機１２から発行された解析クエリ２７０を受信し（S９１）、その後、データ取得部３８が、取得対象ID・検索条件ID・取得対象ID・取得対象集約IDリスト作成処理を実行する（S９２）。【０１６５】
次に、データ取得部３８が、データ取得処理を実行し（S９３）、この後、解析実行部６２が、条件・属性・周期によるデータ抽出・解析処理を実行し（S９４）、最後に、解析実行部６２が、解析結果バッファに蓄積された結果データをクライアント計算機１２に送信し（S９５）、このルーチンでの処理を終了する。【０１６６】
なお、ステップS９２における取得対象ID・検索条件ID・取得対象ID・取得対象集約IDリスト作成処理は、解析クエリ２７０に基づく処理である他は、図１１における処理と同一の内容であり、また、ステップS９３におけるデータ取得処理は、解析クエリ２７０に基づく処理である他は、図１２における処理と同一の内容であるので、それらの説明は省略する。【０１６７】
次に、条件・属性・周期によるデータ抽出・解析処理を図２５のフローチャートに従って説明する。【０１６８】
このステップは、図２４のステップS９４で行われる処理であり、まず、データ絞込み部７８は、解析クエリ２７０の検索条件（where_condition）２７８から、データ絞り込み条件として、例えば、発電量を、基準値＝２５０以上とした場合、発電量２５０以上を取得し（S１０１）、次に、データ時間抽出部７６が抽出した属性集約データリストを取得する（S１０２）。【０１６９】
この後、属性集約データリストに基づくループ処理がステップS１０３〜S１０９において行われる。【０１７０】
まず、データ絞込み部７８は、取得した属性集約データに対し、データ絞り込み条件が成立するか否かを判定する（S１０４）。すなわち属性集約データの中に、発電量が２５０以上のものが存在するか否かを判定し、発電量が２５０以上のものが存在する場合、ステップS１０５に移り、発電量が２５０以上のものが存在しない場合には、ステップS１０９の処理に移行する。【０１７１】
ステップS１０５において、データ属性抽出部８０は、属性集約データの中から、解析対象IDリストの属性集約データを抽出する。すなわち、データ属性抽出部８０は、解析クエリ２７０の選択項目２７４に規定されている属性集約データ、例えば、発電量に関する時系列データを１個と、電力消費量に関する時系列データを、１時間分のデータとして６０個含む属性集約データを抽出する。【０１７２】
次に、データ周期抽出部８２は、周期集約情報９５の周期集約データ数２０２で規定されたデータ数（発電量：１個、電力消費量：６０個）を基に、解析クエリ２７０のデータ取得対象時間帯（from_timerange）２７６内のデータ（７：００：００〜１７：００：００の間に蓄積されたデータ）を抽出する（S１０６）。【０１７３】
この後、解析実行部６２は、データ周期抽出部８２で抽出されたデータに対して、解析クエリ２７０の選択項目（select_items）２７４に関する解析を実行する。例えば、選択項目（select_items）２７４が、「発電量−SUM（電力消費量）AS電力差分」である場合、発電量から１時間分の電力消費量を減算して、電力差分を求める演算を実行する。【０１７４】
次に、解析実行部６２は、解析結果を解析結果バッファ（図示せず）に蓄積し（S１０８）、全ての属性集約データリストに関する処理を実行したことを条件に、このルーチンでの処理を終了する。【０１７５】
本実施例によれば、異なる周期で発生する複数の時系列データを、属性（電力）で纏めて集約するとともに、設定時間単位で纏めて集約するようにしたため、異なる周期で発生する複数の時系列データを効率的に蓄積することができる。【０１７６】
また、本実施例によれば、属性（電力）を基準に複数の時系列データを蓄積した集約データテーブル３３に対して、属性を基にアクセスすることで、解析で用いる時系列データとして、異なる周期で発生する時系列データの組み合わせを集約データテーブル３３から抽出するようにしたため、解析で用いる複数の時系列データを効率的にアクセスして解析することができる。
【符号の説明】
【０１７７】
１０  時系列データソース、１２  クライアント計算機、１４  ネットワーク、１６  時系列データ処理装置、１８  外部記憶装置、２０  メモリ、２６  プロセッサ、３０  時系列データ処理プログラム、３２  集約データテーブル、３４  データ蓄積部、３６  データ解析部、３８  データ取得部、４０  設定情報格納領域、４２  データ受付部、４３  データ周期集約部、４４  データ属性集約部、４６  データ時間集約部、４８  特徴点抽出部、５０  データ圧縮部、５２  集約データ書込み部、６０  解析受付部、６２  解析実行部、７０  読込み時間帯絞込み部、７２  集約データ読込み部、７４  データ解凍部、７６、データ時間抽出部、７８  データ絞込み部、８０  データ属性抽出部、８２  データ周期抽出部。  
【図１】
2012020456.tif 000003
【図２】
2012020456.tif 000004
【図３】
2012020456.tif 000005
【図４】
2012020456.tif 000006
【図５】
2012020456.tif 000007
【図６】
2012020456.tif 000008
【図７】
2012020456.tif 000009
【図８】
2012020456.tif 000010
【図９】
2012020456.tif 000011
【図１０】
2012020456.tif 000012
【図１１】
2012020456.tif 000013
【図１２】
2012020456.tif 000014
【図１３】
2012020456.tif 000015
【図１４】
2012020456.tif 000016
【図１５】
2012020456.tif 000017
【図１６】
2012020456.tif 000018
【図１７】
2012020456.tif 000019
【図１８】
2012020456.tif 000020
【図１９】
2012020456.tif 000021
【図２０】
2012020456.tif 000022
【図２１】
2012020456.tif 000023
【図２２】
2012020456.tif 000024
【図２３】
2012020456.tif 000025
【図２４】
2012020456.tif 000026
【図２５】
2012020456.tif 000027
【国際調査報告】
2012020456.tif 000028
2012020456.tif 000029
2012020456.tif 000030
2012020456.tif 000031