(57)【要約】      （修正有）【課題】システム開発・仕様変更のコストを軽減することができると共に、システム変更などに容易に対応可能なデータ管理サーバを提供する。【解決手段】データ管理サーバ１は、記憶部３を有し、ネットワークを介して記憶部３に追加する情報を含むデータを受け付ける。データ管理サーバ１は、表計算ソフトによって生成される表計算データを参照し、参照した表計算データの複数のセルに設定されたセル情報と当該複数のセルのアドレスとを取得し、セル情報とアドレスとを対応付けた表計算データ構造を記憶部３に記憶する。データ管理サーバ１は、データを受け付けた場合に表計算データ構造の追加規則が設定されたセル情報を参照し、追加規則と表計算データ構造とに基づいてセル情報が未設定であるセルのアドレスを決定し、当該アドレスに対応するセル情報を表計算データ構造に追加する。【選択図】図１
2014075112.tif 000002
【特許請求の範囲】
【請求項１】
記憶部を有し、ネットワークを介して当該記憶部に追加する情報を含むデータを受け付けるデータ管理サーバであって、
表計算ソフトによって生成されるものでありワークシート上にマトリクス状に配置されアドレスによって夫々が識別される複数のセルを有する表計算データを参照し、参照した前記表計算データの前記複数のセルに設定されたセル情報と当該複数のセルのアドレスとを取得し、前記セル情報と前記アドレスとを対応付けた表計算データ構造を前記記憶部に記憶する表計算データ情報取得部と、
前記データを受け付けた場合に前記表計算データ構造から所定のフォーマットの追加規則が設定されたセル情報を参照し、前記追加規則と前記表計算データ構造とに基づいて前記セル情報が未設定であるセルのアドレスを決定し、受け付けたデータに含まれる前記情報を当該アドレスに対応するセル情報として前記表計算データ構造に追加するデータ追加部と、
を有していることを特徴とするデータ管理サーバ。
【請求項２】
所定のタイミングで、前記表計算データ構造を所定の表計算データに反映するセル情報反映部をさらに有していることを特徴とする請求項１に記載のデータ管理サーバ。
【請求項３】
前記表計算データ情報取得部は、前記表計算データの前記セルに、前記表計算ソフト上で動作可能な関数が設定されている場合、前記データ管理サーバ上で実行可能な処理ロジックに変換し、当該処理ロジック及び当該処理ロジックの実行結果を前記表計算データ構造の前記セル情報として記憶することを特徴とする請求項１又は２に記載のデータ管理サーバ。
【請求項４】
前記データ追加部は、追加した前記セル情報が前記処理ロジックに直接的又は間接的に参照される場合、当該ロジックを再実行して前記表計算データ構造の当該ロジックの実行結果を更新することを特徴とする請求項３に記載のデータ管理サーバ。
【請求項５】
前記追加規則は、前記データ追加部がセル情報を追加する基準となる前記アドレスと、当該基準となるアドレスから前記セル情報が未設定であるセルのアドレスを決定するアルゴリズムを示す情報とを含んでいることを特徴とする請求項１乃至４に記載のデータ管理サーバ。
【請求項６】
前記記憶部は、前記表計算データ構造を複数記憶可能であり、
前記データ追加部は、所定の分類条件に基づき、前記セル情報を追加する前記表計算データ構造を決定することを特徴とする請求項１乃至５に記載のデータ管理サーバ。
【請求項７】
登録用データベースと、
所定のタイミングで前記表計算データ構造から所定のフォーマットの登録規則が設定されたセル情報を参照し、当該登録規則によって示されるアドレスのセル情報を前記登録用データベースに登録するセル情報登録部と、
をさらに有することを特徴とする請求項１乃至６に記載のデータ管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理サーバに関する。
【背景技術】
【０００２】
近年、産業用設備に用いるＰＬＣ（Programmable Logic Controller）等をネットワークに接続し機器同士がデータを交換することで、人間を介さずに最適な制御を実現するＭ２Ｍ（Machine to Machine）と言われるシステムが提案されている。
【０００３】
例えば、特許文献１では、機器側装置から冷凍機の電力消費量と外気温度とを管理サーバに送信し、管理サーバでは、電力消費量と外気温度の初年度のデータを用いて判定の基準となる外気温度と電力消費量の多項式近似曲線を、時期区分ごとに直線近似し、該直線の傾きと切片のデータを基準データとして保存しておき、翌年以降の対応する時期の傾きと切片のデータと基準データとを比較して、劣化パターンを演算し、当該演算結果を機器側装置へ送信する冷凍機の劣化検出方法、が開示されている。
【０００４】
しかしながら、原始データ（特許文献１の場合、電力消費量及び外気温度）を送信する機器側装置が増加した場合には管理サーバで受信する原始データが膨大になってしまうため、管理サーバ側での記憶領域や処理負担が増加してしまい、管理サーバのコストが増大してしまうという問題があった。
【０００５】
このような問題に対し、特許文献２のようなものがある。特許文献２では、ネットワーク経由の送受信機能または少なくとも送信、受信いずれか一方の機能を具えた複数の端末群と、当該ネットワークを経由した情報仲介機能を具えた情報仲介者とを有する情報仲介システムにおいて、情報仲介機能を、特定情報を入手するために情報仲介者へ入力された指定目的ごとに複数の端末群を特定情報が提供できる情報提供者と特定情報を利用する情報利用者とに組替える端末組替え機能と、この組替えられた情報提供者から得られた指定目的を満した特定情報を組替えられた情報利用者に対してネットワークを経由して配信する情報配信機能とで構成する情報仲介システム、が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２４３０９２号公報
【特許文献２】特開２００３−０４４７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献２のような複数の端末群からのデータを受信するデータ管理サーバは、専門技術を有したシステム開発者による専用システムの開発が必要であり、システムの変更があった場合にはシステム全体を把握する上記システム開発者等による変更が必要であった。従って、データ管理サーバのシステム開発・仕様変更には、システム開発者への仕様の指示、コーディング、テスト等が必要であり、多大な時間とコストが掛かる虞があった。
【０００８】
そこで、本発明の目的は、システム開発・仕様変更のコストを軽減することができると共に、システム変更などに容易に対応可能なデータ管理サーバを提供することである。
【課題を解決するための手段】
【０００９】
本発明のデータ管理サーバは、記憶部を有し、ネットワークを介して当該記憶部に追加する情報を含むデータを受け付けるデータ管理サーバであって、表計算ソフトによって生成されるものでありワークシート上にマトリクス状に配置されアドレスによって夫々が識別される複数のセルを有する表計算データを参照し、参照した前記表計算データの前記複数のセルに設定されたセル情報と当該複数のセルのアドレスとを取得し、前記セル情報と前記アドレスとを対応付けた表計算データ構造を前記記憶部に記憶する表計算データ情報取得部と、前記データを受け付けた場合に前記表計算データ構造から所定のフォーマットの追加規則が設定されたセル情報を参照し、前記追加規則と前記表計算データ構造とに基づいて前記セル情報が未設定であるセルのアドレスを決定し、受け付けたデータに含まれる前記情報を当該アドレスに対応するセル情報として前記表計算データ構造に追加するデータ追加部と、を有している。
【００１０】
上記構成によれば、表計算データ内に含まれるセル情報がそのアドレスと対応付けられ表計算データ構造として記憶部に格納される。また、ネットワークを介して記憶部に追加する情報を含むデータを受け付けた場合には、表計算データ構造に含まれる所定のフォーマットの追加規則が参照され、表計算データ構造において未設定状態のセルのアドレスが決定される。そして、このアドレスのセル情報として、受け付けたデータの情報が追加される。これにより、表計算データの任意のアドレスのセルに追加規則を設定し、これをデータ管理サーバに参照させることで、受信するデータを蓄積するためのデータベースが表計算データ構造としてサーバ上に自動的に構築される。また、データ自身を識別する情報やデータベースに登録するためのユニークキーを示す情報を含まないデータが連続的に受信された場合であっても、セル情報として追加するセルのアドレスは追加規則と表計算データ構造とに基づいて受信したデータ毎に決定されるため、既に設定されているセル情報が上書きされてしまうことを回避することができる。従って、表計算データにデータベースのイメージを表現するだけで専用のデータベースサーバを構築することができるため、専門業者にシステムの開発を依頼する必要がなく、コストを軽減することができる。
【００１１】
また、本発明のデータ管理サーバは、所定のタイミングで、前記表計算データ構造を所定の表計算データに反映するセル情報反映部をさらに有していてもよい。
【００１２】
上記構成によれば、構築される表計算データ構造は、所定のタイミングで所定の表計算データに反映されるため、データ管理サーバの表計算データ構造の内容を容易に確認することができる。さらに、反映された表計算データを修正しデータ管理サーバに参照させることでデータ管理サーバの表計算データ構造を容易に修正することができる。その結果、構築した表計算データ構造を容易に扱うことができる。
【００１３】
また、本発明のデータ管理サーバにおける前記表計算データ情報取得部は、前記表計算データの前記セルに、前記表計算ソフト上で動作可能な関数が設定されている場合、前記データ管理サーバ上で実行可能な処理ロジックに変換し、当該処理ロジック及び当該処理ロジックの実行結果を前記表計算データ構造の前記セル情報として記憶するものであってもよい。
【００１４】
上記構成によれば、関数を表計算データに定義することで、関数がデータ管理サーバ上で実行可能な処理ロジックに変換される。これにより、データ管理サーバを、受け付けた情報を表計算データ構造に単に追加するデータベースとして機能させるだけでなく、ネットワークを介して受け付けた情報を用いて演算を行うウェブアプリケーションサーバとして機能させることができる。
【００１５】
また、本発明のデータ管理サーバにおける前記データ追加部は、追加した前記セル情報が前記処理ロジックに直接的又は間接的に参照される場合、当該ロジックを再実行して前記表計算データ構造の当該ロジックの実行結果を更新してもよい。
【００１６】
上記構成によれば、受け付けたデータの情報を追加する毎に表計算データ構造における処理ロジックの結果が更新されるため、データベースとしての表計算データ構造においてデータ間の齟齬が生じることを防止することができる。
【００１７】
また、本発明のデータ管理サーバにおいて、前記追加規則は、前記データ追加部がセル情報を追加する基準となる前記アドレスと、当該基準となるアドレスから前記セル情報が未設定であるセルのアドレスを決定するアルゴリズムを示す情報とを含んでいてもよい。
【００１８】
上記構成によれば、表計算データに追加規則を設定するだけで、データ管理サーバにおいてネットワークを介して受け付けるデータの情報についてどのアドレスに対応付けるかを決定するために予め用意されたアルゴリズムを指定することができ、データ管理サーバの管理者の負担を軽減することができる。
【００１９】
また、本発明のデータ管理サーバにおける前記記憶部は、前記表計算データ構造を複数記憶可能であり、前記データ追加部は、所定の分類条件に基づき、前記セル情報を追加する前記表計算データ構造を決定してもよい。
【００２０】
上記構成によれば、所定の分類条件に基づき、セル情報の追加が行われる表計算データ構造を簡易に切替えることができる。これにより、例えば、分類条件が日付であれば、日毎の表計算データ構造の履歴を残す等行うことができる。
【００２１】
また、本発明のデータ管理サーバは、登録用データベースと、所定のタイミングで前記表計算データ構造から所定のフォーマットの登録規則が設定されたセル情報を参照し、当該登録規則によって示されるアドレスのセル情報を前記登録用データベースに登録するセル情報登録部と、をさらに有していてもよい。
【００２２】
上記構成によれば、表計算データ構造から必要なデータのみを指定して登録用データベースに登録することができる。従って、登録用データベースは必要なデータのみで構成されるデータベースとなり、登録用データベースが二次的に使用される場合のリソースの軽減を図ることができる。
【図面の簡単な説明】
【００２３】
【図１】データ管理サーバを示す構成図である。
【図２】表計算データ構造の概要を示す説明図である。
【図３】追加規則のフォーマットの一例を示す説明図である。
【図４】受信データのデータ構造の一例を示す説明図である。
【図５】受信データ構造テーブルを示す図である。
【図６】登録規則のフォーマットの一例を示す説明図である。
【図７】優先度の設定方法を示す説明図である。
【図８】端末装置テーブルを示す図である。
【図９】イベント発生テーブルを示す図である。
【図１０】表計算データ登録画面の一例を示す説明図である。
【図１１】表計算データ登録結果画面の一例を示す説明図である。
【図１２】表計算データ構造登録処理ルーチンのフローチャートである。
【図１３】データ追加・登録処理ルーチンのフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態の例を図面に基づいて具体的に説明する。
【００２５】
（データ管理サーバの概要）
本発明の実施形態に係るデータ管理サーバは、表計算データを取り込んで仮想的な表計算データである表計算データ構造を記憶部に形成し、ネットワークを介して送られるデータを予め表計算データに設定された追加規則に基づいて表計算データ構造にデータを追加する機能を有している。
【００２６】
具体的に、データ管理サーバ１は、図１に示すように、記憶部３と、ネットワークを介して例えば複数の端末装置８等の外部から記憶部３に追加する情報を含むデータを受け付ける受信部２と、表計算データ情報取得部４と、データ追加部５と、を有している。
【００２７】
端末装置８は、例えば、産業用設備に用いるＰＬＣ等を備えており、データ通信回線（有線、無線）を介して、センサー等による検出情報データをデータ管理サーバ１へ出力するようになっている。尚、端末装置８は、産業用設備に限定されない。
【００２８】
表計算データ情報取得部４は、表計算データを参照する機能と、参照した表計算データの複数のセルに設定されたセル情報と当該複数のセルのアドレスとを取得する機能と、セル情報とアドレスとを対応付けた表計算データ構造を記憶部３に記憶する機能と、を有している。
【００２９】
データ追加部５は、受信部２が外部からデータを受け付けた場合に表計算データ構造３００から所定のフォーマットで示される追加規則が設定されたセル情報３２２を参照する機能と、追加規則と表計算データ構造３００とに基づいてセル情報３２２が未設定であるセルのアドレス３２１を決定する機能と、受け付けたデータに含まれる情報を当該アドレス３２１に対応するセル情報３２２として表計算データ構造３００に追加する機能と、を有している。
【００３０】
表計算データは、例えば、エクセル（登録商標）等の表計算ソフトによって生成されるものである。一般的に、パーソナルコンピュータやワードプロセッサ（以下、パソコンと総称する）にインストールされた表計算ソフトを実行した場合、表示画面にはワークシート上にマトリクス状に配置された複数のセルが表示されるようになっている。これら複数のセルは、アドレスによって夫々が識別される。セルを識別するアドレスは、横軸がアルファベットによる２６進数（Ａ，Ｂ，Ｃ，・・・，ＡＡ，ＡＢ，ＡＣ，・・・）で示され、縦軸が自然数による１０進数（１，２，３，・・・，１０，１１，１２，・・・）で示されることが一般的である。例えば、最も左上のセルが原点であり、（“Ａ１”）で識別される。また、例えば、最上行から１０行目、かつ、最左列から１０列目のセルは、“Ｊ１０”の文字列で識別される。表計算ソフトにおいて、複数のセルにセル情報が入力された状態で保存機能が実行されることによって、セル情報を有する表計算データがパソコンに記憶される。尚、表計算データのセル情報とは、テキスト、数値、関数、及び、関数の算出結果等である。表計算データ情報取得部４では、このような表計算データが参照される。
【００３１】
表計算データ構造は、参照した表計算データと同様の内容を、データ管理サーバ１の記憶部３に仮想的に形成したものである。具体的に、表計算データ構造は、ＲＤＢＳ（Relational Database Management System）等により構築されるものであり、例えば、セルのアドレスを含むユニークキーにセル情報が対応付けられる。尚、表計算データ構造はこれに限定されない。
【００３２】
このように、表計算データ内に含まれるセル情報がそのアドレスと対応付けられ表計算データ構造として記憶部３に格納される。また、ネットワークを介して記憶部３に追加する情報を含むデータを受け付けた場合には、表計算データ構造に含まれる所定のフォーマットの追加規則が参照され、表計算データ構造において未設定状態のセルのアドレスが決定される。そして、このアドレスのセル情報として、受け付けたデータの情報が追加される。これにより、表計算データの任意のアドレスのセルに追加規則を設定し、これをデータ管理サーバ１に参照させることで、受信するデータを蓄積するためのデータベースが表計算データ構造としてサーバ上に自動的に構築される。また、データ自身を識別する情報やデータベースに登録するためのユニークキーを示す情報を含まないデータが連続的に受信された場合であっても、セル情報として追加するセルのアドレスは追加規則と表計算データ構造とに基づいて受信したデータ毎に決定されるため、既に設定されているセル情報が上書きされてしまうことを回避することができる。その結果、表計算データにデータベースのイメージを表現するだけで、専用のデータベースサーバを構築するために専門業者に依頼する必要がなく、コストを軽減することができる。
【００３３】
また、データ管理サーバ１は、表計算データ構造を表計算データ部２０の所定の表計算データに反映するセル情報反映部６とを有している。尚、表計算データ部２０は、データ管理サーバ１にネットワークを介して接続されたコンピュータであってもよいし、図示しないがデータ管理サーバ１自体であってもよい。また、表計算データ構造が反映される表計算データは、表計算データ情報取得部４が参照した表計算データであってもよいし、表計算データ情報取得部４が参照した表計算データと異なる表計算データであってもよい。
【００３４】
また、データ管理サーバ１は、登録用データベース１０と、所定のタイミングで表計算データ構造３００から所定のフォーマットの登録規則が設定されたセル情報を参照し、当該登録規則によって示されるアドレスのセル情報を登録用データベース１０に登録するセル情報登録部９と、を有している。登録用データベース１０には、例えば、表計算データ構造３００における関数の算出結果等が登録されるようになっている。
【００３５】
尚、本実施形態において、データ管理サーバ１は、コンピュータであり、ＣＰＵ（Central Processing Unit）と、ＣＰＵが実行するプログラム及びこれらプログラムに使用されるデータを書き替え可能に記憶するＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）と、プログラム実行時にデータを一時的に記憶するＲＡＭ（Random Access Memory）とを含んでいる。データ管理サーバ１が有する上記の各構成は、これらハードウェアとＥＥＰＲＯＭ内のソフトウェアとが協働して構築されている。尚、データ管理サーバ１は１台のコンピュータに限定されず、複数のコンピュータに機能を分散させて設けるものであってもよい。
【００３６】
（表計算データ構造の概要）
ここで、表計算データ構造の概要について説明する。本実施形態では、図２に示すように、記憶部３に複数の表計算データ構造３００が格納可能にされている。例えば、外部からデータを受信したときの月、日付等の分類条件により情報を追加対象となる表計算データ構造３００が選択される。即ち、データ追加部５は、所定の分類条件に基づき、セル情報を追加する表計算データ構造３００を決定する。尚、図示しないが分類条件は、追記規則等が設定される表計算データの別ワークシートに予め設定され、表計算データ情報取得部４が表計算データを参照する際に表計算データ構造３００に含められる。本実施形態では、分類条件のフォーマットは、“［”＋“分類条件”＋“］”の態様である。例えば、分類条件が “［取得日］”である場合、取得日に応じた表計算データ構造３００が生成されることになる。
【００３７】
表計算データ構造３００には、表計算データのワークシートに対応するワークシート３１０が形成される。即ち、表計算データに複数のワークシートが存在する場合には、表計算データ構造３００毎に複数のワークシート３１０が形成されることになる。ワークシート３１０は、表計算データのワークシートに設定されるワークシート名が対応付けられることで識別可能にされる。
【００３８】
ワークシート３１０には、表計算データのセルに対応するセル３２０が形成される。各セル３２０は、表計算データのセルのアドレスと対応するアドレス３２１と、表計算データのセルに設定されたセル情報に対応するセル情報３２２とを有している。
【００３９】
尚、データ追加部５が外部からデータを受信したとき、条件に合致する表計算データ構造３００が存在しない場合には、既存の表計算データ構造３００をテンプレートとして、新たな表計算データ構造３００が形成され、この新たな表計算データ構造３００にデータが追加されるものであってもよい。この場合、テンプレートとした既存の表計算データ構造３００に記憶されるセル情報は削除されても良いし、追記するために残しても良いし、削除の有無を設定可能にされるものであってもよい。
【００４０】
（追加規則）
追加規則は、受信部２が受け付けたデータを、表計算データ構造にどのように追加するのかを決定するための規則である。追加規則は、表計算データのセル内に所定のフォーマットで予め定義される。データ追加部５は、この所定のフォーマットを検索キーとして追加規則を検索する。従って、追加規則は、表計算データの任意のセルに設定可能である。
【００４１】
図３に示すように、表計算データを表計算ソフトで実行した表示画面１４０において、追加規則のフォーマットは、例えば“［取得時間↓］”のように、“［”＋“項目名”＋“方向（“↑”、“↓”、“←”、及び、“→”の何れか）”＋“］”の態様である。このとき追加規則が入力されているセルのアドレスが、基準のアドレスとなる。尚、追加規則は、このような態様に限定されない。例えば、追加規則のフォーマットに基準のアドレスを含めることで、表計算データにおいて追加規則をより自由に配置できるようにしてもよい。
【００４２】
（追加規則：方向）
追加規則における“方向”は、基準となるアドレスからセル情報３２２が未設定であるセルのアドレス３２１を決定するアルゴリズムを示す情報である。例えば、“方向”として“↓”が設定された追加規則の場合、表計算データ構造３００において、基準となるアドレスから下方向（座標の縦軸の昇順方向）にセル３２０を参照し、セル情報３２２が未設定の最初のアドレスにデータが追加されることになる。データ管理サーバ１において、このようなアルゴリズムが、設定可能な“方向”ごとに予め記憶されており、追加規則の設定内容に応じてアルゴリズムが指定されることになる。
【００４３】
尚、“方向”が“↑”の場合は、基準のアドレスから座標の縦軸の降順方向に検索するアルゴリズムが指定される。また、“方向”が“→”の場合は、基準のアドレスから座標の横軸の昇順方向に検索するアルゴリズムが指定される。また、“方向”が“←”の場合は、基準のアドレスから座標の横軸の降順方向に検索するアルゴリズムが指定される。
【００４４】
具体的に、図３においては、アドレス“Ａ２”のセル１４２ａには追加規則として“［取得時間↓］”が設定されている。表計算データ構造３００にデータが追加される場合、表計算データにおいて“［取得時間↓］”が設定されていた“Ａ２”のアドレスが表計算データ構造３００において基準のアドレスとなり、“Ａ３”、“Ａ４”、“Ａ５”、・・・、のように縦軸に昇順で順次検索される。そして、セル情報３２２が未設定の最初のアドレスにデータが追加される。
【００４５】
（追加規則：項目名）
追加規則における“項目名”は、追加規則を識別する識別情報であり、外部から受信部２が受信するデータが含む情報に対応付けられる。例えば、本実施形態においては、受信データが、所定位置に“項目名”に対応する情報を含むと共に、この情報の受信データにおける所定位置（開始位置、及び、データ長等）と、“項目名”とが予め対応付けられている。これにより、“項目名”の情報を受信データから取得することができる。そして、“項目名”が設定された追加規則に従って、取得した情報をセル情報として表計算データ構造３００に追加することができる。
【００４６】
具体的に、図３において、アドレス“Ａ２”のセル１４２ａには追加規則として“［取得時間↓］”が設定され、アドレス“Ｃ１”のセル１４２ｃには追加規則として“［温度↓］”が設定されている。また、図４に示すように、受信部２で受信する受信データには、“［取得時間↓］”の追加規則を適用すべき“取得時間”の情報と、“［温度↓］”の追加規則を適用すべき“温度”の情報とが含まれている。そして、記憶部３において、受信データが有する情報を項目名に対応付ける受信データ構造テーブルが予め格納されている。
【００４７】
ここで、受信データ構造テーブルについて説明する。図５に示すように、受信データ構造テーブルは、受信データを構成する情報の番号欄、開始位置欄、データ長欄、データ型欄、項目名欄を有している。番号欄には受信データを構成する情報のユニークキーが入力されている。また、開始位置欄には、各情報が格納される開始位置が格納される。また、データ長欄には、各情報のデータ長が格納される。また、データ型欄には、各情報をプログラム等で扱うためのデータ型が格納される。また、項目名欄には、適用すべき追加規則の項目名が入力される。尚、項目名欄が未設定である情報は表計算データ構造３００に追加されないようになっている。このように、受信データから情報を抽出して表計算データ構造３００に追加可能であるため、表計算データ構造３００の肥大化を防止することができる。また、受信データ構造テーブルは、受信データの種別毎に記憶部３に記憶される。各受信データ構造テーブルは、例えば受信データに含まれる受信データコードによって識別される。
【００４８】
尚、受信データ構造テーブルの各欄の情報は、追記規則等が設定される表計算データの別ワークシートに予め設定され、表計算データ情報取得部４が表計算データを参照する際に同時に受信データ構造テーブルに設定されるものであってもよい。また、受信データ構造テーブルは、表計算データ構造３００に含まれるものであってもよい。
【００４９】
このように、受信データが有する情報と、当該情報の受信データにおける格納位置と、項目名とが対応付けられているため、受信データから“取得時間”の情報と、“温度”の情報とを取得することができる。そして、“取得時間”の情報と、“温度”の情報とに夫々対応する追加規則を適用し、表計算データ構造３００を個別のセル３２０のセル情報３２２に追加することができる。
【００５０】
（シート条件）
また、表計算データにおいて、追加規則がセル情報として設定されるワークシートには、シート条件が予め設定される。シート条件のフォーマットは、例えば“［条件１：場所＝”Ｊ−５”］”のように、“［”＋“条件”＋“条件番号”＋“：”＋“場所”＋“＝”＋“シート名”＋“］”の態様である。これにより、追加規則がシート名に対応付けられる。
【００５１】
（登録規則）
登録規則は、表計算データ構造４００に含まれるセル情報のうち、何れをどのように登録用データベース１０に登録するのかを決定するための規則である。登録規則は、所定のフォーマットで示されるため、この所定のフォーマットを検索キーとして表計算データ構造を検索することができる。
【００５２】
図６に示すように、表計算データを表計算ソフトで実行した表示画面１４０において、登録規則のフォーマットは、例えば“［←取込み（平均値１）］”のように、１つのセル内に“［”＋“方向（“↑”、“↓”、“←”、及び、“→”の何れか）”＋“取込み”＋“（”＋“登録名”＋“）”＋“］”の態様である。このとき登録規則が入力されているセルのアドレスが、基準のアドレスとなる。尚、登録規則は、このような態様に限定されない。
【００５３】
登録規則における“方向”は、基準となるアドレスから登録用データベース１０に登録するセルのアドレス３２１を決定するアルゴリズムを示す情報である。例えば、“方向”として“←”が設定された登録規則の場合、表計算データ構造３００において、基準のアドレスから座標の横軸の降順方向に隣接するセル３２０を参照するアルゴリズムが指定され、当該セル３２０に設定されているセル情報３２２が登録用データベース１０に登録されることになる。
【００５４】
尚、“方向”が“↑”の場合は、基準のアドレスから座標の縦軸の降順方向に隣接するセル３２０を選択するアルゴリズムが指定される。また、“方向”が“↓”の場合は、基準のアドレスから座標の縦軸の昇順方向に隣接するセル３２０を選択するアルゴリズムが指定される。また、“方向”が“→”の場合は、基準のアドレスから座標の横軸の昇順方向に隣接するセル３２０を選択するアルゴリズムが指定される。
【００５５】
具体的に、図６においては、アドレス“Ｉ２”のセル１４９には登録規則として“［←取込み（平均値１）］”が設定されている。この登録規則に従って、表計算データ構造３００のセル情報が登録用データベースに登録される場合、表計算データにおいて“［←取込み（平均値１）］”が設定されていた“Ｉ２”のアドレスが表計算データ構造３００において基準のアドレスとなる。そして、基準のアドレスから座標の横軸の降順方向に隣接するアドレス“Ｈ２”のセル１４８に設定されたセル情報が、“平均値１”という登録名で登録用データベースに登録される。登録名は、データベースにおけるカラム名等に対応付けられる。尚、登録の対象となるセル情報が関数である場合には、その関数の演算結果が登録されるようになっている。
【００５６】
（処理ロジック）
表計算データに基づいて表計算データ構造３００が生成される際に、表計算データのセルに定義される関数は、関数と同じ演算をデータ管理サーバ１上で実行可能な処理ロジックに変換される。具体的には、ＥＢＮＦ（Extended Backus-Naur Form）等の手法を用いて表計算データ内の関数や関数の組み合わせ等が二分木状に解析され、関数と同じ演算を実行する処理ロジックに変換される。そして、変換された処理ロジック、及び、処理ロジックの実行結果が、セル情報３２２として、表計算データ構造３００に設定されることになる。このように、表計算データ構造３００には処理ロジックの実行結果が設定されるため、データ追加部５によるセル情報３２２の追加により処理ロジックが参照するセル３２０が増加したタイミングで処理ロジックを再度実行する必要がある。
【００５７】
本実施形態では、セル情報３２２の追加の際の処理ロジックの再実行の要否判断等の負担を軽減すべく、表計算データ構造３００の全てのワークシート３１０及びセル３２０に優先度が設定されるようになっている。例えば、図７に示すように、アドレス“Ａ１”にはセル情報３２２として数値が格納され、アドレス“Ａ２”にはセル情報３２２としてアドレス“Ａ１”のセル情報３２２を引数とする処理ロジックが格納され、アドレス“Ａ３”にはセル情報３２２としてアドレス“Ａ１”及びアドレス“Ａ２”のセル情報３２２を引数とする処理ロジックが格納されている場合について説明する。具体的に、“Ａ１”のセル情報３２２が変更された場合、アドレス“Ａ２”及びアドレス“Ａ３”のセル情報３２２について、処理ロジックの再実行が必要となる。従って、“Ａ１”優先度が「高」（優先度１）に設定される。また、“Ａ２”のセル情報３２２が変更された場合、アドレス“Ａ３”のセル情報３２２について、処理ロジックの再実行が必要となる。従って、“Ａ２”は優先度が「中」（優先度２）に設定される。また、“Ａ３”のセル情報３２２が変更されても、アドレス“Ａ１”及びアドレス“Ａ２”のセル情報３２２に影響しない。従って、“Ａ２”は優先度が「低」（優先度３）に設定される。このように、引数として参照される側の優先度が高く設定される。優先度が高いセル３２０から低い数値が設定されることになる。
【００５８】
尚、上述のように、ワークシート３１０にも優先度が設定される。ワークシート３１０間で、セル３２０の参照が行われる場合、参照されるセル３２０を有するワークシート３１０が高い優先度となる。尚、ワークシート３１０の優先度は、何れのセル３２０の優先度よりも高く（数値が低く）設定される。
【００５９】
このように、全てのワークシート３１０及び全てのセル３２０に優先度が設定されることで、データ追加部５によってセル情報３２２が追加された場合には当該セル情報３２２の優先度を設定するのみで、この優先度よりも低い（数値が高い）優先度が設定されたセル３２０の処理ロジックのみを実行すればよいことになる。
【００６０】
このように、表計算データ構造３００において、セル３２０は、アドレス３２１とセル情報３２２とを対応付けたものとなる。セル情報３２２には、文字列、数値、処理ロジック、処理ロジックの実行結果、分類条件、追加規則、登録規則が設定されることになる。
【００６１】
（データテーブル）
記憶部３は、上述した受信データ構造テーブルの他、以下に示すデータテーブルを記憶している。尚、これらデータテーブルの各欄の情報は、追記規則等が設定される表計算データの別ワークシートに予め設定され、表計算データ情報取得部４が表計算データを参照する際に同時に各データテーブルに設定されるものであってもよい。また、受信データ構造テーブルは、表計算データ構造３００に含まれるものであってもよい。
【００６２】
（端末装置テーブル）
端末装置テーブルは、端末装置８と、端末装置８から受信する受信データと、表計算データ構造３００のワークシート３１０とを対応付ける。図８に示すように、端末装置テーブルは、デバイスコード欄と、デバイス名欄と、アドレス欄と、受信データコード欄と、環境変数欄とを有している。デバイスコード欄には、端末装置８を識別するデバイスコードが格納される。本実施形態において、図４に示すように、デバイスコードは受信データに含まれる情報である。デバイス名欄には、端末装置８毎の名称が格納される。アドレスには、端末装置８のネットワーク上でのＩＰアドレスが格納される。尚、端末装置８は、デバイス名、又は、アドレスによって識別されてもよい。受信データコード欄には、端末装置８が出力するデータの種別を示す受信データコードが格納される。この受信データコード欄に受信データコードが格納されることより、受信データ構造テーブルが対応付けられる。また、環境変数欄には、情報を追加するワークシート３１０のシート名が格納される。
【００６３】
（イベント発生テーブル）
イベント発生テーブルは、受信したデータに含まれる情報を表計算データ構造３００に追加させる処理等のイベントを発生させるトリガーが設定される。図９に示すように、イベント発生テーブルは、イベントコード欄と、対象欄と、対象識別コード欄と、トリガー欄とを有している。イベントコード欄には、発生されるイベントを識別するイベントコードが格納される。対象欄には、発生条件となる対象が格納される。対象識別コード欄には、対象を識別するコードが格納される。例えば、対象がデバイスである場合には、対象識別コード欄には、端末装置８のデバイスコードが格納される。トリガー欄には、イベントが発生するタイミングが格納される。実行イベント欄には、表計算データ構造３００の識別情報が格納される。表計算データ構造３００の識別情報は、後述する表計算データ登録画面において、表計算データをデータ管理サーバ１に登録する際に表計算データ構造３００に対応付けられる。
【００６４】
（表計算データ登録画面）
データ管理サーバ１は、ウェブアプリケーションサーバ機能を有している。従って、インターネットブラウザ等でデータ管理サーバ１に接続することにより、パソコン等の表計算データ部２０において、表計算データをアップロード可能な表計算データ登録画面１５０が表示されるようになっている。
【００６５】
図１０に示すように、表計算データ登録画面１５０は、実行イベントフォーム１５１と、実行イベント名フォーム１５２と、表計算データ登録フォーム１５３とを有している。実行イベントフォーム１５１には、登録を行う表計算データによって生成される表計算データ構造３００を識別するための識別情報を入力する。実行イベント名フォーム１５２には、生成する表計算データ構造３００の名称を入力する。表計算データ登録フォーム１５３には、インターネットブラウザを起動するコンピュータ等における表計算データのファイルパスを入力する。これらを入力した後、表計算データ登録フォーム１５３の右方向に配置された登録ボタンをクリックすることで表計算データがデータ管理サーバ１にアップロードされる。
【００６６】
（表計算データ登録結果画面）
図１１に示すように、登録ボタンがクリックされた後、表計算データ登録結果画面１６０が表示される。表計算データ登録結果画面１６０は、表計算データ登録画面１５０で表示した内容に加え、分類条件結果表示領域１５４と、追加規則結果表示領域１５５と、登録規則結果表示領域１５６とが表示されるようになっている。分類条件結果表示領域１５４には、表計算データに定義された分類条件が表示される。追加規則結果表示領域１５５には、表計算データに定義され表計算データ構造３００に設定された全ての追加規則（シート名、項目名、基準アドレス、方向）及びシート条件が表示される。追加規則結果表示領域１５５には、表計算データに定義され表計算データ構造３００に設定された登録規則（シート名、項目名、登録対象セルのアドレス）が表示される。また、追加規則の適用対象であるセルに、すでにセル情報が入力されていた場合には、表計算データ構造３００に登録されたセル情報（シート名、アドレス、セル情報）が全て表示される。
【００６７】
（動作）
次に、本実施形態のデータ管理サーバ１の動作について説明する。
【００６８】
（表計算データ登録処理）
図１２は、データ管理サーバ１（表計算データ情報取得部４）が実行する表計算データ構造登録処理ルーチンのフローチャートである。先ず、データ管理サーバ１は、図１０で示した表計算データ登録結果画面において、表計算データがアップロードされたか否かが判定される（Ｓ１）。表計算データがアップロードされない場合（Ｓ１：ＮＯ）、ステップＳ１が再実行される。一方、表計算データがアップロードされた場合（Ｓ１：ＹＥＳ）、表計算データ走査処理が開始される（Ｓ２）。表計算データ走査処理では、表計算データが有するシートにおいて、セル情報が設定されたセルが順次チェックされ、セルに設定されたセル情報が取得される（Ｓ３）。
【００６９】
そして、ステップＳ３において取得したセル情報が関数であるか否かが判定される（Ｓ４）。セル情報が関数である場合（Ｓ４：ＹＥＳ）、処理ロジック生成処理が実行される（Ｓ５）。処理ロジック生成処理においては、表計算データにおいてセル情報として設定される関数について、データ管理サーバ１上でこれらと同様の演算が実行可能な処理ロジックに変換される。セル情報が関数でない場合（Ｓ４：ＮＯ）、又は、ステップＳ５の実行後、優先度の設定が行われる（Ｓ６）。優先度の設定においては、取得したセル情報と、既に取得済みのセル情報との関係（処理ロジックの参照関係、被参照関係等）が作成され、この関係に基づいて優先度が設定される。そして、取得したセル情報が、記憶部３の計算データ構造３００に記憶される（Ｓ７）。その後、すべてのセルが走査されたか否かが判定される（Ｓ８）。全てのセルが走査されていない場合（Ｓ８：ＮＯ）、ステップＳ３が再実行される。
【００７０】
一方、全てのセルが走査された場合（Ｓ８：ＹＥＳ）、記憶されたセル情報のうち、分類条件、追加規則、登録規則が取得される（Ｓ９）。そして、表計算データ登録結果画面１６０に、分類条件、追加規則、登録規則が表示される（Ｓ１０）。具体的に、追加規則については、追加規則が設定されたセルを有するワークシート名、追加規則に設定された項目名、追加規則が設定されているセルのアドレス（基準のアドレス）、及び、方向（指定するアルゴリズムを示す情報）が表計算データ登録結果画面１６０に表示される。また、登録規則については、登録規則が設定されたセルを有するワークシート名、登録規則に設定された項目名、及び、登録規則によって登録対象となっているセルのアドレスが表計算データ登録結果画面１６０に表示される。その後、ステップＳ１が再実行される。
【００７１】
（データ追加・登録処理）
図１３は、データ管理サーバ１（データ追加部５及び登録用データベース１０）が実行するデータ追加・登録処理ルーチンのフローチャートである。先ず、データ管理サーバ１は、端末装置８からのデータが受信されたか否かが判定される（Ｓ２１）。データが受信されない場合（Ｓ２１：ＮＯ）、ステップＳ２１が再実行される。一方、データが受信された場合（Ｓ２１：ＹＥＳ）、受信データ解析処理が行われる（Ｓ２２）。受信データ解析処理では、図５に示すような、受信データ構造テーブルに基づき、受信データの解析が行われる。具体的には、受信データから、デバイスコード、及び、計算データ構造３００に追加する情報が取得される。そして、表計算データ構造３００に追加する情報は項目名との関連づけが行われる。
【００７２】
そして、取得したデバイスコードが、イベント発生テーブル（図９参照）の対象識別コード欄から検索され、当該デバイスコードに対応する表計算データ構造３００（実行イベント欄）が取得される（Ｓ２３）。尚、表計算データ構造３００は、分類条件に応じて選択される。例えば、分類条件が取得日時である場合、端末装置８からのデータを受信した日付によって表計算データ構造３００が選択される。そして、端末装置テーブル（図８）において取得したデバイスコードに対応する環境変数欄から、情報を追加するワークシート３１０が特定される（Ｓ２４）。そして、ステップＳ２２において項目名との関連づけが行われた情報が、当該項目名に対応する追加規則に従って決定されたセル３２０にセル情報３２２として設定される（Ｓ２５）。
【００７３】
そして、セル情報３２２が設定されたセル３２０と、既存するセル３２０との関係（処理ロジックの参照関係、被参照関係等）から設定されたセル３２０の優先度が設定される（Ｓ２６）。そして、設定したセル３２０の優先度に応じた表計算データ構造更新処理が実行される（Ｓ２７）。具体的に、表計算データ構造３００において、設定したセル３２０の優先度よりも低い（数値が小さい）優先度を有する全てのセル３２０において、優先度の高いセル３２０から順に、処理ロジックを再実行する処理が行われる。これにより、追加したセル３２０を直接的又は間接的に参照する処理ロジックを再実行し、当該処理ロジックの実行結果を更新することができる。
【００７４】
そして、ステップＳ２４で特定されたワークシート３１０において設定されるすべての登録規則が参照される（Ｓ２８）。そして、登録規則に基づき、登録対象となるセル３２０のセル情報３２２と、登録規則に設定された登録名との関連づけが行われる（Ｓ２９）。そして、この登録名でセル情報が登録用データベース１０に登録され、本ルーチンが終了される。尚、ステップＳ２８〜Ｓ３０の処理については、表計算データ構造３００の更新ごとに行われることに限定されない。例えば、所定のタイミング（所定期間毎、所定の受信データ数毎等）で登録用データベース１０に登録されるものであってもよい。
【００７５】
以上、本発明の実施形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々に変更して実施することができるものである。
【符号の説明】
【００７６】
１  データ管理サーバ
２  受信部
３  記憶部
４  表計算データ情報取得部
５  データ追加部
６  セル情報反映部
８  端末装置
９  セル情報登録部
１０  登録用データベース
３００  表計算データ構造
３１０  ワークシート
３２０  セル
３２１  アドレス
３２２  セル情報
【図１】
2014075112.tif 000003
【図２】
2014075112.tif 000004
【図３】
2014075112.tif 000005
【図４】
2014075112.tif 000006
【図５】
2014075112.tif 000007
【図６】
2014075112.tif 000008
【図７】
2014075112.tif 000009
【図８】
2014075112.tif 000010
【図９】
2014075112.tif 000011
【図１０】
2014075112.tif 000012
【図１１】
2014075112.tif 000013
【図１２】
2014075112.tif 000014
【図１３】
2014075112.tif 000015
【手続補正書】
【提出日】平成25年6月7日(2013.6.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶部を有し、ネットワークを介して当該記憶部に追加する情報を含むデータを受け付けるデータ管理サーバであって、
表計算ソフトによって生成されるものでありワークシート上にマトリクス状に配置されアドレスによって夫々が識別される複数のセルを有する表計算データを参照し、参照した前記表計算データの前記複数のセルに設定されたセル情報と当該複数のセルのアドレスとを取得し、前記セル情報と前記アドレスとを対応付けた表計算データ構造を前記記憶部に記憶すると共に、当該表計算データに設定される、受け付ける前記データに含まれる前記情報と対応する項目名と当該データにおいて前記情報が格納される開始位置と当該データにおける前記情報のデータ長との対応付けに基づくテーブルを前記記憶部に記憶する表計算データ情報取得部と、
前記データを受け付けた場合に、前記テーブルに基づいて当該データから前記情報を取得し、前記表計算データ構造から前記項目名毎に所定のフォーマットで示される追加規則が設定されたセル情報を参照し、前記追加規則と前記表計算データ構造とに基づいて前記セル情報が未設定であるセルのアドレスを前記項目名毎に決定し、受け付けたデータに含まれ前記テーブルに設定された前記情報を当該アドレスに対応するセル情報として前記表計算データ構造に追加するデータ追加部と、
を有し、
前記追加規則は、前記データ追加部がセル情報を追加する基準となる前記アドレスと、当該基準となるアドレスから前記セル情報が未設定であるセルのアドレスを決定するアルゴリズムを示す情報とを含んでいることを特徴とするデータ管理サーバ。
【請求項２】
所定のタイミングで、前記表計算データ構造を所定の表計算データに反映するセル情報反映部をさらに有していることを特徴とする請求項１に記載のデータ管理サーバ。
【請求項３】
前記表計算データ情報取得部は、前記表計算データの前記セルに、前記表計算ソフト上で動作可能な関数が設定されている場合、前記データ管理サーバ上で実行可能な処理ロジックに変換し、当該処理ロジック及び当該処理ロジックの実行結果を前記表計算データ構造の前記セル情報として記憶することを特徴とする請求項１又は２に記載のデータ管理サーバ。
【請求項４】
前記データ追加部は、追加した前記セル情報が前記処理ロジックに直接的又は間接的に参照される場合、当該ロジックを再実行して前記表計算データ構造の当該ロジックの実行結果を更新することを特徴とする請求項３に記載のデータ管理サーバ。
【請求項５】
前記記憶部は、前記表計算データ構造を複数記憶可能であり、
前記データ追加部は、所定の分類条件に基づき、前記セル情報を追加する前記表計算データ構造を決定することを特徴とする請求項１乃至４に記載のデータ管理サーバ。
【請求項６】
登録用データベースと、
所定のタイミングで前記表計算データ構造から所定のフォーマットの登録規則が設定されたセル情報を参照し、当該登録規則によって示されるアドレスのセル情報を前記登録用データベースに登録するセル情報登録部と、
をさらに有することを特徴とする請求項１乃至５に記載のデータ管理サーバ。 
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明のデータ管理サーバは、記憶部を有し、ネットワークを介して当該記憶部に追加する情報を含むデータを受け付けるデータ管理サーバであって、表計算ソフトによって生成されるものでありワークシート上にマトリクス状に配置されアドレスによって夫々が識別される複数のセルを有する表計算データを参照し、参照した前記表計算データの前記複数のセルに設定されたセル情報と当該複数のセルのアドレスとを取得し、前記セル情報と前記アドレスとを対応付けた表計算データ構造を前記記憶部に記憶すると共に、当該表計算データに設定される、受け付ける前記データに含まれる前記情報と対応する項目名と当該データにおいて前記情報が格納される開始位置と当該データにおける前記情報のデータ長との対応付けに基づくテーブルを前記記憶部に記憶する表計算データ情報取得部と、前記データを受け付けた場合に、前記テーブルに基づいて当該データから前記情報を取得し、前記表計算データ構造から前記項目名毎に所定のフォーマットで示される追加規則が設定されたセル情報を参照し、前記追加規則と前記表計算データ構造とに基づいて前記セル情報が未設定であるセルのアドレスを前記項目名毎に決定し、受け付けたデータに含まれ前記テーブルに設定された前記情報を当該アドレスに対応するセル情報として前記表計算データ構造に追加するデータ追加部と、を有し、前記追加規則は、前記データ追加部がセル情報を追加する基準となる前記アドレスと、当該基準となるアドレスから前記セル情報が未設定であるセルのアドレスを決定するアルゴリズムを示す情報とを含んでいる。 
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記構成によれば、表計算データ内に含まれるセル情報がそのアドレスと対応付けられ表計算データ構造として記憶部に格納される。また、ネットワークを介して記憶部に追加する情報を含むデータを受け付けた場合には、表計算データ構造に含まれる所定のフォーマットの追加規則が参照され、表計算データ構造において未設定状態のセルのアドレスが決定される。そして、このアドレスのセル情報として、受け付けたデータの情報が追加される。これにより、表計算データの任意のアドレスのセルに追加規則を設定し、これをデータ管理サーバに参照させることで、受信するデータを蓄積するためのデータベースが表計算データ構造としてサーバ上に自動的に構築される。また、データ自身を識別する情報やデータベースに登録するためのユニークキーを示す情報を含まないデータが連続的に受信された場合であっても、セル情報として追加するセルのアドレスは追加規則と表計算データ構造とに基づいて受信したデータ毎に決定されるため、既に設定されているセル情報が上書きされてしまうことを回避することができる。従って、表計算データにデータベースのイメージを表現するだけで専用のデータベースサーバを構築することができるため、専門業者にシステムの開発を依頼する必要がなく、コストを軽減することができる。
また、表計算データに追加規則を設定するだけで、データ管理サーバにおいてネットワークを介して受け付けるデータの情報についてどのアドレスに対応付けるかを決定するために予め用意されたアルゴリズムを指定することができ、データ管理サーバの管理者の負担を軽減することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】