(57)【特許請求の範囲】
【請求項１】
複数の管理対象物を識別するための複数の対象物ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を用いてデータ処理を行うデータ処理装置であって、
複数のレコードを含み、各レコードにいずれかの対象物ＩＤが記述されているテーブルデータを１つ以上記憶するテーブルデータ記憶部と、
テーブルデータの更新をレコード単位で行うテーブルデータ管理部と、
対象物ＩＤごとに、前記テーブルデータ管理部によるテーブルデータの更新に伴って更新されるバージョン値が少なくともカレントバージョンまで時系列に沿って記述され、バージョン値ごとに、そのバージョンが有効になる開始時刻と無効になる終了時刻とが記述されるバージョン情報を記憶するバージョン情報記憶部と、
前記テーブルデータ管理部によりいずれかのテーブルデータが更新された際に、前記バージョン情報を更新するバージョン管理部とを有し、
前記テーブルデータ記憶部は、
各レコードに、そのレコードがテーブルデータに設けられてからレコード内容が変更されるまでの有効期間に対応するバージョン値の範囲を記述するためのバージョン範囲フィールドが含まれているテーブルデータを１つ以上記憶し、
前記テーブルデータ管理部は、
いずれかのテーブルデータを更新する際に、テーブルデータの更新形態に応じて、更新の対象となる更新対象レコードに記述されている対象物ＩＤのカレントバージョンのバージョン値及びカレントバージョンの次の世代のバージョンのバージョン値の少なくともいずれかを前記バージョン情報記憶部から取得し、取得したバージョン値を更新対象レコードのバージョン範囲フィールドに記述して、テーブルデータを更新し、
前記バージョン管理部は、
前記テーブルデータ管理部がテーブルデータを更新した更新時刻と前記更新対象レコードに記述されている対象物ＩＤとを通知され、通知された更新時刻を通知された対象物ＩＤのカレントバージョンの終了時刻として前記バージョン情報に記述し、通知された対象物ＩＤのカレントバージョンの次の世代のバージョンが前記対象物ＩＤの新たなカレントバージョンとなるように前記バージョン情報に記述し、通知された更新時刻を前記新たなカレントバージョンの開始時刻として前記バージョン情報に記述することを特徴とするデータ処理装置。
【請求項２】
前記テーブルデータ管理部は、
更新前に各レコードに記述されているバージョン範囲フィールド以外の内容を維持しながらテーブルデータを更新することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記テーブルデータ記憶部は、
２つ以上のレコードに同じ対象物ＩＤが記述されているテーブルデータを記憶しており、
前記テーブルデータ管理部は、
更新対象レコードに記述されている対象物ＩＤが他のレコードにも記述されているテーブルデータを更新する際に、当該他のレコードのバージョン範囲フィールドの記述は変更せずに、前記更新対象レコードのバージョン範囲フィールドに前記バージョン情報記憶部から取得したバージョン値を記述し、
前記バージョン管理部は、
前記テーブルデータ管理部がテーブルデータを更新した更新時刻と前記更新対象レコードに記述されている対象物ＩＤとを通知された際に、前記更新対象レコードの対象物ＩＤと同じ対象物ＩＤが記述されている他のレコードでレコード内容の変更がなくても、通知された更新時刻を通知された対象物ＩＤのカレントバージョンの終了時刻として前記バージョン情報に記述し、通知された対象物ＩＤのカレントバージョンの次の世代のバージョンが前記対象物ＩＤの新たなカレントバージョンとなるように前記バージョン情報に記述し、通知された更新時刻を前記新たなカレントバージョンの開始時刻として前記バージョン情報に記述することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記テーブルデータ記憶部は、
前記バージョン範囲フィールドが、有効期間の始期に対応するバージョン値を記述するための始期サブフィールドと有効期間の終期に対応するバージョン値を記述するための終期サブフィールドに区分されているレコードが含まれるテーブルデータを記憶しており、
前記テーブルデータ管理部は、
いずれかのテーブルデータに新たなレコードを追加する更新を行う際に、新たに追加するレコードを更新対象レコードとし、更新対象レコードに記述されている対象物ＩＤのカレントバージョンの次の世代のバージョンのバージョン値を前記バージョン情報記憶部から取得し、取得した次世代のバージョンのバージョン値を前記更新対象レコードの始期サブフィールドに記述し、未定を意味する情報を前記更新対象レコードの終期サブフィールドにすることを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記テーブルデータ記憶部は、
前記バージョン範囲フィールドが、有効期間の始期に対応するバージョン値を記述するための始期サブフィールドと有効期間の終期に対応するバージョン値を記述するための終期サブフィールドに区分されているレコードが含まれるテーブルデータを記憶しており、
前記テーブルデータ管理部は、
いずれかのテーブルデータに含まれているレコードのデータを書き換える更新を行う際に、データの書き換えが行われるレコードを更新対象レコードとし、更新対象レコードに記述されている対象物ＩＤのカレントバージョンの次の世代のバージョンのバージョン値が更新対象レコードの始期サブフィールドに記述されているか否かを判断し、
始期サブフィールドに次世代のバージョンのバージョン値が記述されている場合は、始期サブフィールド及び終期サブフィールドの記述を変更せずに更新対象レコードのデータの書き換えを行い、
始期サブフィールドに次世代のバージョン以外のバージョン値が記述されている場合は、更新対象レコードに記述されている対象物ＩＤのカレントバージョンのバージョン値とカレントバージョンの次の世代のバージョンのバージョン値を前記バージョン情報記憶部から取得し、取得したカレントバージョンのバージョン値を前記更新対象レコードの終期サブフィールドに記述し、書き換え後のデータが含まれる新たなレコードであって前記バージョン情報記憶部から取得した次世代のバージョンのバージョン値が始期サブフィールドに記述されおり未定を意味する情報が終期サブフィールドに記述されている新たなレコードを生成し、生成した新たなレコードをテーブルデータに追加することを特徴とする請求項１〜４のいずれかに記載のデータ処理装置。
【請求項６】
前記テーブルデータ記憶部は、
前記バージョン範囲フィールドが、有効期間の始期に対応するバージョン値を記述するための始期サブフィールドと有効期間の終期に対応するバージョン値を記述するための終期サブフィールドに区分されているレコードが含まれるテーブルデータを記憶しており、
前記テーブルデータ管理部は、
いずれかのテーブルデータからレコードを削除する更新を行う際に、削除対象のレコードを更新対象レコードとし、更新対象レコードに記述されている対象物ＩＤのカレントバージョンの次の世代のバージョンのバージョン値が更新対象レコードの始期サブフィールドに記述されているか否かを判断し、
始期サブフィールドに次世代のバージョン以外のバージョン値が記述されている場合は、更新対象レコードに記述されている対象物ＩＤのカレントバージョンのバージョン値を前記バージョン情報記憶部から取得し、取得したカレントバージョンのバージョン値を前記更新対象レコードの終期サブフィールドに記述し、
始期サブフィールドに次世代のバージョンのバージョン値が記述されている場合は、更新対象レコードを削除し、前記更新対象レコードの対象物ＩＤのカレントバージョンのバージョン値を前記バージョン情報記憶部から取得し、当該カレントバージョンのバージョン値が終期サブフィールドに記述されているレコードを抽出し、抽出したレコードの終期サブフィールドを未定を意味する情報に書き換えることを特徴とする請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記バージョン情報記憶部は、
対象物ＩＤごとに、カレントバージョンの次の世代のバージョンまで時系列に沿ってバージョン値が記述されているバージョン情報を記憶していることを特徴とする請求項１〜６のいずれかに記載のデータ処理装置。
【請求項８】
前記テーブルデータ記憶部は、
前記バージョン範囲フィールドが、有効期間の始期に対応するバージョン値を記述するための始期サブフィールドと有効期間の終期に対応するバージョン値を記述するための終期サブフィールドに区分されているレコードが含まれるテーブルデータを記憶しており、
前記テーブルデータ管理部は、
特定の対象物ＩＤが記述されている１つ以上のレコードの始期サブフィールドに前記バージョン情報記憶部から取得した次世代のバージョンのバージョン値を記述して１つ以上のテーブルデータを更新した後であって前記バージョン管理部により前記バージョン情報が更新される前に、１つ以上のテーブルデータに対して行った更新を取り消す場合に、前記特定の対象物ＩＤが記述され始期サブフィールドに前記特定の対象物ＩＤの次世代のバージョンのバージョン値が記述されているレコードを前記複数のテーブルデータから抽出し、抽出したレコードを削除し、前記特定の対象物ＩＤが記述され終期サブフィールドに前記特定の対象物ＩＤのカレントバージョンのバージョン値が記述されているレコードを抽出し、抽出したレコードの終期サブフィールドを未定を意味する情報に書き換えることを特徴とする請求項１〜７のいずれかに記載のデータ処理装置。
【請求項９】
前記テーブルデータ記憶部は、
前記バージョン範囲フィールドが、有効期間の始期に対応するバージョン値を記述するための始期サブフィールドと有効期間の終期に対応するバージョン値を記述するための終期サブフィールドに区分されているレコードが含まれるテーブルデータを記憶しており、
前記データ処理装置は、更に、
バージョン値が指定されている検索条件を入力し、
検索条件で指定されている指定バージョン値以前のバージョン値が始期サブフィールドに記述され、指定バージョン値以後のバージョン値が終期サブフィールドに記述されているレコードを前記テーブルデータ記憶部から検索するレコード検索部を有することを特徴とする請求項１〜８のいずれかに記載のデータ処理装置。
【請求項１０】
前記テーブルデータ記憶部は、
前記バージョン範囲フィールドが、有効期間の始期に対応するバージョン値を記述するための始期サブフィールドと有効期間の終期に対応するバージョン値を記述するための終期サブフィールドに区分されているレコードが含まれるテーブルデータを記憶しており、
前記データ処理装置は、更に、
時刻が指定されている検索条件を入力し、
検索条件で指定されている指定時刻以前の開始時刻が記述され、指定時刻よりも後の終了時刻が記述されているバージョン値を前記バージョン情報から抽出し、
抽出した抽出バージョン値以前のバージョン値が始期サブフィールドに記述され、抽出バージョン値以後のバージョン値が終期サブフィールドに記述されているレコードを前記テーブルデータ記憶部から検索するレコード検索部を有することを特徴とする請求項１〜９のいずれかに記載のデータ処理装置。
【請求項１１】
前記バージョン情報記憶部は、
対象物ＩＤごとに、カレントバージョンの次の世代のバージョンまで時系列に沿ってバージョン値が記述されているバージョン情報を記憶しており、
前記レコード検索部は、
前記バージョン情報に記述されている次世代のバージョンのバージョン値は抽出しないことを特徴とする請求項１０に記載のデータ処理装置。
【請求項１２】
前記データ処理装置は、
前記複数の管理対象物を、それぞれに１つ以上のデータ生成機器が配備されている複数の管理対象エリアとし、
各対象物ＩＤを、各管理対象エリアを識別するためのエリアＩＤとし、
前記データ処理装置は、更に、
各データ生成機器により生成されたデータを受信データとして受信するデータ受信部と、
前記データ受信部により受信された受信データを管理対象エリア及びデータ生成機器を区別して記憶する受信データ記憶部を有し、
前記テーブルデータ記憶部は、
複数のレコードを含み、各レコードにいずれかのエリアＩＤが記述され、各レコードにそのエリアＩＤに対応する管理対象エリアで生成されるデータのデータ属性が示されるデータ属性テーブルデータ、複数のレコードを含み、各レコードにいずれかのエリアＩＤといずれかのデータ生成機器のＩＤとが記述され、各レコードに前記受信データ記憶部内の管理対象エリア別及びデータ生成機器別の記憶領域の識別子が示される記憶領域テーブルデータ、複数のレコードを含み、各レコードにいずれかのエリアＩＤといずれかのデータ生成機器のＩＤとが記述され、各レコードにそのエリアＩＤに対応する管理対象エリアの各データ生成機器の機器属性が示される機器属性テーブルデータのうちの少なくともいずれを記憶していることを特徴とする請求項１〜１１のいずれかに記載のデータ処理装置。
【請求項１３】
前記テーブルデータ記憶部は、
少なくとも前記記憶領域テーブルデータを記憶しており、
前記データ処理装置は、更に、
前記データ受信部により受信された受信データに対応する前記受信データ記憶部内の記憶領域の識別子が示されるレコードを、当該受信データが生成されたデータ生成機器のＩＤと管理対象エリアのエリアＩＤとに基づき、前記記憶領域テーブルデータから抽出するレコード検索部を有することを特徴とする請求項１２に記載のデータ処理装置。
【請求項１４】
前記データ受信部は、
データ生成機器によるデータ生成時刻とともに受信データを受信し、
前記受信データ記憶部は、
受信データと対応付けてデータ生成時刻を記憶し、
前記データ処理装置は、更に、
時刻が指定されている検索条件を入力し、入力した検索条件で指定されている指定時刻と適合するデータ生成時刻と対応付けられている受信データを抽出するデータ検索部と、
前記データ検索部と同じ時刻が指定されている検索条件を入力し、入力した検索条件で指定されている指定時刻以前の開始時刻が記述され、指定時刻よりも後の終了時刻が記述されているバージョン値を前記バージョン情報から抽出し、抽出したバージョン値と適合するバージョン値の範囲がバージョン範囲フィールドに記述されているレコードを前記テーブルデータ記憶部から抽出するレコード検索部とを有することを特徴とする請求項１２又は１３に記載のデータ処理装置。
【請求項１５】
複数の管理対象物を識別するための複数の対象物ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を用い、
複数のレコードを含み、各レコードにいずれかの対象物ＩＤが記述されているテーブルデータを１つ以上記憶するテーブルデータ記憶部と、
対象物ＩＤごとに、テーブルデータの更新に伴って更新されるバージョン値が少なくともカレントバージョンまで時系列に沿って記述され、バージョン値ごとに、そのバージョンが有効になる開始時刻と無効になる終了時刻とが記述されるバージョン情報を記憶するバージョン情報記憶部と
を有するコンピュータが行うデータ処理方法であって、
前記コンピュータが、テーブルデータの更新をレコード単位で行うテーブルデータ管理ステップと、
前記テーブルデータ管理ステップによりいずれかのテーブルデータが更新された際に、前記コンピュータが、前記バージョン情報を更新するバージョン管理ステップとを有し、
前記コンピュータは、
前記テーブルデータ記憶部において、
各レコードに、そのレコードがテーブルデータに設けられてからレコード内容が変更されるまでの有効期間に対応するバージョン値の範囲を記述するためのバージョン範囲フィールドが含まれているテーブルデータを１つ以上記憶しており、
前記テーブルデータ管理ステップにおいて、
いずれかのテーブルデータを更新する際に、テーブルデータの更新形態に応じて、更新の対象となる更新対象レコードに記述されている対象物ＩＤのカレントバージョンのバージョン値及びカレントバージョンの次の世代のバージョンのバージョン値の少なくともいずれかを前記バージョン情報記憶部から取得し、取得したバージョン値を更新対象レコードのバージョン範囲フィールドに記述して、テーブルデータを更新し、
前記バージョン管理ステップにおいて、
前記テーブルデータ管理ステップでテーブルデータが更新された更新時刻と前記更新対象レコードに記述されている対象物ＩＤとを通知され、通知された更新時刻を通知された対象物ＩＤのカレントバージョンの終了時刻として前記バージョン情報に記述し、通知された対象物ＩＤのカレントバージョンの次の世代のバージョンが前記対象物ＩＤの新たなカレントバージョンとなるように前記バージョン情報に記述し、通知された更新時刻を前記新たなカレントバージョンの開始時刻として前記バージョン情報に記述することを特徴とするデータ処理方法。
【請求項１６】
複数の管理対象物を識別するための複数の対象物ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を用い、
複数のレコードを含み、各レコードにいずれかの対象物ＩＤが記述されているテーブルデータを１つ以上記憶するテーブルデータ記憶部と、
対象物ＩＤごとに、テーブルデータの更新に伴って更新されるバージョン値が少なくともカレントバージョンまで時系列に沿って記述され、バージョン値ごとに、そのバージョンが有効になる開始時刻と無効になる終了時刻とが記述されるバージョン情報を記憶するバージョン情報記憶部と
を有するコンピュータに、
テーブルデータの更新をレコード単位で行うテーブルデータ管理ステップと、
前記テーブルデータ管理ステップによりいずれかのテーブルデータが更新された際に、前記バージョン情報を更新するバージョン管理ステップとを実行させるプログラムであって、
前記コンピュータは、
前記テーブルデータ記憶部において、
各レコードに、そのレコードがテーブルデータに設けられてからレコード内容が変更されるまでの有効期間に対応するバージョン値の範囲を記述するためのバージョン範囲フィールドが含まれているテーブルデータを１つ以上記憶しており、
前記テーブルデータ管理ステップでは、
いずれかのテーブルデータを更新する際に、テーブルデータの更新形態に応じて、更新の対象となる更新対象レコードに記述されている対象物ＩＤのカレントバージョンのバージョン値及びカレントバージョンの次の世代のバージョンのバージョン値の少なくともいずれかを前記バージョン情報記憶部から取得し、取得したバージョン値を更新対象レコードのバージョン範囲フィールドに記述して、テーブルデータを更新する処理を前記コンピュータに実行させ、
前記バージョン管理ステップでは、
前記テーブルデータ管理ステップでテーブルデータが更新された更新時刻と前記更新対象レコードに記述されている対象物ＩＤとを通知され、通知された更新時刻を通知された対象物ＩＤのカレントバージョンの終了時刻として前記バージョン情報に記述し、通知された対象物ＩＤのカレントバージョンの次の世代のバージョンが前記対象物ＩＤの新たなカレントバージョンとなるように前記バージョン情報に記述し、通知された更新時刻を前記新たなカレントバージョンの開始時刻として前記バージョン情報に記述する処理を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの版数を管理する技術に関する。
【背景技術】
【０００２】
イベント検出時や一定周期毎にデータを生成するような機器（例えばセンサーなど）が複数存在し、それらの機器が生成したデータを収集、蓄積する処理において、機器からのデータはデータの種類や精度などに関わらず一定形式のレコードでデータベース（センサーＤＢ）に蓄積し、データの属性（精度、種類、単位など）やセンサーＤＢ内での格納場所、データを生成した機器に関する情報といった構成情報はセンサーＤＢとは別に構成情報データベース（構成情報ＤＢ）で管理する方式がある。
【０００３】
図２５はこのようなデータ蓄積方式を示すシステム構成図である。
【０００４】
図２５において、データ蓄積装置１０１は、データ収集部０３２がセンサー機器０３１から収集し、送信したデータを蓄積する。
データ蓄積装置１０１において、データ受信部１０２は、データ収集部０３２からデータを受信し、データ格納部１０３にデータを受け渡す。
データ格納部１０３は、構成情報１０９の内容に従ってデータ受信部１０２から受け取ったデータをセンサーデータ１０６に出力する。
ＤＢ管理部１０４は、センサーＤＢ１０５に対する入出力処理を行う。
センサーＤＢ１０５は、センサー機器０３１で生成されたデータをセンサーデータ１０６として保存する。
構成情報ＤＢ管理部１０７は、構成情報ＤＢ１０８に対する入出力処理を行う。
構成情報ＤＢ１０８は、センサー機器０３１からのデータの属性やセンサーＤＢ１０５での格納場所、センサー機器０３１に関する情報などからなる構成情報１０９を記録する。
センサーＤＢ検索部１１０は、構成情報１０９の内容に従ってセンサーデータ１０６を検索し、検索結果データ及び関係する構成情報１０９を出力する。
構成情報設定ＡＰＰ１１１は、構成情報１０９の登録、更新を行うアプリケーション、検索ＡＰＰ１１２はセンサーデータ１０６と構成情報１０９の検索を行うアプリケーションである。
データ蓄積装置１０１では、ＤＢ管理部１０４、センサーＤＢ１０５をセンサー機器０３１からのセンサーデータ１０６の管理専用にすることで入出力処理やストレージ使用の効率化が図れる。
【０００５】
このようなデータ蓄積装置１０１において、センサー機器０３１の追加、変更などによる機器構成の変更が発生した場合、それに対応して構成情報１０９の内容を変更することで、データ格納部１０３では新しい機器構成でのデータの格納が可能となる。
しかし、機器構成変更前までに蓄積済みのセンサーデータ１０６に対応した構成情報１０９が構成情報ＤＢ１０８から失われてしまうため、センサーＤＢ検索部１１０では機器構成変更前までに蓄積したセンサーデータ１０６については、対応する構成情報１０９が取得できないため処理ができない。
そのため検索ＡＰＰ１１２では、機器構成変更後のセンサーデータ１０６は利用できるが、機器構成変更前のセンサーデータ１０６が利用できなくなるという課題がある。
【０００６】
このような課題に対する解決策として、構成情報を変更履歴も含めて管理するという方式がある。
構成情報として複数の構成要素データから成り、各種処理実行時に参照される構成情報の履歴管理において、要素データの変更に伴う複数バージョンの情報を共存させる方式として、従来の履歴管理方式では、要素データが該当するバージョン識別情報と情報のバージョン毎の有効期間情報から処理実行時に参照すべきバージョンを特定することによって複数バージョンの情報の共存を行っていた（例えば、特許文献１）。
要素データが該当するバージョン識別情報とは、要素データが対応する情報の開始バージョンと終了バージョンを要素データの各レコードに列として追加したものである。
情報のバージョン毎の有効期間情報とは、バージョン番号と有効開始日時、有効終了日時の３つの列から成るものである。
要素データに対する変更として要素データを追加する場合、開始バージョン列に追加時の現バージョンを設定して要素データを追加する。
要素データを更新する場合は、更新対象の要素データの終了バージョン列を現バージョンに更新し、更新後の要素データは開始バージョン列に現バージョンを設定して新規に追加する。
要素データを削除する場合は、削除対象の要素データの終了バージョン列を現バージョンに更新する。
このような操作により要素データの変更に伴う複数バージョンの情報を共存させていた。
処理実行における要素データの参照では、処理実行時の日時からバージョン毎の有効期間情報で該当するバージョン番号を導出し、バージョン識別情報を用いて該当バージョンの要素データを抽出することで、必要なバージョンの情報を取得していた。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−３１０７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の履歴管理方式では、複数の要素データの変更がひとまとまりの操作で行われることが暗黙の前提となっている。
つまり、新しいバージョンの追加に伴う複数の要素データの変更は、情報全体としてすべての要素データの変更後の値が予め明らかになっている必要がある。
そのため、要素データの変更後の値が全体として一度に確定しないような情報に対しては、要素データ毎に値を変更した時点で変更後の値を別途記憶しておき、情報全体として変更後の値が揃った段階で記録した変更後の値を元にそれぞれの要素データを変更しなければならないという課題がある。
【０００９】
例えば、遠隔地にある各種センサー等の機器から送信されるデータを収集、蓄積するようなシステムにおいて、機器構成やデータ属性、データ格納先データベース等の要素データを管理する構成情報では、機器に関する要素データは実際の機器が設置・運用されることにより確定される。
複数種類の機器を対象とし、機器の設置場所が複数に散在している場合、機器設置や変更の実施には数日〜数週間単位での時間的ずれが生じる。
対象とする機器が多数存在する場合、すべての機器で処理が完了するまで変更後の値を別途記憶するには、本来のシステムとは別に記録用のシステムが必要になるなど効率が悪い。
【００１０】
また、従来の履歴管理装置では、要素データに対する変更（追加／更新／削除）は直ちに確定された値として扱われるため、変更内容が確定しなければ要素データに記録できないという課題がある。
【００１１】
例えば、前述の機器データを収集、蓄積するシステムで、既に稼動中のシステムに新たな機器を追加して格納対象のデータを増やすような場合において、システムを停止させずに本運用と並行して試験運用を行う目的で追加機器に関する機器データを構成要素データとして追加するとき、本質的には未確定の試験用機器データであり対応できない。
また仮に構成要素データに試験用機器データを追加した場合、試験運用で問題がなければ試験用機器データをそのまま実際の機器データとして扱うこともできるが、試験運用の結果から追加機器構成等を変更し、それに応じて構成要素データを変更した場合、機器データとしては実在しない試験用機器データが履歴として残るという課題が発生する。
【００１２】
この発明は上記のような課題を解決することを主な目的の一つとしており、柔軟なデータ更新を可能とし、また、データ更新履歴、更新時刻をトレースすることができ、更新前の過去のデータも利用することができる仕組みを実現する。
【課題を解決するための手段】
【００１３】
本発明に係るデータ処理装置は、
複数の管理対象物を識別するための複数の対象物ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を用いてデータ処理を行うデータ処理装置であって、
複数のレコードを含み、各レコードにいずれかの対象物ＩＤが記述されているテーブルデータを１つ以上記憶するテーブルデータ記憶部と、
テーブルデータの更新をレコード単位で行うテーブルデータ管理部と、
対象物ＩＤごとに、前記テーブルデータ管理部によるテーブルデータの更新に伴って更新されるバージョン値が少なくともカレントバージョンまで時系列に沿って記述され、バージョン値ごとに、そのバージョンが有効になる開始時刻と無効になる終了時刻とが記述されるバージョン情報を記憶するバージョン情報記憶部と、
前記テーブルデータ管理部によりいずれかのテーブルデータが更新された際に、前記バージョン情報を更新するバージョン管理部とを有し、
前記テーブルデータ記憶部は、
各レコードに、そのレコードがテーブルデータに設けられてからレコード内容が変更されるまでの有効期間に対応するバージョン値の範囲を記述するためのバージョン範囲フィールドが含まれているテーブルデータを１つ以上記憶し、
前記テーブルデータ管理部は、
いずれかのテーブルデータを更新する際に、テーブルデータの更新形態に応じて、更新の対象となる更新対象レコードに記述されている対象物ＩＤのカレントバージョンのバージョン値及びカレントバージョンの次の世代のバージョンのバージョン値の少なくともいずれかを前記バージョン情報記憶部から取得し、取得したバージョン値を更新対象レコードのバージョン範囲フィールドに記述して、テーブルデータを更新し、
前記バージョン管理部は、
前記テーブルデータ管理部がテーブルデータを更新した更新時刻と前記更新対象レコードに記述されている対象物ＩＤとを通知され、通知された更新時刻を通知された対象物ＩＤのカレントバージョンの終了時刻として前記バージョン情報に記述し、通知された対象物ＩＤのカレントバージョンの次の世代のバージョンが前記対象物ＩＤの新たなカレントバージョンとなるように前記バージョン情報に記述し、通知された更新時刻を前記新たなカレントバージョンの開始時刻として前記バージョン情報に記述することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、テーブルデータの各レコードに、レコードが設けられてからレコード内容が変更されるまでの有効期間に対応するバージョン値を記述し、また、バージョン情報においてバージョン値ごとに開始時刻と終了時刻を記述し、レコードごとにテーブルデータの更新を行う。このため、変更があった際にレコード単位で即座にテーブルデータを更新することができ、変更後の値を記録する必要がない。また、過去のバージョンのレコード内容も残しているため、レコードの更新履歴、更新時刻をトレースすることができ、また、過去のバージョンのレコードも利用可能である。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るデータ蓄積装置の構成例を示す図。
【図３】実施の形態１に係る計測値テーブルの例を示す図。
【図４】実施の形態１に係る計測値属性テーブルの例を示す図。
【図５】実施の形態１に係る計測値／列対応テーブルの例を示す図。
【図６】実施の形態１に係る機器属性テーブルの例を示す図。
【図７】実施の形態１に係る位置属性テーブルの例を示す図。
【図８】実施の形態１に係る版管理テーブルの例を示す図。
【図９】実施の形態１に係る拠点管理テーブルの例を示す図。
【図１０】実施の形態１に係るテーブル間の関係を示す図。
【図１１】実施の形態１に係る構成情報を変更する際の動作例を示すフローチャート図。
【図１２】実施の形態１に係るデータ追加の際の動作例を示すフローチャート図。
【図１３】実施の形態１に係るデータ書換えの際の動作例を示すフローチャート図。
【図１４】実施の形態１に係るデータ削除の際の動作例を示すフローチャート図。
【図１５】実施の形態１に係る版名の改定の際の動作例を示すフローチャート図。
【図１６】実施の形態１に係る拠点の変更の際の動作例を示すフローチャート図。
【図１７】実施の形態１に係る変更の取消の際の動作例を示すフローチャート図。
【図１８】実施の形態１に係るデータの格納の際の動作例を示すフローチャート図。
【図１９】実施の形態１に係る構成情報の検索の際の動作例を示すフローチャート図。
【図２０】実施の形態１に係るセンサーデータ検索の際の動作例を示すフローチャート図。
【図２１】実施の形態１に係るデータ追加の具体例を示す図。
【図２２】実施の形態１に係るデータ書換えの具体例を示す図。
【図２３】実施の形態１に係るデータ削除の具体例を示す図。
【図２４】実施の形態１に係るデータ蓄積装置のハードウェア構成例を示す図。
【図２５】従来技術を説明する図。
【発明を実施するための形態】
【００１６】
実施の形態１．
本実施の形態では、機器から収集したデータを蓄積するデータベースとデータ属性や格納場所などの構成情報を管理する構成情報データベースから成るデータ蓄積装置において、構成情報の各要素データの変更履歴及び情報確定前の要素データを管理できるようにすることで構成情報の変更に対応可能なデータ蓄積装置を説明する。
【００１７】
図１は、本実施の形態に係るシステム構成例を示す。
図１に示すように、データ蓄積装置００１は、ネットワーク５００を介して、複数のデータ収集部０３２と接続されている。
データ蓄積装置００１は、各拠点０３０のデータ収集部０３２から転送されたデータをデータベースに格納する。
データ蓄積装置００１は、データ処理装置の例である。
データ収集部０３２は、それぞれ、拠点０３０に配置されている。
拠点０３０は、データ蓄積装置００１の蓄積対象となるデータを生成するセンサー機器０３１が設置されている物理的な場所であり、例えばビルや敷地などが相当する。
拠点０３０は、管理対象物及び管理対象エリアの例である。
各データ収集部０３２は、各拠点０３０に１つ以上配置されているセンサー機器０３１からのデータを収集し、収集したデータをネットワーク５００経由でデータ蓄積装置００１に送信する。
センサー機器０３１は、一定間隔で計測値を出力する機器（例えば温度センサーなど）やイベントに応じてログを出力する機器（例えば入退室管理装置など）といった時間に結びついたデータを出力する機器である。
センサー機器０３１は、データ収集機器の例である。
本実施の形態では、データ収集部０３２がセンサー機器０３１からデータを収集する方式は問わない（例えば、センサー機器０３１が出力したファイルからのデータ取得や、センサー機器０３１が提供するＡＰＩを利用したデータ取得など）。
【００１８】
次に、図２を参照して、本実施の形態に係るデータ蓄積装置００１の構成例を説明する。
【００１９】
データ蓄積装置００１は、２つのデータベースがある。
センサーＤＢ００６は、データ収集部０３２から受信したセンサーデータを格納するためのデータベースである。
一方、構成情報ＤＢ０１１は、データの属性（精度、種類、単位など）やセンサーＤＢ００６内での格納場所、データを生成した機器に関する情報といった構成情報を格納するデータベースである。
データ蓄積装置００１は、構成情報ＤＢ０１１の内容に従ってセンサーデータをセンサーＤＢ００６に格納する。
なお、センサーＤＢ００６及び構成情報ＤＢ０１１の詳細は後述する。
【００２０】
データ受信部００２は、拠点０３０のデータ収集部０３２毎に転送されたデータを受信してデータ格納部００３に受け渡す。
【００２１】
データ格納部００３は、構成情報ＤＢ０１１の内容を元にデータ受信部００２から受け取った受信データをレコードの形式に組み立て、ＤＢ管理部００５を利用してセンサーＤＢ００６にデータを出力する。
【００２２】
データ検索部００４は、ＤＢ管理部００５を利用してセンサーＤＢ００６のデータに対する検索を行う。
【００２３】
ＤＢ管理部００５は、センサーＤＢ００６に対する入出力を実行するデータ管理機能である。
【００２４】
センサーＤＢ００６は、拠点０３０のセンサー機器０３１で生成されるデータを一定のレコード形式で蓄積したデータベースである。
なお、センサーＤＢ００６は、受信データ記憶部の例である。
【００２５】
版情報更新部００７は、構成情報ＤＢ管理部０１０を利用して構成情報ＤＢ０１１における版（バージョン）の改定処理を行う。
より具体的には、版情報更新部００７は、構成情報更新部００８によりいずれかのテーブルデータ（後述する計測値属性テーブル０１２、計測値／列対応テーブル０１３、機器属性テーブル０１４、位置属性テーブル０１５のいずれか）が更新された際に、後述の版管理テーブル０１６を更新する。
版情報更新部００７は、バージョン管理部の例である。
【００２６】
構成情報更新部００８は、構成情報ＤＢ管理部０１０を利用して構成情報ＤＢ０１１のテーブルデータの更新処理をレコード単位で行う。
構成情報更新部００８は、テーブルデータ管理部の例である。
【００２７】
構成情報検索部００９は、構成情報ＤＢ管理部０１０を利用して構成情報ＤＢ０１１のテーブルデータにおいてレコードの検索処理を行う。
構成情報検索部００９は、レコード検索部の例である。
【００２８】
構成情報ＤＢ管理部０１０は、構成情報ＤＢ０１１に対する入出力を実行するデータ管理機能である。
【００２９】
構成情報ＤＢ０１１は、データ蓄積装置００１に関する各種情報を記録したデータベースであり、計測値属性テーブル０１２、計測値／列対応テーブル０１３、機器属性テーブル０１４、位置属性テーブル０１５、版管理テーブル０１６、拠点管理テーブル０１７で構成される。
以下では、計測値属性テーブル０１２、計測値／列対応テーブル０１３、機器属性テーブル０１４、位置属性テーブル０１５、版管理テーブル０１６、拠点管理テーブル０１７は、それぞれ、計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５、版管理０１６、拠点管理０１７ともいう。
なお、構成情報ＤＢ０１１は、テーブルデータ記憶部及びバージョン情報記憶部の例である。
【００３０】
計測値属性テーブル０１２は、センサー機器０３１からのデータに関する情報を記録するテーブルデータである。
計測値／列対応テーブル０１３は、センサー機器０３１からのデータのセンサーＤＢ００６における格納先に関する情報を記録するテーブルデータである。
機器属性テーブル０１４は、センサー機器０３１に関する情報を記録するテーブルデータである。
位置属性テーブル０１５は、センサー機器０３１などの設置場所に関する情報を記録するテーブルデータである。
版管理テーブル０１６は、構成情報ＤＢ０１１に格納されたデータの版（バージョン）に関する情報を記録するテーブルデータである。
なお、版管理テーブル０１６は、バージョン情報の例である。
拠点管理テーブル０１７は、拠点０３０に関する情報を記録するテーブルデータである。
【００３１】
構成情報設定ＡＰＰ０１８は、構成情報ＤＢ０１１のデータを設定するためのアプリケーションプログラムであり、本実施の形態においてはユーザに対する外部インタフェースの形式は問わない。
【００３２】
センサーＤＢ検索部０１９は、構成情報ＤＢ０１１のデータに基づいてセンサーＤＢ００６に蓄積されたデータの検索処理を行う。
【００３３】
検索ＡＰＰ０２０は、センサーＤＢ００６のデータを検索するためのアプリケーションであり、本実施の形態においてはユーザに対する外部インタフェースの形式は問わない。
【００３４】
図３は、図１におけるセンサーＤＢ００６に蓄積するデータの一例を示す概略図である。
【００３５】
図３において、計測値テーブル０４０はセンサー機器０３１からのデータを記録するテーブルデータである。
計測値テーブル０４０のレコードは主に一つの発生日時の列と複数のデータの値のための列で構成される。
センサー機器０３１からのデータは計測値テーブル０４０の一つの列に対応付けられ、複数のセンサー機器０３１のデータが発生日時毎に一つのレコードとしてまとめられる。
【００３６】
図４は、図１における計測値属性テーブル０１２の一例を示す概略図である。
【００３７】
図４において、計測値属性テーブル０１２は、拠点ＩＤ、計測値ＩＤ、開始版名、終了版名、計測値名称、機器ＩＤ、位置ＩＤ、種類、精度の列で構成される。
拠点ＩＤは、計測値が収集される拠点０３０を特定するための識別子であり、拠点管理０１７で管理される。
計測値ＩＤは、計測値を区別するための識別子であり、拠点ＩＤ単位で一意の値として計測値属性０１２で採番する。
開始版名は、構成情報ＤＢ０１１のデータの版において計測値属性０１２のデータが対応する版の範囲の開始位置を示す情報である。
終了版名は、構成情報ＤＢ０１１のデータの版において計測値属性０１２のデータが対応する版の範囲の終了位置を示す情報である。
計測値名称は、ユーザが計測値を識別する際に参照できる説明情報である。
機器ＩＤは、計測値を生成した機器を特定するための識別子であり、機器属性０１４で管理される。
位置ＩＤは、計測値に関わる場所あるいは計測値を生成した機器の設置場所を示す識別子であり、位置属性０１５で管理される。
種類は、温度、湿度や電力量といった計測値の内容を表す情報である。
精度は、計測値の数値の精度を示す情報である。
計測値属性０１２ではこれらの列以外にも計測値に関する情報の列が存在しうる。
【００３８】
なお、上記の開始版名と終了版名は、換言すると、各レコードが計測値属性テーブル０１２に設けられてからレコード内容が変更されるまでの有効期間に対応する版数（バージョン値）の範囲を記述するためのフィールド（バージョン範囲フィールド）である。
開始版名は、有効期間の始期に対応する版数（バージョン値）を記述するためのフィールド（始期サブフィールド）であり、終了版名は、有効期間の終期に対応する版数（バージョン値）を記述するためのフィールド（終期サブフィールド）である。
【００３９】
図５は、図１における計測値／列対応テーブル０１３の一例を示す概略図である。
【００４０】
図５において、計測値／列対応テーブル０１３は、拠点ＩＤ、計測値ＩＤ、開始版名、終了版名、サーバ、テーブル、出力列の列で構成される。
拠点ＩＤは、計測値が属する拠点０３０を特定するための識別子であり、拠点管理０１７で管理される。
計測値ＩＤは、計測値を特定するための識別子であり、計測値属性０１２で管理される。
開始版名は、構成情報ＤＢ０１１のデータの版において計測値／列対応０１３のデータが対応する版の範囲の開始位置を示す情報である。
終了版名は、構成情報ＤＢ０１１のデータの版において計測値／列対応０１３の情報が対応する版の範囲の終了位置を示す情報である。
サーバは、センサーＤＢ００６が存在するサーバを示す情報である。
テーブルは、センサーＤＢ００６において計測値ＩＤが示すデータを格納するテーブル名を示す情報である。
出力列は、計測値ＩＤが示すデータの格納先となるテーブルの列名を示す情報である。
計測値／列対応０１３ではこれらの列以外にも関連情報の列が存在しうる。
【００４１】
計測値／列対応テーブル０１３においても、上記の開始版名と終了版名は、各レコードが計測値／列対応テーブル０１３に設けられてからレコード内容が変更されるまでの有効期間に対応する版数（バージョン値）の範囲を記述するためのフィールド（バージョン範囲フィールド）である。
開始版名は、有効期間の始期に対応する版数（バージョン値）を記述するためのフィールド（始期サブフィールド）であり、終了版名は、有効期間の終期に対応する版数（バージョン値）を記述するためのフィールド（終期サブフィールド）である。
【００４２】
図６は、図１における機器属性テーブル０１４の一例を示す概略図である。
【００４３】
図６において、機器属性０１４テーブルは、拠点ＩＤ、機器ＩＤ、開始版名、終了版名、機器名称、機器種類の列で構成される。
拠点ＩＤは、機器が存在する拠点０３０を特定するための識別子であり、拠点管理０１７で管理される。
機器ＩＤは、機器を区別するための識別子であり、拠点ＩＤ単位で一意の値として機器属性０１４で採番する。
開始版名は、構成情報ＤＢ０１１のデータの版において機器属性０１４のデータが対応する版の範囲の開始位置を示す情報である。
終了版名は、構成情報ＤＢ０１１のデータの版において機器属性０１４のデータが対応する版の範囲の終了位置を示す情報である。
機器名称は、ユーザが機器を識別する際に参照できる説明情報である。
機器種類は、温度センサーや電力センサーといった機器の種類を示す情報である。
機器属性０１４ではこれらの列以外にも機器に関する情報の列が存在しうる。
【００４４】
機器属性テーブル０１４においても、上記の開始版名と終了版名は、各レコードが機器属性テーブル０１４に設けられてからレコード内容が変更されるまでの有効期間に対応する版数（バージョン値）の範囲を記述するためのフィールド（バージョン範囲フィールド）である。
開始版名は、有効期間の始期に対応する版数（バージョン値）を記述するためのフィールド（始期サブフィールド）であり、終了版名は、有効期間の終期に対応する版数（バージョン値）を記述するためのフィールド（終期サブフィールド）である。
【００４５】
図７は、図１における位置属性テーブル０１５の一例を示す概略図である。
【００４６】
図７において、位置属性テーブル０１５は拠点ＩＤ、位置ＩＤ、開始版名、終了版名、位置名称、区画、建物の列で構成される。
拠点ＩＤは、位置ＩＤが示す位置が属する拠点０３０を特定するための識別子であり、拠点管理０１７で管理される。
位置ＩＤは、機器などが設置される物理的な場所を区別するための識別子であり、拠点ＩＤ単位で一意の値として位置属性０１５で採番する。
開始版名は、構成情報ＤＢ０１１のデータの版において位置属性０１５のデータが対応する版の範囲の開始位置を示す情報である。
終了版名は、構成情報ＤＢ０１１のデータの版において位置属性０１５の情報が対応する版の範囲の終了位置を示す情報である。
位置名称は、ユーザが位置を識別する際に参照できる説明情報である。
区画は、位置ＩＤが示す位置が含まれる拠点０３０内での領域を示す情報である。
建物は、位置ＩＤが示す位置がある建物を示す情報である。
位置属性０１５ではこれらの列以外にも位置に関する情報の列が存在しうる。
【００４７】
位置属性テーブル０１５においても、上記の開始版名と終了版名は、各レコードが位置属性テーブル０１５に設けられてからレコード内容が変更されるまでの有効期間に対応する版数（バージョン値）の範囲を記述するためのフィールド（バージョン範囲フィールド）である。
開始版名は、有効期間の始期に対応する版数（バージョン値）を記述するためのフィールド（始期サブフィールド）であり、終了版名は、有効期間の終期に対応する版数（バージョン値）を記述するためのフィールド（終期サブフィールド）である。
【００４８】
図８は、図１における版管理テーブル０１６の一例を示す概略図である。
図８において、版管理０１６は拠点ＩＤ、版名、状態、開始日時、終了日時の列で構成される。
拠点ＩＤは、版名が示す版が属する拠点０３０を特定するための識別子であり、拠点管理０１７で管理される。
版名は構成情報ＤＢ０１１のデータの版を示す識別子であり、拠点ＩＤ単位で一意の値として版管理０１６で採番する。版名の値は版が新しくなるに従い漸増する正の整数で、値域は１以上ＶＥＲ＿ＭＡＸ（例えば、版名の列のデータ型が３２ｂｉｔ整数型の場合は０ｘ７ｆｆｆｆｆｆｆなど）以下となる。
状態は版名が示す版の状態を示す情報であり、値としてＰＡＳＴ、ＣＵＲ、ＮＥＸＴのいずれかとなる。
状態がＰＡＳＴの版は構成情報ＤＢ０１１のデータが改版されて履歴となった版であることを示す。
状態がＣＵＲの版は構成情報ＤＢ０１１のデータにおいて現在有効な最新版（カレントバージョン）であることを示す。
状態がＮＥＸＴの版は構成情報ＤＢ０１１の次版の候補データ（カレントバージョンの次の世代のバージョン）であることを示す。
状態がＣＵＲ及びＮＥＸＴの版は版管理０１６において拠点ＩＤ毎にそれぞれ１つだけ存在する。
開始日時は版名が示す版の有効期間における開始日時を示す。
終了日時は版名が示す版の有効期間における終了日時あるいはＴＩＭＥＳＴＡＭＰ＿ＭＡＸ（例えば、９９９９年１２月３１日２３時５９分５９秒など）となる。
版管理０１６ではこれらの列以外にも版に関する情報の列が存在しうる。
【００４９】
このように、版管理テーブル０１６は、拠点ＩＤ（対象物ＩＤ、エリアＩＤの例）ごとに、計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５の各テーブルデータの更新に伴って更新される版（バージョン値）がカレントバージョンの次の世代のバージョンまで時系列に沿って記述され、版（バージョン値）ごとに、その版が有効になる開始時刻と無効になる終了時刻とが記述されている。
前述したように、版管理テーブル０１６はバージョン情報の例である。
【００５０】
図９は図１における拠点管理０１７の一例を示す概略図である。
【００５１】
図９において、拠点管理０１７は拠点ＩＤ、グループＩＤ、拠点名称の列で構成される。
拠点ＩＤは拠点０３０を区別するための識別子であり、一意の値として拠点管理０１７で採番する。
グループＩＤは拠点０３０のグループを定義する識別子であり、同一グループＩＤを持つ拠点ＩＤは同一グループに属する。拠点名称はユーザが拠点を識別する際に参照できる説明情報である。
拠点管理０１７ではこれらの列以外にも拠点に関する情報の列が存在しうる。
【００５２】
構成情報ＤＢ０１１における計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５、版管理０１６、拠点管理０１７及びセンサーＤＢ００６の関係を図１０に示す。
図１０は、図１における構成情報ＤＢ０１１のデータの構成を表す関係図である。
図１０において、図１と同一符号の構成要素は図１と同等の内容を示す。
【００５３】
計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５、版管理０１６はいずれも拠点ＩＤの列を持ち、拠点ＩＤの値は拠点管理０１７で管理される。
つまり、本実施の形態に係るデータ蓄積装置００１は、拠点ＩＤ（対象物ＩＤの例）を用いて計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５、版管理０１６の処理を行う。
計測値属性０１２では、計測値の測定機器の情報として機器ＩＤを、計測値に関わる場所の情報として位置ＩＤを持ち、それらの値はそれぞれ機器属性０１４、位置属性０１５で管理される。
計測値／列対応０１３では、計測値の情報として計測値ＩＤを持ち、計測値ＩＤは計測値属性０１２で管理される。
また、計測値／列対応０１３では、計測値の格納先の情報としてサーバ、テーブル、出力列の情報を持ち、これらの情報によりセンサーＤＢ００６における計測値テーブル０４０の対応列を特定する。
前述したように、計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５はいずれも対応する版の範囲（レコードがテーブルに設けられてからレコード内容が変更されるまでの有効期間に対応する版の範囲）の情報として開始版名と終了版名の列を持ち、版の値及び各版が有効になる開始時刻と無効になる終了時間は版管理０１６にて管理される。
【００５４】
次に動作について説明する。
図１に示すデータ蓄積装置００１の動作としては、構成情報の変更、機器からのデータの格納、蓄積したデータの検索の大きく三つがある。
これら三つの動作について順に説明する。
【００５５】
まず、構成情報の変更について説明する。
図１１は図１に示すデータ蓄積装置における構成情報の変更手順を表すフローチャートである。
【００５６】
まずステップＳ００１で変更対象が拠点に関する情報の場合はステップＳ００８へ、そうでない場合はステップＳ００２に進む。
ステップＳ００２で操作内容に従って実行する処理を決定する。
構成情報ＤＢ０１１に新しいデータを追加する場合はステップＳ００３、既存データを書き換える場合はステップＳ００４、既存データを削除する場合はステップＳ００５に進む。
ここでデータの追加、書換え、削除ができる構成情報は計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５である。
版管理０１６はステップＳ００７にて追加、更新する。
拠点管理０１７はステップＳ００８にて実行する。
【００５７】
ステップＳ００３では、構成情報ＤＢ０１１に新しいデータを追加する。
つまり、計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれかにレコードを追加する。
データの追加処理では構成情報設定ＡＰＰ０１８を使用する。
追加終了後はステップＳ００６に進む。
【００５８】
ステップＳ００４では、構成情報ＤＢ０１１の既存データを書き換える。
つまり、計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれかのいずれかのレコードの内容を書き換える。
データの書換え処理では構成情報設定ＡＰＰ０１８を使用する。
更新終了後はステップＳ００６に進む。
【００５９】
ステップＳ００５で構成情報ＤＢ０１１の既存データを削除する。
つまり、計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれかのいずれかのレコードを削除する。
データの削除処理では構成情報設定ＡＰＰ０１８を使用する。
削除終了後はステップＳ００６に進む。
【００６０】
ステップＳ００６では、構成情報ＤＢ０１１に対する変更がすべて終了している場合はステップＳ００７へ、そうでない場合はステップＳ００２に進む。
ステップＳ００７では、構成情報ＤＢ０１１の版を改定する。
つまり、版管理０１６で管理されているＣＵＲの版（カレントバージョン）の終了時刻を記述する処理、ＮＥＸＴの版（カレントバージョンの次の世代のバージョン）を新たなＣＵＲの版にする処理、新たなＣＵＲの版の開始時刻を記述する処理等を行う。
版の改定処理には構成情報設定ＡＰＰ０１８を使用する。
【００６１】
ステップＳ００８では拠点管理０１７に対するデータの変更を行う。
データの変更処理には構成情報設定ＡＰＰ０１８を使用する。
以上により構成情報ＤＢ０１１のデータが変更される。
【００６２】
図１１のステップＳ００３、Ｓ００４、Ｓ００５、Ｓ００７、Ｓ００８の処理について、詳細を説明する。
【００６３】
図１２は、図１１におけるステップＳ００３での構成情報へのデータ追加処理の流れを表すフローチャートである。
【００６４】
まずステップＳ０１１で構成情報設定ＡＰＰ０１８により追加データに関する情報を入力する。
追加データに関する情報としては追加対象の情報種別（計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれか）と開始版名、終了版名を除いた列のデータとなる。
ステップＳ０１２で、構成情報更新部００８は、レコードを識別する列（データ識別列）を使用して、追加対象情報のテーブルに追加データが存在していないか調べる。
データ識別列は、計測値属性０１２では拠点ＩＤと計測値ＩＤの組合せ、計測値／列対応０１３では拠点ＩＤと計測値ＩＤの組合せ、機器属性０１４では拠点ＩＤと機器ＩＤの組合せ、位置属性０１５では拠点ＩＤと位置ＩＤの組合せとなる。
ステップＳ０１３で追加対象テーブルにデータ識別列が追加データのデータ識別列と同一のデータが既に存在している場合はステップＳ０１４へ、存在していない場合はステップＳ０１５に進む。
ステップＳ０１４では構成情報設定ＡＰＰ０１８は重複データの追加を理由としたエラー処理を行う。
ステップＳ０１５で追加データを追加対象テーブルに挿入する。
このとき開始版名には版管理０１６から拠点ＩＤが追加データの拠点ＩＤと等しく、状態がＮＥＸＴの版名を取得して設定する。終了版名にはＶＥＲ＿ＭＡＸを設定する。
以上により構成情報ＤＢ０１１に対するデータの追加処理が実行できる。
【００６５】
ここで、計測値属性テーブル０１４に新たなレコードを追加する具体例を図２１を参照して説明する。
なお、新たなレコード０１２１（更新対象レコードの例）を追加するときの版管理０１６の状態は図８に示す通りであるとする。
新たなレコード０１２１を計測値属性テーブル０１４に追加する更新を行う際（Ｓ０１５）、構成情報更新部００８は、このレコード０１２１の拠点ＩＤ：１００のＮＥＸＴの版名である「３」を版管理０１６から取得し、ＮＥＸＴの版名「３」をレコード０１２１の開始版名のフィールドに記述し、また、未定を意味するＶＥＲ＿ＭＡＸをレコード０１２１の終了版名のフィールドに記述する。
【００６６】
図１３は図１１におけるステップＳ００４での構成情報のデータ更新処理の流れを表すフローチャートである。
【００６７】
まずステップＳ０２１で構成情報設定ＡＰＰ０１８により書換えデータに関する情報を入力する。
書換えデータに関する情報としては更新対象の情報種別（計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれか）とデータ識別列、及びデータ識別列、開始版名、終了版名以外の列の中でデータを書換える列のデータとなる。
ステップＳ０２２で構成情報更新部００８は書換え対象テーブルにデータ識別列が書換えデータのデータ識別列の値と等しく、終了版名がＶＥＲ＿ＭＡＸのデータ（書換え対象データ）が存在しているか調べる。
ステップＳ０２３で書換え対象データが存在している場合はステップＳ０２５へ、存在していない場合はステップＳ０２４に進む。
ステップＳ０２４では構成情報設定ＡＰＰ０１８は書換え対象データがないことを理由としたエラー処理を行う。
ステップＳ０２５で構成情報更新部００８は版管理０１６から拠点ＩＤが書換え対象データの拠点ＩＤと等しく、版名が書換え対象データの開始版名と等しいデータの状態の値（開始版名の状態）を調べる。
ステップＳ０２６で開始版名の状態がＮＥＸＴの場合はステップＳ０２９へ、そうでない場合はステップＳ０２７に進む。
ステップＳ０２７で構成情報更新部００８は版管理０１６から拠点ＩＤが書換え対象データの拠点ＩＤと等しく、状態がＣＵＲの版名を取得し、その版名で書換え対象テーブルにある書換え対象データの終了版名を更新する。
ステップＳ０２８で構成情報更新部００８は書換え対象データに書換えデータの内容を反映して、新たに書換え対象テーブルに挿入する。このとき開始列名には版管理０１６から拠点ＩＤが書換え対象データの拠点ＩＤと等しく、状態がＮＥＸＴの版名を取得して設定する。終了列名にはＶＥＲ＿ＭＡＸを設定する。
ステップＳ０２９で構成情報更新部００８は書換えデータを使って書換え対象テーブルにある書換え対象データを更新する。このときデータ識別列と開始版名、終了版名の列は更新されない。
以上により構成情報ＤＢ０１１に対するデータの書換え処理が実行できる。
【００６８】
ここで、計測値属性テーブル０１４のレコードを書き換える具体例を図２２を参照して説明する。
なお、レコード０１２０、レコード０１２２、レコード０１２３（いずれも更新対象レコードの例）に対して処理を行う際の版管理０１６の状態は図８に示す通りであるとする。
なお、レコード０１２０は、図１３のステップＳ０２７で終了版名が更新される既存のレコード（開始版名がＮＥＸＴの版名でないレコード）である。
レコード０１２２は、図１３のステップＳ０２８で追加される書換え後のデータが記述されるレコードである。
レコード０１２３は、図１３のステップＳ０２９でデータの書換えが行われる既存のレコード（開始版名がＮＥＸＴの版名のレコード）である。
【００６９】
まず、レコード０１２０及びレコード０１２２について説明する。
図１３のステップＳ０２６の判断において、レコード０１２０の開始版名は「１」でありＮＥＸＴでないため、ステップＳ０２７において、構成情報更新部００８は、このレコード０１２０の拠点ＩＤ：１００のＣＵＲの版名である「２」を版管理０１６から取得し、ＣＵＲの版名「２」をレコード０１２０の終了版名のフィールドに記述する。なお、レコード０１２０は、終了版名以外の内容は変更されない。
次に、構成情報更新部００８は、ステップＳ０２８において、書換え後のデータが含まれるレコード０１２２の拠点ＩＤ：１００のＮＥＸＴの版名である「３」を版管理０１６から取得し、ＮＥＸＴの版名「３」をレコード０１２２の開始版名のフィールドに記述する。また、終了版名には未定を意味するＶＥＲ＿ＭＡＸを設定する。
【００７０】
次に、レコード０１２３の書換えについて説明する。
なお、ここでは、レコード０１２３のみ書換えが発生し、上述したレコード０１２０の書換えは発生しないものとする。
レコード０１２３の開始版名は「３」でありＮＥＸＴであるため、ステップＳ０２９において、開始版名及び終了版名の記述を変更せずにレコード０１２３のデータの書換え（機器ＩＤの書換え）を行う。
【００７１】
図１４は、図１１におけるステップＳ００５での構成情報のデータ削除処理の流れを表すフローチャートである。
【００７２】
まずステップＳ０４１で構成情報設定ＡＰＰ０１８により削除データに関する情報を入力する。
削除データに関する情報としては削除対象の情報種別（計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれか）とデータ識別列となる。
ステップＳ０４２で、構成情報更新部００８は削除対象テーブルにデータ識別列が削除データのデータ識別列の値と等しく、終了版名がＶＥＲ＿ＭＡＸのデータ（削除対象データ）が存在しているか調べる。
ステップＳ０４３で、削除対象データが存在している場合はステップＳ０４５へ、存在していない場合はステップＳ０４４に進む。
ステップＳ０４４では、構成情報設定ＡＰＰ０１８は削除対象データがないことを理由としたエラー処理を行う。
ステップＳ０４５で、構成情報更新部００８は版管理０１６から拠点ＩＤが削除対象データの拠点ＩＤと等しく、版名が削除対象データの開始版名と等しいデータの状態の値（開始版名の状態）を調べる。
ステップＳ０４６で、開始版名の状態がＮＥＸＴの場合はステップＳ０４８へ、そうでない場合はステップＳ０４７に進む。
ステップＳ０４７で、構成情報更新部００８は版管理０１６から拠点ＩＤが削除対象データの拠点ＩＤと等しく、状態がＣＵＲの版名を取得し、その版名で削除対象テーブルにある削除対象データの終了版名を更新する。
ステップＳ０４８で、構成情報更新部００８は削除対象テーブルにある削除対象データを削除する。
ステップＳ０４９で、構成情報更新部００８は版管理０１６から拠点ＩＤが削除データの拠点ＩＤと等しく、状態がＣＵＲの版名を取得する。
そして、その版名と終了版名が等しく、拠点ＩＤが削除データの拠点ＩＤと等しいデータを削除対象テーブルから取得する。
ステップＳ０５０では、構成情報更新部００８はステップＳ０４９で取得したデータについて削除対象テーブルにあるデータの終了版名をＶＥＲ＿ＭＡＸに更新する。
以上により構成情報ＤＢ０１１に対するデータの削除処理が実行できる。
【００７３】
ここで、計測値属性テーブル０１４のレコードを削除する具体例を図２３を参照して説明する。
なお、レコード０１２０、レコード０１２４、レコード０１２５（いずれも更新対象レコードの例）に対して処理を行う際の版管理０１６の状態は図８に示す通りであるとする。
なお、レコード０１２０は、図１４のステップＳ０４７で終了版名が更新される既存のレコード（開始版名がＮＥＸＴの版名でないレコード）である。
レコード０１２４は、図１４のステップＳ０５０で終了版名が更新される既存のレコード（開始版名がＮＥＸＴの版名でないレコード）である。
レコード０１２５は、図１４のステップＳ０４８で削除される既存のレコード（開始版名がＮＥＸＴの版名のレコード）である。
【００７４】
まず、レコード０１２０について説明する。
図１４のステップＳ０４６の判断において、レコード０１２０の開始版名は「１」でありＮＥＸＴでないため、ステップＳ０４７において、構成情報更新部００８は、このレコード０１２０の拠点ＩＤ：１００のＣＵＲの版名である「２」を版管理０１６から取得し、ＣＵＲの版名「２」をレコード０１２０の終了版名のフィールドに記述する。なお、レコード０１２０は、終了版名以外の内容は変更されない。
【００７５】
次に、レコード０１２５の削除とレコード０１２４の終了版名の更新について説明する。
なお、ここでは、レコード０１２５の削除のみが発生し、上述したレコード０１２０の削除は発生しないものとする。
レコード０１２５の開始版名は「３」でありＮＥＸＴであるため、ステップＳ０４８において、構成情報更新部００８はレコード０１２５を削除する。
次に、構成情報更新部００８は、ステップＳ０４９において、構成情報更新部００８はステップＳ０４９において、レコード０１２５の拠点ＩＤ：１００のＣＵＲの版名「２」を版管理０１６から取得する。
次に、構成情報更新部００８は、拠点ＩＤ：１００であって終了版名が「２」であるレコード０１２４を抽出し、ステップＳ０５０で、レコード０１２４の終了版名を未定を意味するＶＥＲ＿ＭＡＸに変更する。
【００７６】
図２１〜図２３を用いて説明したように、同じテーブル内の２つ以上のレコードに同じ拠点ＩＤが記述されている場合に、更新対象のレコードと同じ拠点ＩＤの他のレコードの開始版名及び終了版名の記述は変更せずに、更新対象レコードの開始版名又は／及び終了版名に版管理０１６から取得した版名を記述する。
そして、版情報更新部００７は、後述のように、更新対象レコードの拠点ＩＤと同じ拠点ＩＤが記述されている他のレコードでレコード内容の変更がなくても、更新対象レコードにおける更新時刻を版管理０１６に反映させるとともに、ＣＵＲ、ＮＥＸＴとなる版の世代を更新する。
【００７７】
図１５は、図１１におけるステップＳ００７での構成情報の版の改定処理の流れを表すフローチャートである。
【００７８】
まず、ステップＳ０６１で、構成情報設定ＡＰＰ０１８により改定に関する指示情報を入力する。改定指示情報としては改定対象の拠点ＩＤ、改定日時（計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のいずれかのレコードを更新した更新時刻）となる。
ステップＳ０６２で、版情報更新部００７は、拠点管理０１７から改定対象の拠点ＩＤのデータを取得し、グループＩＤの値を調べる。
グループＩＤの値がｎｕｌｌの場合は拠点ＩＤがグループに所属していないため改定対象はステップＳ０６１で入力した拠点ＩＤのみとなる。
グループＩＤの値がｎｕｌｌでない場合、拠点管理０１７から同一グループＩＤを持つ拠点ＩＤをすべて取得する。
ここで取得したすべての拠点ＩＤが改定対象となり、拠点ＩＤ毎にステップＳ０６３からステップＳ０６５を実行する。
ステップＳ０６３で、版情報更新部００７は、版管理０１６で拠点ＩＤが改定対象の拠点ＩＤと等しく、状態がＣＵＲのデータについて、状態をＰＡＳＴ、終了日時を改定日時に更新する。
ステップＳ０６４で、版情報更新部００７は、版管理０１６で拠点ＩＤが改定対象の拠点ＩＤと等しく、状態がＮＥＸＴのデータについて、状態をＣＵＲ、開始日時を改定日時、終了日時をＴＩＭＥＳＴＡＭＰ＿ＭＡＸに更新する。
ステップＳ０６５で、版情報更新部００７は、版管理０１６に拠点ＩＤに改定対象の拠点ＩＤ、版名にステップＳ０６４で更新したデータの版名に版の間隔単位（例えば１）を加えた値、状態にＮＥＸＴを設定したデータを挿入する。
ステップＳ０６６で、改定対象の拠点ＩＤの中で未処理の拠点ＩＤが残っている場合はステップＳ０６３へ進み、未処理の拠点ＩＤについて処理を行う。
以上により構成情報ＤＢ０１１に対する版の改定処理が実行できる。
【００７９】
図１６は、図１１におけるステップＳ００８での拠点管理０１７に対するデータ変更処理の流れを表すフローチャートである。
【００８０】
まず、ステップＳ１０１で、構成情報設定ＡＰＰ０１８により拠点変更に関する操作指示情報を入力する。
操作指示情報としては拠点の変更操作（追加あるいは削除）と、追加の場合は拠点管理０１７への追加データ、削除の場合は削除対象の拠点ＩＤとなる。
ステップＳ１０２で変更操作が追加の場合はステップＳ１０３へ、削除の場合はステップＳ１０５に進む。
ステップＳ１０３で、構成情報更新部００８は追加データを拠点管理０１７に挿入する。
ステップＳ１０４で、版情報更新部００７は版管理０１６に対して拠点ＩＤに追加データの拠点ＩＤ、版名に版の初期値（例えば１）、状態にＮＥＸＴを設定したデータを挿入する。
ステップＳ１０５で、構成情報更新部００８は構成情報ＤＢ０１１のすべてのテーブル（計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５、版管理０１６、拠点管理０１７）に対して、拠点ＩＤが削除対象の拠点ＩＤと等しいデータを削除する。
以上により構成情報ＤＢ０１１の拠点管理０１７に対するデータ変更処理が実行できる。
【００８１】
図１１のステップＳ００３、Ｓ００４、Ｓ００５で実行した変更操作は、ステップＳ００７の実行前であれば一括して取り消すことができる。
図１７はステップＳ００３、Ｓ００４、Ｓ００５による変更の取消処理の流れを表すフローチャートである。
【００８２】
まず、ステップＳ０７１で、構成情報設定ＡＰＰ０１８により変更の取消対象となる拠点ＩＤを入力する。
ステップＳ０７２で、構成情報更新部００８は、版管理０１６から拠点ＩＤが取消対象の拠点ＩＤと等しく、状態がＮＥＸＴの版名を取得する。
そして計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のすべてについて、拠点ＩＤが取消対象の拠点ＩＤと等しく、開始版名が取得した版名と等しいデータを削除する。
ステップＳ０７３で、構成情報更新部００８は、版管理０１６から拠点ＩＤが取消対象の拠点ＩＤと等しく、状態がＣＵＲの版名を取得する。
そして計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５のすべてについて、拠点ＩＤが取消対象の拠点ＩＤと等しく、終了版名が取得した版名と等しいデータの終了版名をＶＥＲ＿ＭＡＸに更新する。
以上によりステップＳ００３、Ｓ００４、Ｓ００５による変更の取消処理が実行できる。
【００８３】
次に、機器からのデータの格納について説明する。
図１８は、図１に示すデータ蓄積装置における機器からのデータ格納処理の流れを表すフローチャートである。
【００８４】
まず、ステップＳ０８１で、データ収集部０３２は一定時間間隔でセンサー機器０３１からデータを収集して、データ受信部００２に送信する。
このとき、データ収集部０３２ではデータの計測値ＩＤと発生日時及び拠点０３０の拠点ＩＤを付加情報としてデータに付加して送信する。
なお、計測値ＩＤと拠点ＩＤはデータ収集部０３２で付加せず、データ受信部００２が受け取った段階でデータに付加してもよい。
ステップＳ０８２で、データ受信部００２は、受け取ったデータ一式と動作モードを示すパラメータをデータ格納部００３に受け渡す。
動作モードを示すパラメータは実運用と試験運用のいずれかの値を持ち、モードはデータ受信部００２の起動時に指定され、通常の実行では実運用モードとなる。
データ格納部００３ではデータを拠点ＩＤ単位で発生日時毎に分類し、グループ化する。
ステップＳ０８３で、データ格納部００３は、グループ化したデータ群の個々のデータに対して、拠点ＩＤと計測値ＩＤ、発生日時をパラメータとして構成情報検索部００９に問い合わせを実行して、データの格納先（サーバ、テーブル、出力列）を取得する。
ステップＳ０８４で、データ格納部００３は、ステップＳ０８３で取得したデータ格納先のテーブル、出力列の情報に従ってテーブル毎にレコードを組み立てて、センサーＤＢ００６の該当テーブルに出力する。
以上により機器からのデータを構成情報ＤＢ０１１の情報に従ってセンサーＤＢ００６に格納する。
【００８５】
図１８のステップＳ０８３における構成情報検索部００９の処理について、詳細を説明する。
図１９は構成情報検索部００９における構成情報の検索処理の流れを表すフローチャートである。
【００８６】
まず、ステップＳ０９１で、構成情報検索部００９は、構成情報ＤＢ０１１に対する検索条件を入力する。
検索条件としては検索対象（計測値属性０１２、計測値／列対応０１３、機器属性０１４、位置属性０１５）、出力対象、抽出条件などがある。
図１８のステップＳ０８３の場合、検索対象は計測値／列対応０１３、出力対象はサーバ、テーブル、出力列、抽出条件は拠点ＩＤ、計測値ＩＤに対する等号条件と日時指定となる。
ステップＳ０９２で、検索条件として構成情報ＤＢ０１１のデータの版名に対する抽出条件があるか調べ、条件がある場合はステップＳ０９８へ、ない場合はステップＳ０９３に進む。
ステップＳ０８３の場合は条件がないためステップＳ０９３に進む。
ステップＳ０９３で検索条件として日時指定の抽出条件があるか調べ、条件がある場合はステップＳ０９５へ、ない場合はステップＳ０９４に進む。ステップＳ０８３の場合は日時指定があるためステップＳ０９５に進む。
ステップＳ０９４で版管理０１６から状態がＣＵＲの版名を取得する。
このとき拠点ＩＤに対する抽出条件がある場合は対応する拠点ＩＤについて、条件がない場合はすべての拠点ＩＤについて実行する。
ステップＳ０８３の場合、本ステップは実行されない。
ステップＳ０９５で日時指定の値が日時データか、あるいはｎｕｌｌか調べる。
値として日時データが指定されている場合はステップＳ０９６へ、値にｎｕｌｌが指定されている場合はステップＳ０９７に進む。
ステップＳ０８３の場合、通常は値として日時データが指定されるためステップＳ０９６に進む。
ステップＳ０９６で日時指定を元に版管理０１６から検索対象の版名を導出する。版管理０１６から日時指定された値（対象日時）が開始日時以降で終了日時を超えない（開始日時≦対象日時＜終了日時）条件を満たす版名を取得する。
このとき拠点ＩＤに対する抽出条件がある場合は対応する拠点ＩＤについて、条件がない場合はすべての拠点ＩＤについて実行する。ステップＳ０８３の場合は拠点ＩＤと日時指定から一つの版名を取得する。
ステップＳ０９７では開始日時の値がｎｕｌｌの版名を取得する。
開始日時の値がｎｕｌｌの版名の状態はＮＥＸＴとなることから、状態がＮＥＸＴの版名が取得される。
このとき拠点ＩＤに対する抽出条件がある場合は対応する拠点ＩＤについて、条件がない場合はすべての拠点ＩＤについて実行する。ステップＳ０８３では本ステップは通常実行されない。
ステップＳ０９８で版名が開始版名以上で終了版名以下（開始版名≦版名≦終了版名）という条件を生成する。
その条件をステップＳ０９１で入力した検索条件に追加して構成情報ＤＢ０１１の検索処理を実行して結果を返す。
ステップＳ０８３の場合は計測値／列対応０１３に対して拠点ＩＤ、計測値ＩＤに対する等号条件に版名の条件を加えた抽出条件の検索処理を実行し、結果としてサーバ、テーブル、出力列を返す。
以上により構成情報ＤＢ０１１から必要な版名に対応した構成情報の検索処理が実行できる。
【００８７】
機器からのデータ格納で、試験運用として状態がＮＥＸＴの版名に対応する構成情報を使ったデータ格納を行う場合は、試験運用のデータを受け取るデータ受信部００２を試験運用モードで起動する。
図１８のステップＳ０８２においてデータ受信部００２は試験運用モードであることをデータ格納部００３に伝え、データ格納部００３ではステップＳ０８３の構成情報検索部００９への問い合わせの際、発生日時の値をｎｕｌｌにすることで状態がＮＥＸＴの版名に対応した構成情報を取得することができる。
【００８８】
最後に蓄積したデータの検索について説明する。
図２０は、図１に示すデータ蓄積装置００１における蓄積したデータの検索処理の流れを表すフローチャートである。
【００８９】
まずステップＳ１１１で検索ＡＰＰ０２０からデータの検索条件を入力する。
検索条件としては、対象とする拠点０３０の拠点ＩＤ、検索対象となる計測値テーブルと出力対象の列や抽出条件などに、出力対象の構成情報の版名や情報種別、出力対象列などがある。
入力した検索条件はセンサーＤＢ検索部０１９に渡される。
ステップＳ１１２で、センサーＤＢ検索部０１９は、計測値テーブルに対する抽出条件として日時指定があるか調べて、指定がある場合はステップＳ１１６へ、ない場合はステップＳ１１３に進む。
ステップＳ１１３で、センサーＤＢ検索部０１９は、出力対象の構成情報の版名の指定があるか調べて、指定がある場合はステップＳ１１５へ、ない場合はステップＳ１１４に進む。
ステップＳ１１４で、センサーＤＢ検索部０１９は、ステップＳ１１１で入力した拠点ＩＤをパラメータに構成情報検索部００９に状態がＣＵＲの版名を問い合わせる。
構成情報検索部００９では版管理０１６から拠点ＩＤの値がセンサーＤＢ検索部０１９から渡された拠点ＩＤと等しく、状態がＣＵＲの版名を検索してセンサーＤＢ検索部０１９に返す。
ステップＳ１１５で、センサーＤＢ検索部０１９は、拠点ＩＤと版名をパラメータに構成情報検索部００９に版の開始日時、終了日時を問い合わせる。
構成情報検索部００９では版管理０１６から拠点ＩＤと版名がセンサーＤＢ検索部０１９から渡された値と等しいデータの開始日時と終了日時を取得してセンサーＤＢ検索部０１９に返す。
センサーＤＢ検索部０１９は取得した開始日時、終了日時を使って計測値テーブルに対する日時指定条件（開始日時≦発生日時＜終了日時）を生成する。
ステップＳ１１６で、センサーＤＢ検索部０１９は計測値テーブル、出力対象の列と日時指定条件及びステップＳ１１１で入力した日時指定条件以外の抽出条件などの検索条件を指定してデータ検索部００４に対してセンサーＤＢ００６の検索問い合わせを行う。
データ検索部００４はＤＢ管理部００５を使用して検索条件に従った検索処理を実行し、結果をセンサーＤＢ検索部０１９に渡す。
ステップＳ１１７で、センサーＤＢ検索部０１９は、ステップＳ１１１で入力した出力対象の構成情報の版名や情報種別、出力対象列及び日時指定（計測値テーブルに対する日時指定がある場合）をパラメータとして構成情報検索部００９に問い合わせを実行する。
構成情報検索部００９ではパラメータを元に構成情報を検索する。
ここでの処理は図１９のフローチャートの通りである。
検索結果はセンサーＤＢ検索部０１９に返される。
ステップＳ１１８で、センサーＤＢ検索部０１９は、ステップＳ１１６で得られたデータとステップＳ１１８で得られた構成情報を合わせて検索ＡＰＰ０２０に返し、検索ＡＰＰ０２０はデータと構成情報を出力する。
以上によりセンサーＤＢ００６に蓄積されたデータを構成情報ＤＢ０１１の対応する構成情報と共に検索することができる。
【００９０】
蓄積したデータの検索で、試験運用として状態がＮＥＸＴの版名に対応する構成情報を使って格納したデータに対する検索を行う場合は、検索条件に状態がＮＥＸＴの版名を指定することで対応できる。
【００９１】
以上のように、構成情報は変更されたデータも履歴として版毎に管理するようにしているので、構成情報を変更しても変更前の構成情報が失われることがなく、それにより構成情報に対応したデータについても、変更前までに蓄積されたデータを利用することができる。
また、構成情報の版データの状態として履歴／現版に加えて次版を定義しているので、構成情報データベースに次版のデータを登録することができる。
さらに、構成情報に対する変更有無に関わらず改版時には予め次版の版データを生成するので、構成情報の変更時に版情報に対する変更処理が不要である。
また、構成情報の変更時に現版のデータは更新せず次版のデータに対して操作を行っているので、確定したデータは失われず履歴として蓄積され、変更操作が行われるデータは一つのみで変更途中の中間状態のデータが残らない。
さらに、構成情報に対する検索は日時指定に基づく条件で行うことができるので、センサーＤＢ側には版に関する情報は不要で、検索操作では版を意識しなくても検索することができる。
また、版の改定までは次版の構成情報は日時指定条件に適合しないことが保障できるので、データ格納処理（構成情報の検索）と並行して構成情報を変更することができる。
さらに、変更中の次版の構成情報の検索もできるので、実運用と並行して次版の構成情報を使用した試験運用が可能となる。
また、構成情報の版の改定処理は版情報に対する処理のみで完結するようにしているので、個々の構成情報に対する処理が不要なことで改定処理を効率化できる（処理ステップ、実行時間の短縮）。
さらに、版改定に伴う版の終了日時の設定を任意の日時に指定できるようにしているので、版の改定を将来または過去に遡った時点で行うことができる。
また、構成情報と版管理情報は拠点単位で管理するようにしているので、拠点毎に独立な情報として拠点毎に構成情報の運用が行え、複数の拠点からのデータに対応することができる。
さらに、複数拠点の集合を定義可能とし、拠点の集合単位で構成情報の版改定を同期させるようにしているので、複数拠点にまたがった版の管理を行うことができる。
【００９２】
以上、本実施の形態では、複数機器からデータを収集し、データの蓄積と検索を可能にするデータ蓄積装置において、以下を備えた構成情報管理装置を説明した。
（ａ）機器や収集データ、データ格納場所などに関する情報と、情報が対応する版の開始版名と終了版名の情報を有する構成要素データから成る構成情報；
（ｂ）構成情報の版名と状態、開始日時及び終了日時を有する版データから成り、版データの状態としては履歴／現版／次版の三つのいずれかの値となる版管理情報；
（ｃ）構成情報と版管理情報から成る構成情報データベース；
（ｄ）構成情報の登録、更新を行う構成情報更新手段；
（ｅ）構成情報の版を改定する版情報更新手段；
（ｆ）構成情報データベースから構成情報を検索する構成情報検索手段。
【００９３】
また、前記（ａ）構成情報において次版に対応する構成要素データの有無に関わらず前記（ｂ）版管理情報に状態が次版の版データを予め用意することを説明した。
【００９４】
また、前記（ｄ）構成情報更新手段において、
構成情報に構成要素データを追加する場合は、追加する構成要素データの開始版名に状態が次版の版データの版名を設定して構成要素データを挿入、
構成情報の構成要素データを変更する場合は、変更対象の構成要素データの開始版名に設定されている版データの状態が次版のときは変更対象の構成要素データを直接更新、状態が次版でないときは変更対象の構成要素データの終了版名を状態が現版の版データの版名に更新して、変更後の構成要素データは開始版名に状態が次版の版データの版名を設定して新規に挿入、
構成情報の構成要素データを削除する場合は、削除対象の構成要素データの開始版名に設定されている版データの状態が次版のときは削除対象の構成要素データを直接削除し、状態が次版でないときは削除対象の構成要素データの終了版名を状態が現版の版データの版名に更新すると共に、
前記（ｅ）版情報更新手段において構成情報の版を改定するとき、状態が現版の版データについて状態を履歴に更新すると共に終了日時を設定し、状態が次版の版データについては状態を現版に更新して開始日時を設定、さらに新しく状態が次版の版データを挿入することで構成情報データベースの変更を行うことを説明した。
【００９５】
また、前記（ｅ）版情報更新手段において、構成情報の版改定で状態を現版から履歴に更新する版データの終了日時及び状態を次版から現版に更新する版データの開始日時について任意の日時が指定できることにより、版の切り替え時期として将来または過去に遡った時点に設定できることを説明した。
【００９６】
また、前記（ｆ）構成情報検索手段において、検索条件に版名が指定されている場合は指定された版名を、そうでない場合は日時指定条件から前記（ｂ）版管理情報の開始日時と終了日時により導出した版データの版名を使用して、前記（ａ）構成情報が持つ開始版名及び終了版名の情報から版名に該当する構成情報を抽出することを説明した。
【００９７】
また、前記（ｆ）構成情報検索手段において、検索条件として日時指定をした場合、次版に対応する構成情報は抽出されず、履歴または現版に対応する構成情報が必ず抽出されることを説明した。
【００９８】
また、データ蓄積装置は、更に、以下の要素を備えていることを説明した。
（ｇ）機器からのデータを蓄積するデータベース；
（ｈ）複数の機器からのデータを収集するデータ収集手段；
（ｉ）（ｈ）データ収集手段からのデータを受信するデータ受信手段；
（ｊ）前記（ｃ）構成情報データベースの（ａ）構成情報に基づいて（ｉ）データ受信手段から受け取ったデータを（ｇ）データベースに格納するデータ格納手段；
（ｋ）（ｇ）データベースからデータを検索するデータ検索手段；
（ｌ）前記（ｆ）構成情報検索手段と（ｋ）データ検索手段を組み合わせて利用することによりデータを検索するデータベース検索手段；
【００９９】
また、前記（ｊ）データ格納手段において、データの日時情報を基に前記（ｆ）構成情報検索手段によりデータに対応する構成情報の版からデータ格納場所の情報を取得し、所定の格納場所にデータを格納することを説明した。
【０１００】
また、前記（ｌ）データベース検索手段において、日時指定条件を基に前記（ｋ）データ検索手段により機器からのデータを取得すると共に前記（ｆ）構成情報検索手段によりデータに対応する構成情報を取得して、データと対応する構成情報を同時に取得することを説明した。
【０１０１】
また、複数の遠隔拠点に前記（ｈ）データ収集手段がそれぞれ独立して個別に存在し、前記（ｃ）構成情報データベースに以下の情報が加わると共に、前記（ａ）構成情報及び（ｂ）版管理情報に拠点情報が追加されることを説明した。
（ｍ）構成情報や版管理情報が属する拠点に関する情報を有する拠点データから成る拠点管理情報。
【０１０２】
また、前記（ｄ）構成情報更新手段及び前記（ｅ）版情報更新手段、（ｆ）構成情報検索手段において、（ｈ）データ収集手段の属する拠点に対応する拠点データから操作対象の構成情報及び版管理情報を特定することを説明した。
【０１０３】
最後に、実施の形態１に示したデータ蓄積装置００１のハードウェア構成例について説明する。
図２４は、実施の形態１に示すデータ蓄積装置００１のハードウェア資源の一例を示す図である。
なお、図２４の構成は、あくまでもデータ蓄積装置００１のハードウェア構成の一例を示すものであり、データ蓄積装置００１のハードウェア構成は図２４に記載の構成に限らず、他の構成であってもよい。
【０１０４】
図２４において、データ蓄積装置００１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１で説明した「構成情報ＤＢ」及び「センサーＤＢ」は、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【０１０５】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。
例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【０１０６】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【０１０７】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【０１０８】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
データ蓄積装置００１の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【０１０９】
上記プログラム群９２３には、実施の形態１の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【０１１０】
ファイル群９２４には、実施の形態１の説明において、「〜の判断」、「〜の追加」、「〜の書換え」、「〜の削除」、「〜の更新」、「〜の改定」、「〜の確認」、「〜の検査」、「〜の比較」、「〜の抽出」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１１１】
また、実施の形態１の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「データ処理方法」を実現することができる。
また、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、実施の形態１の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【０１１２】
このように、実施の形態１に示すデータ蓄積装置００１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【０１１３】
００１  データ蓄積装置、００２  データ受信部、００３  データ格納部、００４  データ検索部、００５  ＤＢ管理部、００６  センサーＤＢ、００７  版情報更新部、００８  構成情報更新部、００９  構成情報検索部、０１０  構成情報ＤＢ管理部、０１１  構成情報ＤＢ、０１２  計測値属性テーブル、０１３  計測値／列対応テーブル、０１４  機器属性テーブル、０１５  位置属性テーブル、０１６  版管理テーブル、０１７  拠点管理テーブル、０１８  構成情報設定ＡＰＰ、０１９  センサーＤＢ検索部、０２０  検索ＡＰＰ、０３０  拠点、０３１  センサー機器、０３２  データ収集部、５００  ネットワーク。
【図１】
0005436309.tif 000002
【図２】
0005436309.tif 000003
【図３】
0005436309.tif 000004
【図４】
0005436309.tif 000005
【図５】
0005436309.tif 000006
【図６】
0005436309.tif 000007
【図７】
0005436309.tif 000008
【図８】
0005436309.tif 000009
【図９】
0005436309.tif 000010
【図１０】
0005436309.tif 000011
【図１１】
0005436309.tif 000012
【図１２】
0005436309.tif 000013
【図１３】
0005436309.tif 000014
【図１４】
0005436309.tif 000015
【図１５】
0005436309.tif 000016
【図１６】
0005436309.tif 000017
【図１７】
0005436309.tif 000018
【図１８】
0005436309.tif 000019
【図１９】
0005436309.tif 000020
【図２０】
0005436309.tif 000021
【図２１】
0005436309.tif 000022
【図２２】
0005436309.tif 000023
【図２３】
0005436309.tif 000024
【図２４】
0005436309.tif 000025
【図２５】
0005436309.tif 000026