以下、本発明の実施の形態について、図を用いて説明する。
実施の形態1.
図1は、本実施の形態に係るデータ収集システム100の構成の一例を示すブロック図である。
図1において、データ収集システム100は、計測機器101から出力される複数種類の出力データ111を収集するシステムである。データ収集システム100は、PC200(パーソナルコンピュータ)、サーバ群300、DB400(データベース)を備える。
計測機器101は、複数の拠点121のそれぞれに少なくとも1つずつ設置される機器である。計測機器101は、各拠点121におけるエネルギー使用量を計測し、エネルギー使用量の計測値を示す少なくとも1種類の出力データ111を出力する。エネルギー使用量とは、各拠点121で使用される電気、ガス、燃料、熱、水道等の量のほか、それらに関連して計測可能なもの(電圧等)をいう。出力データ111は、異なる種類ごとにフォーマットが定められている。出力データ111の種類は、例えば、計測対象や計測頻度、計測機器101の機種(メーカやモデル)によって分けられる。計測機器101は、出力データ111をPC200に送信してPC200内に保存するか、あるいは、出力データ111を単に記録媒体(例えば、メモリカード)内に保存する。このとき、計測機器101が、PC200又は記録媒体内で出力データ111の種類ごとに定められた格納領域(例えば、フォルダ)に出力データ111を格納することが望ましい。
図1では、計測機器101の機種の例として、計測機器A、計測機器B、計測機器C、計測機器Fの4機種を示している。また、拠点121の例として、Aビル、Bビル、Cビルの3つを示している。また、出力データ111のフォーマットの例として、A1、A2、A3、B1、B2、C1、C2の7種類を示している。
Aビルには、計測機器Aが2つ、計測機器Bが1つ設置されており、計測機器Aの一方がA1の出力データ111を出力し、他方がA2の出力データ111を出力し、計測機器BがA3の出力データ111を出力する。Bビルには、計測機器Cが1つのみ設置されており、計測機器CがB1の出力データ111とB2の出力データ111とを出力する。Cビルには、計測機器A、計測機器Fが1つずつ設置されており、計測機器AがC1の出力データ111を出力し、計測機器FがC2の出力データ111を出力する。
例えば、Aビルの計測機器Aは、Aビル各階の空調の電力消費量とAビル各階の照明の電力消費量とを示すデータをA1の出力データ111として1時間ごとに出力する。Aビルの別の計測機器Aは、Aビル各階のガス消費量を示すデータをA2の出力データ111として1時間ごとに出力する。Aビルの計測機器Bは、Aビル各階の水道使用量を示すデータをA3の出力データ111として1日ごとに出力する。また、例えば、Bビルの計測機器Cは、Bビル各階の空調の電力消費量とBビル各階の照明の電力消費量とを示すデータをB1の出力データ111として1時間ごとに出力し、Bビル各階のガス消費量を示すデータをB2の出力データ111として1時間ごとに出力する。ここで、図2(a)に、A1及びB1の出力データ111の一例を示す。図2(a)の例において、A1の出力データ111は、計測対象(例えば、1階の空調、2階の空調、・・・、1階の照明、2階の照明、・・・)を識別するユニーク番号とともに、5分ごとの積算電力消費量(単位:キロワット)を、1時から2時までの1時間分示すデータである。B1の出力データ111は、A1の出力データ111と同様のユニーク番号とともに、5分ごとの電力消費量(単位:キロワット)を、1時から2時までの1時間分示すデータである。
なお、計測機器101の機種数は4機種に限られず、1機種、2機種、3機種、又は、5機種以上であってもよい。また、拠点121の数は3つに限られず、1つ、2つ、又は、4つ以上であってもよい。例えば、拠点121の数が1つのみで、その拠点121に計測機器101が1つのみ設置されている場合であっても、その計測機器101から複数種類の出力データ111が出力されるのであれば、本実施の形態と同様のシステムを採用することにより、後述するような効果が得られる。
また、出力データ111のフォーマットは、計測対象や計測頻度ごとに必ずしも別々でなくてよく、異なる計測対象や計測頻度について共通のものが定められていてもよい。さらに、出力データ111のフォーマットは、計測機器101の機種や設置箇所(拠点121)ごとに必ずしも別々でなくてよく、異なる機種や設置箇所について共通のものが定められていてもよい。
また、本実施の形態において、エネルギー使用量の計測値を示す出力データ111を出力する計測機器101を、他の計測値(例えば、気象や環境の計測値)を示す出力データを出力する計測機器、あるいは、他の値(例えば、店舗の売上金額)を示す出力データを出力する機器に置き換えても、当該機器から複数種類の出力データが出力されるのであれば、後述するような効果が得られる。
PC200は、複数の拠点121のそれぞれに少なくとも1つずつ設置される。サーバ群300は、1箇所に、あるいは、複数箇所に分散して設置される。DB400は、サーバ群300と接続され、サーバ群300と同じ又は異なる場所に設置される。PC200及びサーバ群300は、ルータ102を介してネットワーク103に接続され、ネットワーク103経由で互いに通信を行う。通信に用いられるプロトコルは、特定のものに限られないが、ここでは一例としてIP(Internet・Protocol)であるとする。
図1の例では、PC200が、Aビル、Bビル、Cビルに1つずつ設置されている。AビルのPC200では、FTP(File・Transfer・Protocol)を用いて通信を行う送信プログラム201が動作する。BビルのPC200では、HTTP(HyperText・Transfer・Protocol)を用いて通信を行うブラウザ202が動作する。CビルのPC200では、送信プログラム201とブラウザ202との両方が動作する。また、図1の例では、サーバ群300及びDB400が、データセンター122に設置されている。サーバ群300は、1つ又は複数のサーバコンピュータとして実現され、そのサーバコンピュータでは、FTPサーバ301、HTTPサーバ302、DBサーバ303が動作する。なお、図中、及び、以下の説明中、送信プログラム201、ブラウザ202、FTPサーバ301、HTTPサーバ302、DBサーバ303は、ソフトウェアだけでなく、ソフトウェアを実行するために必要な要素(後述する処理装置や記憶装置等のハードウェア等)も含むものとする。DBサーバ303の一部として後述するデータ取り込みプログラム304、監視プログラム307、管理プログラム308についても同様である。例えば、図1において、送信プログラム201、ブラウザ202、FTPサーバ301、HTTPサーバ302、DBサーバ303、データ取り込みプログラム304をそれぞれブロックで示しているが、各ブロックはソフトウェアとハードウェアとの組み合わせにより実現されるものである。そして、各ブロック中、PC200やサーバ群300の各部(後述するデータ取得部211、データ送信部212、データ保存部311、データ格納部312等)も別々の(より小さな)ブロックで示しているが、これらのブロックもソフトウェアとハードウェアとの組み合わせにより実現されるものである。
PC200は、端末装置の一例であり、データ取得部211、データ送信部212を有する。図1の例では、データ取得部211、データ送信部212が、送信プログラム201及びブラウザ202のそれぞれに実装されている。データ取得部211、データ送信部212の動作については後述する。
サーバ群300は、サーバ装置の一例であり、データ保存部311、データ格納部312を有する。図1の例では、データ保存部311が、FTPサーバ301及びHTTPサーバ302のそれぞれに実装され、データ格納部312が、DBサーバ303の一部であるデータ取り込みプログラム304に実装されている。データ保存部311、データ格納部312の動作については後述する。
図1に示していないが、PC200及びサーバ群300は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを具備する。ハードウェアはPC200及びサーバ群300の各部によって利用される。例えば、処理装置は、PC200及びサーバ群300の各部でデータや情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置は、そのデータや情報を記憶するために利用される。また、入力装置は、そのデータや情報を入力するために、出力装置は、そのデータや情報を出力するために利用される。
図3は、PC200(端末装置)及びサーバ群300(サーバ装置)のハードウェア構成の一例を示す図である。
図3において、PC200、あるいは、サーバ群300を実現するサーバコンピュータであるコンピュータ900は、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
コンピュータ900は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LAN等を介して、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されている。WAN、インターネットは、ネットワーク103の一例である。
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記憶媒体に記憶される。RAM914やHDD920等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
本実施の形態の説明において「〜部」、「〜プログラム」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」、「〜プログラム」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」、「〜プログラム」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」、「〜プログラム」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラム群923のプログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜プログラム」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」、「〜プログラム」の手順や方法をコンピュータに実行させるものである。
図1において、PC200は、出力データ111のフォーマットごとに、サーバ群300から認証を受けるための複数の認証データ112を予め記憶装置に記憶する。例えば、AビルのPC200は、FTPサーバ301にログインするためのユーザID(識別子)及びパスワードの組み合わせを、A1、A2、A3のそれぞれに対応付けて1つずつ記憶装置に記憶する。BビルのPC200は、HTTPサーバ302にログインするためのユーザID及びパスワードの組み合わせを、B1、B2のそれぞれに対応付けて1つずつ記憶装置に記憶する。
サーバ群300は、認証データ112ごとにそれぞれ設定される複数のフォルダ305を記憶装置内に有する。そして、サーバ群300は、認証データ112ごとに、設定されたフォルダ305の識別子(例えば、フォルダ名)を予め記憶装置に記憶する。例えば、DBサーバ303は、「10001」、「10002」、「10003」、「10004」、「10005」といった名称のフォルダ305を有する。FTPサーバ301は、A1、A2、A3に対応するユーザID及びパスワードの組み合わせに対応付けて、順番に「10001」、「10002」、「10003」を記憶装置に記憶する。HTTPサーバ302は、B1、B2に対応するユーザID及びパスワードの組み合わせに対応付けて、順番に「10004」、「10005」を記憶装置に記憶する。なお、FTPサーバ301及びHTTPサーバ302の両方が、全ての認証データ112とフォルダ305の識別子とを対応付けて記憶装置に記憶してもよい。また、フォルダ305の代わりに、DB400のテーブル(例えば、後述するリスト113)、又は、その他の格納領域を認証データ112ごとに設定して用いてもよい。また、FTPサーバ301及びHTTPサーバ302が記憶している認証データ112やフォルダ305の識別子等を、DB400のテーブルが代わりに記憶してもよい。
サーバ群300のデータ取り込みプログラム304には、出力データ111のフォーマットを共通の形式に変換する複数の変換処理306が実装されている。後述するように、変換処理306は、フォルダ305ごとに実行される。DB400には、フォルダ305と、そのフォルダ305に格納された出力データ111に対して実行すべき変換処理306との組み合わせを示すリスト113が格納されている。例えば、データ取り込みプログラム304には、A1、A2、A3、B1、B2等のフォーマットを、それぞれDB400の共通のテーブルに格納できる形式に変換するA1処理、A2処理、A3処理、B1処理、B2処理等が実装されている。ここで、図2(b)に、リスト113の一例を示す。図2(b)の例において、リスト113のテーブルには、フォルダ305の名称「10001」とA1処理と、さらに、対応する拠点121及び計測機器101の機種として、Aビル及び計測機器Aの組み合わせが、1レコードとして格納されている。リスト113のテーブルには、同様に、「10002」とA2処理とAビルと計測機器Aとの組み合わせ、「10003」とA3処理とAビルと計測機器Bとの組み合わせ、「10004」とB1処理とBビルと計測機器Cとの組み合わせ、「10005」とB2処理とBビルと計測機器Cとの組み合わせ等が、レコード群として格納されている。
以下では、データ収集システム100の動作(本実施の形態に係るデータ収集方法、本実施の形態に係るデータ収集プログラムの処理手順)について、図1の例を用いて説明する。
図4は、AビルのPC200の送信プログラム201とサーバ群300のFTPサーバ301との動作の一例を示すフローチャートである。
ステップS101において、送信プログラム201(データ取得部211)は、Aビルの計測機器Aから出力されるA1の出力データ111が、A1に対応するフォルダに格納されているかどうかを定期的に(望ましくは、A1の出力データ111の計測頻度に合わせて1時間ごとに)処理装置により確認する。A1の出力データ111は、Aビルの計測機器Aが正常に動作していれば、1時間ごとにAビルの計測機器AからLAN等を介して送信され、PC200の入力装置により受信されてA1に対応するフォルダに格納されている。A1の出力データ111が格納されていることが確認できた場合、ステップS102に進む。A1の出力データ111が格納されていない場合、ステップS109に進む。
ステップS102において、送信プログラム201(データ取得部211)は、A1に対応するフォルダからA1の出力データ111を読み取る。
ステップS103において、送信プログラム201(データ送信部212)は、ステップS102で出力データ111を読み取ったフォルダと同じ出力データ111のフォーマット(即ち、A1)に対応するユーザID及びパスワードの組み合わせを記憶装置から読み取る。
ステップS104において、送信プログラム201(データ送信部212)は、ステップS103で読み取ったユーザID及びパスワードをFTPサーバ301に送信してログインを要求する。
ステップS105において、FTPサーバ301(データ保存部311)は、ステップS104で送信されたユーザID及びパスワードを受信し、受信したユーザID及びパスワードが記憶装置に記憶されているかどうかを確認する。ユーザID及びパスワードが記憶されていなければ、ログインの失敗を送信プログラム201に通知して終了する。ユーザID及びパスワードが記憶されていれば、ステップS106に進む。
ステップS106において、FTPサーバ301(データ保存部311)は、ステップS105で受信したユーザID及びパスワードに対応するフォルダ305の名称「10001」を記憶装置から取得し、ログインの成功を送信プログラム201に通知するとともに、「10001」のフォルダ305に送信プログラム201を接続させる。
ステップS107において、送信プログラム201(データ送信部212)は、ステップS102で読み取られたA1の出力データ111をFTPサーバ301に送信して、「10001」のフォルダ305に保存する。つまり、FTPサーバ301(データ保存部311)は、送信プログラム201(データ送信部212)により送信されたA1の出力データ111を受信し、受信したA1の出力データ111を「10001」のフォルダ305に保存する。
ステップS108において、送信プログラム201(データ送信部212)は、ステップS107で送信済の出力データ111を削除するか、又は、アーカイブ化して別のフォルダ等に保存する。
ステップS109において、未処理(ステップS101で未確認)のフォルダがあれば、ステップS101に戻り、当該フォルダを新たな処理対象とする。したがって、ステップS101〜S108の処理は、Aビルの別の計測機器Aから送信されるA2の出力データ111、Aビルの計測機器Bから送信されるA3の出力データ111についても実行される。
ステップS101〜S109の処理は、CビルのPC200の送信プログラム201とFTPサーバ301とによっても実行される。したがって、ステップS101〜S108の処理は、Cビルの計測機器Aから送信されるC1の出力データ111についても実行される。
なお、ステップS101〜S109の処理において用いられるFTPは、RFC(Request・For・Comments)959で定義されたFTPに限られるものではなく、RFC2228やRFC4217で定義されたFTPS(FTP・over・SSL/TLS)等、FTPを応用又は拡張したプロトコルであってもよい(本願において単に「FTP」という場合、FTPS等も含むものとする)。
図5は、BビルのPC200のブラウザ202とサーバ群300のHTTPサーバ302との動作の一例を示すフローチャートである。
ステップS201において、ブラウザ202(データ送信部212)は、PC200のユーザにより操作され、B1に対応するユーザID及びパスワードの組み合わせを記憶装置から読み取る。なお、ブラウザ202(データ送信部212)は、ユーザからB1に対応するユーザID及びパスワードの組み合わせの手動入力を入力装置により受け付けてもよい。
ステップS202において、ブラウザ202(データ送信部212)は、ステップS201で読み取ったユーザID及びパスワードをHTTPサーバ302に送信してログインを要求する。
ステップS203において、HTTPサーバ302(データ保存部311)は、ステップS202で送信されたユーザID及びパスワードを受信し、受信したユーザID及びパスワードが記憶装置に記憶されているかどうかを確認する。ユーザID及びパスワードが記憶されていなければ、ログインの失敗をブラウザ202に通知して終了する。ユーザID及びパスワードが記憶されていれば、ステップS204に進む。
ステップS204において、HTTPサーバ302(データ保存部311)は、ステップS202で受信したユーザID及びパスワードに対応するフォルダ305の名称「10004」を記憶装置から取得し、ログインの成功をブラウザ202に通知する。
ステップS205において、ブラウザ202(データ取得部211)は、PC200に装着されたメモリカード内のフォルダ(望ましくは、B1に対応するフォルダ)から、Bビルの計測機器Cから出力されたB1の出力データ111を読み取る。このメモリカードは、PC200のユーザがBビルの計測機器CにB1の出力データ111を上記フォルダに格納させたものであり、PC200のユーザによって1時間ごとに(又は任意のタイミングで)PC200に装着される。
ステップS206において、ブラウザ202(データ送信部212)は、ステップS205で読み取られたB1の出力データ111をHTTPサーバ302に送信する。
ステップS207において、HTTPサーバ302(データ保存部311)は、ステップS206で送信されたB1の出力データ111を受信し、受信したB1の出力データ111を、ステップS204で名称を取得した「10004」のフォルダ305に保存する。
ステップS208において、未処理(ステップS205で未送信)のフォーマットの出力データ111があれば、ステップS201に戻り、当該フォーマットの出力データ111を新たな処理対象とする。したがって、ステップS201〜S207の処理は、Bビルの計測機器Cから出力されるB2の出力データ111についても実行される。
ステップS201〜S208の処理は、CビルのPC200のブラウザ202とHTTPサーバ302とによっても実行される。したがって、ステップS201〜S207の処理は、Cビルの計測機器Fから出力されるC2の出力データ111についても実行される。
なお、ステップS201〜S208の処理は、HTTPの代わりに、FTPを用いてPC200のブラウザ202とFTPサーバ301とにより実行されてもよい。
また、ステップS201〜S208において、出力データ111のフォーマットごとに異なる認証データ112を用いる代わりに、拠点121ごとに割り当てられる認証データ112を用いてもよい。この場合、HTTPサーバ302は、拠点121ごとに、ユーザID及びパスワードの組み合わせを記憶装置に記憶しておく。ステップS204において、HTTPサーバ302(データ保存部311)は、記憶装置を参照してステップS202で受信したユーザID及びパスワードに対応する拠点121を特定する。ステップS205において、ブラウザ202(データ送信部212)は、これから送信する出力データ111のフォーマットの指定(例えば、プルダウンリスト等で選択できるようにする)をユーザから入力装置により受け付ける。ステップS206において、ブラウザ202(データ送信部212)は、出力データ111をHTTPサーバ302に送信する際に、ステップS205で指定された出力データ111のフォーマットをHTTPサーバ302に通知する。HTTPサーバ302(データ保存部311)は、DB400のリスト113を参照してステップS204で特定した拠点121とブラウザ202から通知されたフォーマットに用いられる変換処理306とに対応するフォルダ305を特定する。ステップS207において、HTTPサーバ302(データ保存部311)は、ステップS206で送信された出力データ111を受信し、受信した出力データ111をステップS206で特定したフォルダ305に保存する。ステップS208において、未処理(ステップS205で未送信)のフォーマットの出力データ111があれば、ステップS205に戻り、当該フォーマットの出力データ111を新たな処理対象とする。
上記のように、PC200のデータ取得部211は、計測機器101から出力された複数種類の出力データ111を入力装置により取得する。PC200のデータ送信部212は、出力データ111のフォーマットごとに、対応する認証データ112を記憶装置から読み取り、当該認証データ112を用いてサーバ群300にアクセスし、FTPやHTTP等を用いてデータ取得部211により取得された出力データ111をサーバ群300に送信する。サーバ群300のデータ保存部311は、データ送信部212によりアクセスされる度に、データ送信部212により送信された出力データ111を受信し、当該出力データ111をデータ送信部212により用いられた認証データ112に設定されたフォルダ305に保存する。
図6は、サーバ群300のDBサーバ303のデータ取り込みプログラム304の動作の一例を示すフローチャートである。
ステップS301において、データ取り込みプログラム304(データ格納部312)は、A1の出力データ111が「10001」のフォルダ305に格納されているかどうかを定期的に(望ましくは、A1の出力データ111の計測頻度に合わせて1時間ごとに)処理装置により確認する。A1の出力データ111が格納されていることが確認できた場合、ステップS302に進む。A1の出力データ111が格納されていない場合、ステップS305に進む。
ステップS302において、データ取り込みプログラム304(データ格納部312)は、「10001」のフォルダ305からA1の出力データ111を読み取る。
ステップS303において、データ取り込みプログラム304(データ格納部312)は、DB400のリスト113を参照して「10001」のフォルダ305に対応する変換処理306(実行すべき変換処理306)としてA1処理を処理装置により特定する。
ステップS304において、データ取り込みプログラム304(データ格納部312)は、ステップS302で読み取ったA1の出力データ111に対し、ステップS303で特定したA1処理を処理装置により実行してA1の出力データ111を共通の形式の出力データ114に変換する。そして、データ取り込みプログラム304(データ格納部312)は、その共通の形式の出力データ114をDB400に格納する。
ステップS305において、未処理(ステップS301で未確認)のフォルダ305があれば、ステップS305に戻り、当該フォルダ305を新たな処理対象とする。したがって、ステップS301〜S304の処理は、「10001」以外のフォルダ305、即ち、「10002」、「10003」、「10004」、「10005」等のフォルダ305についても実行される。
ここで、図2(c)に、変換処理306により変換された出力データ114の一例を示す。図2(c)の例において、出力データ114は、拠点121(例えば、Aビル、Bビル、・・・)、計測箇所(例えば、1階、2階、・・・)、計測対象の種別1(例えば、電力消費量、ガス消費量、水道使用量、・・・)、計測対象の種別2(例えば、空調、照明、ガス、水道、・・・)、1時間分の計測値、単位(例えば、計測対象の種別から自動的に判定するか、変換前の出力データ111で示されていればそれを用いる)を示すデータである。なお、計測機器101の機種等、他の情報が含まれていてもよい。図2(c)では、具体的に、図2(a)の例におけるA1及びB1の出力データ111が共通の形式の出力データ114に変換された例を示している。A1の出力データ111では5分ごとの積算電力消費量が示されているため、A1処理によって最後の5分の積算電力消費量が、対応する出力データ114の計測値として出力され、DB400に格納される。一方、B1の出力データ111では5分ごとの電力消費量(積算値ではない)が示されているため、B1処理によって全ての電力消費量が合算され、合計値が、対応する出力データ114の計測値として出力され、DB400に格納される。
上記のように、サーバ群300のデータ格納部312は、フォルダ305ごとに、対応する変換処理306を処理装置により実行してデータ保存部311により保存された出力データ111のフォーマットを共通の形式に変換し、当該出力データ114をDB400に格納する。このため、本実施の形態によれば、計測機器101から出力される複数種類の出力データ111を効率的に共通の形式で保存して一元的に管理することが可能となるという効果が得られる。
以上説明したように、本実施の形態では、サーバ群300のDBサーバ303のデータ取り込みプログラム304が、複数の拠点121からのデータ収集に際してあらゆるデータフォーマットに対応可能なデータ取り込み機能を有する。そのため、フォーマットの異なるデータを一元的に管理することが容易になる。利用者は異なった計測機器101からの情報を一元的に管理された情報として取得することができる。
本実施の形態によれば、計測機器101の新たな機種や、出力データ111の新たなフォーマットが追加された場合は、対応するフォルダ305及び処理プログラム(変換処理306)の作成と認証データ112の発行とDB400のリスト113の更新とを行うだけでよいため、迅速に対応可能である。特に、各拠点121では、ユーザIDとパスワードとさえ把握していれば、いかなるデータの送信も可能になり、都度送信プログラム201等を開発する必要がない。したがって、汎用性、拡張性が高いシステムを提供できる。
また、本実施の形態によれば、拠点121及び計測機器101の機種(即ち、出力データ111のフォーマット)ごとにフォルダ305が分かれているため、永続的にデータが混在することなくデータの取り込みが行える。また、フォルダ305ごとに一括でデータの取り込みが行えるため、効率的な処理が可能である。
また、本実施の形態によれば、拠点121や計測機器101の機種(即ち、出力データ111のフォーマット)が同じでも、対応する処理機能(変換処理306)を変えることで取り込みデータ(出力データ114)を変更できる。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
図7は、本実施の形態に係るデータ収集システム100の構成の一例を示すブロック図である。
図7において、サーバ群300は、さらに、データ設定部313、データ通知部314を有する。図7の例では、データ設定部313、データ通知部314が、DBサーバ303の一部である監視プログラム307に実装されている。その他の構成については、図1に示した実施の形態1と同様である。なお、図7では、図1に示したものの一部(データ格納部312等)を示していないが、これは単に図示を省略しているだけである。
以下では、データ収集システム100の動作(本実施の形態に係るデータ収集方法、本実施の形態に係るデータ収集プログラムの処理手順)について、図7の例を用いて説明する。
図8は、サーバ群300のDBサーバ303の監視プログラム307の動作の一例を示すフローチャートである。
ステップS401において、監視プログラム307(データ設定部313)は、DB400のリスト113を定期的に(例えば、1日ごとに)処理装置により確認する。リスト113に新たなレコードが追加されている場合(例えば、前回の確認時より後の作成時刻を持つレコードを確認した場合)、ステップS402に進む。ここでは、新たなレコードの一例として、新たなフォルダ305の名称「10008」(この時点では「10008」のフォルダ305はまだ作成されていないため、存在しない)と、新たな変換処理306であるA4処理(この時点でA4処理は既に実装されている)と、Aビルと、Aビルに設置された新たな計測機器D(A4の出力データ111を出力する)との組み合わせが追加されたものとする。
ステップS402において、監視プログラム307(データ設定部313)は、リスト113に追加されたレコードの変換処理306(即ち、A4処理)によって変換される出力データ111のフォーマット(即ち、A4)に対応する新たなユーザID及びパスワードの組み合わせを処理装置により発行する。具体的には、監視プログラム307(データ設定部313)は、A4に対応する新たなユーザID及びパスワードの組み合わせを、ユーザIDが既存のものと重複しないように処理装置により決定する。
ステップS403において、監視プログラム307(データ設定部313)は、ステップS402で発行したユーザID及びパスワードに対し、リスト113に追加されたレコードで指定された「10008」のフォルダ305を処理装置により設定する。具体的には、監視プログラム307(データ設定部313)は、リスト113に追加されたレコードで指定された「10008」のフォルダ305を作成し、その名称「10008」とともに、ステップS402で決定したユーザID及びパスワードをFTPサーバ301に送信する。FTPサーバ301は、送信されたユーザID及びパスワードの組み合わせ(即ち、A4に対応するユーザID及びパスワードの組み合わせ)に対応付けて、同時に送信された「10008」を記憶装置に記憶する。これにより、ステップS301〜S304の処理が、「10008」のフォルダ305についても実行可能となる。
ステップS404において、監視プログラム307(データ通知部315)は、ステップS402で発行したユーザID及びパスワードをPC200に送信してA4に対応付けて記憶装置に記憶させる。これにより、ステップS101〜S108の処理が、Aビルの計測機器Dから送信されるA4の出力データ111についても実行可能となる。なお、ステップS404を省略し、ステップS402で発行されたユーザID及びパスワードを手動で(例えば、電子メール、ファクシミリ、電話、手紙等によって)PC200のユーザ等に通知するようにしてもよい。この場合、PC200は、ユーザ等から入力装置を介して、新たに発行されたユーザID及びパスワードの組み合わせを取得し、A4に対応付けて記憶装置に記憶する。
なお、ステップS401〜S404の処理は、BビルやCビルに新たな計測機器101が設置された場合、新たな拠点121が追加された場合等も同様に実行できる。例えば、Bビルに新たな計測機器101が設置された場合、ステップS403において、監視プログラム307(データ設定部313)は、ステップS402で決定したユーザID及びパスワードを、リスト113に追加されたレコードに含まれるフォルダ305の名称とともにHTTPサーバ302に送信する。HTTPサーバ302は、送信されたユーザID及びパスワードの組み合わせに対応付けて、同時に送信されたフォルダ305の名称を記憶装置に記憶する。ステップS404において、監視プログラム307(データ通知部315)は、ステップS402で発行したユーザID及びパスワードを、BビルのPC200に送信して、Bビルの新たな計測機器101から出力される出力データ111のフォーマットに対応付けて記憶装置に記憶させる。これにより、ステップS201〜S207の処理が、Bビルの新たな計測機器101から出力される出力データ111についても実行可能となる。
上記のように、サーバ群300のデータ設定部313は、DB400のリスト113に新たな組み合わせが追加された場合、当該組み合わせの変換処理306によって変換される出力データ111のフォーマットに対応する新たな認証データ112を処理装置により発行する。そして、データ設定部313は、当該認証データ112に当該組み合わせのフォルダ305を処理装置により設定する。このため、本実施の形態によれば、出力データ111のフォーマットの追加を効率的に行うことができる。
また、本実施の形態によれば、サーバ群300のデータ通知部314が、データ設定部313により新たな認証データ112が発行された場合、当該認証データ112をPC200に通知するため、PC200側の更新作業が確実に、迅速かつ効率的に行える。
実施の形態3.
本実施の形態について、主に実施の形態2との差異を説明する。
図9は、本実施の形態に係るデータ収集システム100の構成の一例を示すブロック図である。
図9において、PC200は、さらに、フォーマット通知部213を有する。図9の例では、フォーマット通知部213が、送信プログラム201及びブラウザ202のそれぞれに実装されている。サーバ群300は、さらに、リスト管理部315を有する。図9の例では、リスト管理部315が、DBサーバ303の一部である管理プログラム308に実装されている。その他の構成については、図7に示した実施の形態2と同様である。なお、図9では、図7に示したものの一部(データ設定部313、データ通知部314等)を示していないが、これは単に図示を省略しているだけである。
以下では、データ収集システム100の動作(本実施の形態に係るデータ収集方法、本実施の形態に係るデータ収集プログラムの処理手順)について、図9の例を用いて説明する。
図10は、AビルのPC200の送信プログラム201とサーバ群300のDBサーバ303の管理プログラム308との動作の一例を示すフローチャートである。
ステップS501において、送信プログラム201(フォーマット通知部213)は、Aビルに新たな計測機器Dが設置されたこと(出力データ111のフォーマットとしてA4が追加されたこと)を示す情報の入力を、ユーザ又は当該計測機器Dから入力装置により受け付け、当該情報を監視プログラム307に送信する。
ステップS502において、管理プログラム308(リスト管理部315)は、ステップS501で送信された情報を受信する。
ステップS503において、管理プログラム308(リスト管理部315)は、新たなフォルダ305の名称「10008」を処理装置により決定する。
ステップS504において、管理プログラム308(リスト管理部315)は、新たな変換処理306であるA4処理を処理装置により実装する。このとき、例えば、ステップS502で受信した情報にA4に関する定義情報が含まれていれば、管理プログラム308(リスト管理部315)は、その定義情報に基づき、A4処理を自動的に実装するか、又は、外部の開発者等にA4処理の実装を要請する。
ステップS505において、管理プログラム308(リスト管理部315)は、ステップS503で決定した「10008」と、ステップS504で実装したA4処理と、ステップS502で受信した情報で示されたAビルと、Aビルに設置された新たな計測機器Dとの組み合わせを新たなレコードとしてDB400のリスト113に処理装置により追加する。
なお、ステップS501でPC200側からサーバ群300側に通知(送信)される情報は、出力データ111のフォーマットを直接的に示す情報であってもよいし、出力データ111のフォーマットを実質的に示す情報であってもよい。前者の情報としては、例えばA4を通知することが考えられる。後者の情報としては、例えば計測機器Dから出力される出力データ111のフォーマットがA4のみであることが予め決まっていることを前提に計測機器Dを通知することが考えられる。
ステップS501〜S505の処理は、拠点121に新たな計測機器101が設置された場合に限らず、既存の計測機器101が今までとは別のフォーマットの出力データ111を出力するようになった場合にも同様に実行される。また、拠点121に新たな計測機器101が設置された場合に、その新たな計測機器101が他の計測機器101と同じフォーマットの出力データ111を出力することがあってもよい。同様に、既存の計測機器101が今までとは別のフォーマットの出力データ111を出力するようになった場合に、その計測機器101が他の計測機器101と同じフォーマットの出力データ111を出力することがあってもよい。例えば、Aビルに新たに設置された計測機器DがBビルの計測機器Cと同じB1の出力データ111を出力するとしたとき、まず、ステップS501〜S503の処理が実行される。その後、ステップS504において、管理プログラム308(リスト管理部315)は、リスト113等を参照して既存の変換処理306であるB1処理を処理装置により特定する。ステップS505において、管理プログラム308(リスト管理部315)は、ステップS503で決定した「10008」と、ステップS504で特定したB1処理と、ステップS502で受信した情報で示されたAビルと、Aビルに設置された計測機器Dとの組み合わせを新たなレコードとしてDB400のリスト113に処理装置により追加する。このとき、ステップS503を省略して、Bビルの計測機器Cから出力されるB1の出力データ111が格納されるフォルダ305を共用するようにしてもよい。即ち、ステップS505において、フォルダ305の名称として、新たな「10008」の代わりに既存の「10004」を含むレコードが追加されてもよい。
上記のように、PC200のフォーマット通知部213は、新たな出力データ111のフォーマットをサーバ群300に通知する。サーバ群300のリスト管理部315は、フォーマット通知部213により新たな出力データ111のフォーマットが通知された場合、新たなフォルダ305と当該出力データ111のフォーマットを共通の形式に変換する新たな変換処理306との組み合わせをDB400のリスト113に追加する。このため、本実施の形態によれば、出力データ111のフォーマットの追加をさらに効率的に行うことができる。
なお、本実施の形態において、PC200のフォーマット通知部213は、送信プログラム201とは別のブラウザ等に実装されていてもよい。また、サーバ群300のリスト管理部315は、フォーマット通知部213により新たな出力データ111のフォーマットが通知された場合、DB400が予め保持するコードテーブルから、対応する変換処理306を取得し、この変換処理306をDB400のリスト113に追加してもよい。例えば、DB400が、計測機器101の機種(将来使用される可能性があるが、現時点では未使用のものも含む)と、予め用意された変換処理306(複数あってもよい)との組み合わせを管理(格納)するコードテーブルを保持しているとする。このコードテーブルには、計測機器DとA4処理との組み合わせが既に格納されているとする。ステップS501において、Aビルに新たな計測機器Dが設置された後に、PC200のユーザは、ブラウザ等(フォーマット通知部213)でプルダウンメニュー等に表示されたコードテーブルの内容(フォーマット通知部213によってサーバ群300を介してDB400から取得される)から、計測機器DとA4処理との組み合わせを選択し、さらに、拠点121に関する情報等を入力する。ブラウザ等(フォーマット通知部213)は、ユーザが選択及び入力した情報をサーバ群300に送信する。ステップS502〜S505において、サーバ群300のDBサーバ303の管理プログラム308(リスト管理部315)は、ブラウザ等から送信された情報を受信し、この情報に基づいて、リスト113に1レコード追加する。このとき、追加されるレコードにおいて、フォルダ305の名称としては自動採番されたもの(他と重複しないもの)が設定される。その後は、実施の形態2と異なり、当該名称のフォルダ305が手動で作成されてもよい。また、対応する新たな認証データ112が手動で設定されてもよい。つまり、PC200側及びサーバ群300側のそれぞれにおいて、認証データ112が手動で登録されてもよい。