説明

データ処理システム及びデータ処理方法及びプログラム

【課題】遠隔システムの物理構成と各サービスが対象としているサービス対象物の範囲との差異を吸収して、データの重複取得を回避する。
【解決手段】要求受付部201は、要求元のサービスとサービス対象物とが示されるデータ取得要求を入力する。通信システム400は、遠隔システム500内の機器からデータを取得する。状態監視部302は、通信システム400によるデータ取得状況を監視する。要求セッションマージ部202は、データ取得要求が入力される度に、入力された入力データ取得要求に示されているサービス対象物に対応する機器を特定し、先行するデータ取得要求に基づき通信システム400が同じ機器からデータを取得中である場合は、2つのデータ取得要求の間でサービス対象物が異なっていても、更なるデータ取得の指示を通信システム400に行わない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部のデータ機器からデータを取得する処理を効率化する技術に関する。
【背景技術】
【0002】
データベースをインタフェースとするシステムを利用するクライアントプログラムにおいて、従来では要求データを登録し、登録したデータの処理状態を定期的に監視し、完了し次第結果データを取得して処理するという方法が用いられていた。
しかし、この方法ではクライアントプログラムが多くなるとデータベースへの接続数が多くなり、データベースに対する接続負荷が大きくなるため、クライアントプログラムとデータベースの間に中間層を設け、中間層で接続をまとめることによりデータベースへの負荷を軽減する方法が用いられていた。
さらに、要求数の増加に対しては、データベースのインデックスを中間層に分散し検索処理を高速化するなどしてその負荷を軽減する方法が用いられていた(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−157259号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
遠隔にあるシステムと通信しデータを取得するデータベースインタフェースの通信システムがあり、あるサービスアプリケーションが通信システムを用いて遠隔システムからデータを取得し、他のサービスアプリケーションから共通的に利用できるストレージ等にデータを展開するようなことを考える。
サービスアプリケーションが遠隔システムのデータを用いて提供するサービスと遠隔システムとして設置されている機器の物理的な構成が異なる場合(例えば、遠隔システムの契約はビルを単としており、遠隔システムの契約範囲となるビルには棟が2つあり、ビル全体のデータを提供する機器が片方の棟にあるが、サービスでは棟を単位として扱いたい場合)、サービスアプリケーションのデータ取得要求はサービス識別子と棟識別子、通信システムのインタフェースはビル識別子と機器識別子となり、契約と物理構成に差異が生じ、サービスアプリケーションからの異なる要求でもデータの重複取得の発生やそれに伴う負荷増大や取得したデータの展開時に競合が発生するという課題がある。
【0005】
従来技術では、サービスアプリケーションと通信システムとの間に中間層を設けて、負荷を分散することや、通信システムに対する検索負荷を軽減するという点においては解決されているが、分散されているため取得したデータの競合制御やデータの重複取得を解決できないという課題とサービスアプリケーションが遠隔システムの物理構成を意識なければならないという課題があった。
【0006】
この発明は上記のような課題を解決することを主な目的としており、データの取得元である遠隔システムの物理構成と各サービスが対象としているサービス対象物の範囲との差異を吸収して、データの重複取得を回避することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ処理システムは、
複数のサービスについて各サービスと各サービスの対象物である1つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している1つ以上のデータ機器とを対応付ける関係情報であって、2つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶する情報記憶部と、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力部と、
データ機器からデータを取得するデータ取得部と、
前記データ取得部によるデータ取得状況を監視する監視部と、
前記入力部によりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得部が前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるか否かを前記監視部の監視結果により判断し、前記データ取得部が同一の取得対象データ機器からデータを取得中でなければ、前記入力データ取得要求に基づき前記データ取得部に前記取得対象データ機器からのデータ取得を指示し、前記データ取得部が同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得部に行わないデータ取得制御部とを有することを特徴とする。
【発明の効果】
【0008】
本発明では、先行データ取得要求に基づいて入力データ取得要求と同一の取得対象データ機器からデータを取得中である場合は、入力データ取得要求と先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を行わない。
このため、データの取得元であるデータ機器の物理構成と各サービスが対象としているサービス対象物の範囲との差異を吸収することができ、データの重複取得を回避することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係る共有ファイルのデータ構成例を示す図。
【図3】実施の形態1に係る契約・物理構成データのデータ構成例を示す図。
【図4】実施の形態1に係る要求状態データのデータ構成例を示す図。
【図5】実施の形態1に係る入出力データベースのデータ構成例を示す図。
【図6】実施の形態1に係る処理シーケンス例を示す図。
【図7】実施の形態1に係る処理シーケンス例を示す図。
【図8】実施の形態1に係る処理シーケンス例を示す図。
【図9】実施の形態1に係る要求セッションマージ部の動作例を示すフローチャート図。
【図10】実施の形態1に係る状態監視部の動作例を示すフローチャート図。
【図11】実施の形態1に係る要求サーバ装置等のハードウェア構成例を示す図。
【発明を実施するための形態】
【0010】
実施の形態1.
本実施の形態では、遠隔システムの物理構成を意識することなく、データの重複取得をなくし、分散したシステム構成においても保存時の競合制御を不要とする構成を説明する。
【0011】
図1は、本実施の形態に係るデータ処理システムの構成例を示す。
本実施の形態に係るデータ処理システムは、データベースをインタフェースとする遠隔システムへの通信システムの要求処理と結果処理を分散し、データ取得要求を契約や物理構造に基づいてマージする。
【0012】
図1において、サービスアプリケーション100は、データ取得要求を送信するクライアントプログラムである。
要求制御サーバ装置200は、任意のサービスアプリケーション100からデータ取得要求を受け付けるサーバ装置である。
監視サーバ装置300は、通信システム400への要求処理と結果処理を分散して行うサーバ装置である。
通信システム400は、遠隔システム500との通信を行うデータベースインタフェースのシステムである。
遠隔システム500は、取得対象となるデータを保持する遠隔のシステムである。
共有ファイルサーバ装置600は、遠隔システム500から取得展開したデータを保管するファイルサーバ装置である。
【0013】
要求制御サーバ装置200、監視サーバ装置300、通信システム400及び共有ファイルサーバ装置600は、物理的に単一のコンピュータにより構成されていてもよいし、別のコンピュータにより構成されていてもよい。
別のコンピュータにより構成されている場合は、図1に示すリクエスト及びレスポンスがコンピュータ間で送受信される。
また、サービスアプリケーション100は、要求制御サーバ装置200及び共有ファイルサーバ装置600と通信可能なクライント・コンピュータで実行されている。
サービスアプリケーション100と要求制御サーバ装置200及び共有ファイルサーバ装置600との間の通信は、クライント・コンピュータに実装されている通信機能を用いて行われる。
【0014】
共有ファイルサーバ装置600における共有ファイルのデータ構成例を図2に示す。
共有ファイルは、サービスを親として、取得したデータを機器データとして管理する。
【0015】
要求制御サーバ装置200において、要求受付部201はサービスアプリケーション100へデータ取得のインタフェースを公開する。
より具体的には、サービスアプリケーション100から、データ取得要求を入力する。
データ取得要求には、データ取得要求の要求元のサービスと当該サービスのサービス対象物(例えば、ビル内の棟)、取得対象のデータの種類(例えば、電力消費量の推移を示すデータや室温の推移を示すデータ)が示されている。
サービス対象物のデータは、複数のデータ機器(以下、単に機器ともいう)のうちのいずれかのデータ機器で管理されている。
サービスアプリケーション100は、サービス対象物は把握しているが、サービス対象物のデータを管理しているデータ機器は把握していない。
なお、要求受付部201は入力部の例である。
【0016】
要求セッションマージ部202は、サービスアプリケーション100からのデータ取得要求と処理中のデータ取得要求を突き合わせてマージする。
より具体的には、要求セッションマージ部202は、要求受付部201により新たに入力されたデータ取得要求(入力データ取得要求)と、現在、通信システム400により処理中のデータ取得要求(先行データ取得要求)とが同じデータを対象とし、同じデータ機器を対象としている場合は、サービス対象物が異なっていても、新たなデータ取得要求により更にデータ取得を指示することはしない。
このため、新たなデータ取得要求に基づくデータ取得が行われず、同じデータに対して重複した取得処理が行われるのを回避することができる。
本明細書では、新たなデータ取得要求が先行するデータ取得要求と同じデータ及び同じデータ機器を対象にしているため、要求セッションマージ部202が、新たなデータ取得要求に基づくデータ取得の指示を行わないことをマージという。
なお、要求セッションマージ部202は、要求振り分け部206及び要求登録変更部301とともに、データ取得制御部の例である。
【0017】
契約・物理構成データ記憶部203は、契約・物理構成データを記憶する。
契約・物理構成データは、遠隔システム500の契約範囲と実際の物理構成の関係を示す情報である。
詳細は後述するが、契約・物理構成データは、例えば、図3に示す情報である。
契約・物理構成データは関係情報の例である。
また、契約・物理構成データ記憶部203は、情報記憶部の例である。
【0018】
監視状態管理部204は、各データ取得要求に対する処理状態を管理する。
つまり、監視状態管理部204は、データ取得要求ごとに、通信システム400によりデータ取得処理中であるか、取得したデータを共有ファイルサーバ装置600に展開中(格納中)であるかという処理状態を管理する。
【0019】
要求状態データ記憶部205は、要求状態データを記憶する。
要求状態データは、通信システム400で取得処理中のデータ取得要求の一覧が示される情報である。
【0020】
要求振り分け部206は、データ取得要求を監視サーバ装置300に振り分ける。
つまり、複数の監視サーバ装置300が存在する場合に、要求振り分け部206は、データ取得要求を処理させる監視サーバ装置300を複数の監視サーバ装置300の中から選択する。
要求振り分け部206は、要求セッションマージ部202及び要求登録変更部301とともに、データ取得制御部の例である。
【0021】
ここで、契約・物理構成データ記憶部203で記憶されている契約・物理構成データの構成を図3に示す。
【0022】
契約・物理構成データは、図3(a)に示すサービス・棟データ2031と、図3(b)に示すビル・サービス関係データ2032と、棟・機器関係データ2033から構成される。
サービス・棟データ2031は、「サービス」の識別子であるサービスID(Identification)と「棟」の識別子である棟IDの関係を表す情報である。
ビル・サービス関係データ2032は、「ビル」の識別子であるビルIDとサービスIDの関係を表す情報である。
棟・機器関係データ2033は、棟IDと「機器」の識別子である機器IDの関係を表す情報である。
図3(a)〜(c)のサービス・棟データ2031、ビル・サービス関係データ2032及び棟・機器関係データ2033は、図3(d)に示すビルX、棟α、棟β、棟γ、サービスA、サービスB、サービスC、データ機器1、データ機器2の関係を示している。
ビルXは、棟α、棟β、棟γから構成され、また、ビルXに対するサービスとしては、サービスA、サービスB、サービスCがある(図3(b))。
また、サービスは棟を単位としており、サービスAとサービスBはともに棟αと棟γをサービス対象物とし、サービスCは棟βと棟γをサービス対象物としている(図3(a))。
更に、棟αのデータはデータ機器1とデータ機器2に分かれて管理されており、棟βと棟γのデータはデータ機器3で一括して管理されている(図3(c))。
【0023】
次に、要求状態データ記憶部205で記憶されている要求状態データの構成を図4に示す。
要求状態データは、要求を一意に識別する要求キーを主キーとしてビルIDと機器IDと対象データ名と処理状態と振り分け先を管理する情報である。
図4において、ビルIDは例えば図3のビルXである。
また、機器IDは例えば図3のデータ機器1〜3のいずれかである。
対象データ名が指定されるのは、各データ機器で複数種のデータを記憶しているからである。
各データ機器は、例えば、該当する棟の電力消費量の推移データや室温の推移データといった複数種類のデータを記憶している。
また、処理状態には、通信システム400がデータを取得中であるか、通信システム400により取得されたデータを共有ファイルサーバ装置600に展開中であるかが示される。
振り分け先とは監視サーバ装置300を表し、要求状態データで振り分け先を管理するのは、複数の監視サーバ装置300が存在する場合を想定しているからである。
【0024】
次に、図1に戻り、監視サーバ装置300において、要求登録変更部301は通信システム400に対してデータ取得指示を新規に登録もしくは既存の要求内容を変更する。
より具体的には、要求登録変更部301は、要求セッションマージ部202により新たなデータ取得要求が現在処理中のデータ取得要求にマージされた場合は、現在処理中のデータ取得処理の優先度を上げるよう要求登録変更部301に通知する。
また、マージがされない場合は、新たなでデータ取得要求に基づくデータ取得指示を通信システム400に登録する。
要求登録変更部301は、要求セッションマージ部202及び要求振り分け部206とともに、データ取得制御部の例である。
【0025】
状態監視部302は、通信システム400のデータ取得状況を監視する。
状態監視部302は、監視部の例である。
【0026】
展開処理部303は、通信システム400が遠隔システム500から取得した結果データを共有ファイルサーバ装置600へ展開(格納)する。
展開処理部303は、データ格納部の例である。
【0027】
進捗通知部304は、要求が通信システム400においてデータ取得処理中か展開処理部303によるデータ展開処理中かといった進捗状態を、要求制御サーバ装置200の監視状態管理部204に通知する。
【0028】
通信システム400において、入出力データベース401はデータ取得指示の受付と結果格納を行うインタフェースとなるデータベースである。
通信装置402は、入出力データベース401に入力された指示に応じて遠隔システム500と通信し、取得したデータを結果として入出力データベース401に格納する。
通信システム400は、データ取得部の例である。
【0029】
入出力データベース401のデータ構成を図5に示す。
入出力データベース401は要求キーを主キーとしてビルIDと機器IDと対象データ名と処理優先度と処理状態と結果データを管理する。
入出力データベース401は、処理優先度が高いデータ取得処理を優先して実行する。
【0030】
遠隔システム500には、図3に示した複数のデータ機器が含まれており、データ取得指示で指定されたデータ機器から対象のデータを抽出し、抽出したデータを通信システム400に送信する。
【0031】
次に動作について説明する。
図6、図7及び図8は本実施の形態における動作を示した処理シーケンス図である。
これを用いてサービスアプリケーション100がサービスIDと棟IDを基に要求制御サーバ装置200経由で通信システム400を用いてデータを取得する動作を説明する。
【0032】
サービスアプリケーション100は、要求受付部201へデータ取得要求としてサービスIDと棟IDと対象データ名を送信する(M0100)。
サービスIDは要求元のサービス、すなわち、データ取得要求の送信元のサービスアプリケーション100の識別子である。
また、前述したように、サービスでは棟単位で管理しているので、データ取得の対象となる棟の識別子が棟IDとして含まれる。
【0033】
要求受付部201は、受信したデータ取得要求を要求セッションマージ部202へ渡す(M0101)。
要求セッションマージ部202は、契約・物理構成データ(図3)を参照し、データ取得要求に含まれているサービスIDに対応するビルIDを割り出し、また、データ取得要求に含まれている棟IDに対応する機器IDを割り出し、一意な取得対象と関連するサービスID一覧を得る(M0102)。
サービスID一覧には、契約・物理構成データにおいて、データ取得要求から割り出された機器IDと対応付けられているサービスIDが示されている。
例えば、サービスID:サービスC、棟ID:棟βが示されているデータ取得要求を入力した場合は、要求セッションマージ部202は、棟βから機器3を割り出す。
また、要求セッションマージ部202は、機器3に対応付けられている棟β及び棟γを割り出し、棟γに対応付けられているサービスAとサービスB、棟β及び棟γに対応付けられているサービスCを割り出し、割り出したサービスAとサービスBとサービスCが示されるサービスID一覧を生成する。
このサービスID一覧は、後述するデータ展開(M0123)の際に用いられる。
【0034】
次に、要求セッションマージ部202は、監視状態管理部204から取得対象の処理状態(取得処理中か展開処理中か新規か)を取得する(M0103、M0104)。
より具体的には、要求セッションマージ部202は、監視状態管理部204にビルIDと機器IDと対象データ名を通知する。
監視状態管理部204は、通知されたビルIDと機器IDと対象データ名の組み合わせに対応するデータを通信システム400が取得処理中であるか、共有ファイルサーバ装置600に対して展開処理中であるか、いずれでもないかを要求状態データ記憶部205の要求状態データ2050(図4)を参照して判断する。
そして、監視状態管理部204は、取得対象の処理状態(取得処理中か展開処理中か新規か)を要求セッションマージ部202に通知する。
取得処理中である場合は、監視状態管理部204は、取得処理中である先行するデータ取得要求に割り当てられている要求キー(要求状態データで管理されている要求キー)を要求セッションマージ部202に通知する。
【0035】
次に、要求セッションマージ部202は、監視状態管理部204から通知された処理状態が取得処理中であれば、優先度を変更するよう指示する優先度変更指示を要求振り分け部206に出力し、新規であれば、対象となるデータを取得するよう指示するデータ取得指示を要求振り分け部206に出力する(M0105)。
このように、処理状態が取得処理中の場合、すなわち、先行するデータ取得要求に基づき同じデータ機器から同じデータに対する取得処理が行われている場合は、要求セッションマージ部202は、M0100で入力されたデータ取得要求に基づくデータ取得指示は生成しない。
優先度変更指示には、優先度変更指示であることを示すコマンドIDと、M0104で通知された要求キーが含まれる。
また、データ取得指示には、データ取得指示であることを示すコマンドIDと、M0101で入力したデータ取得要求に含まれる対象データ名と、M0102で得たビルIDと機器IDとサービスID一覧とが含まれる。
なお、監視状態管理部204から通知された処理状態が処理状態が展開中の場合は、要求セッションマージ部202は、何もせずに処理を返す。
【0036】
要求振り分け部206は、優先度変更指示又はデータ取得指示が振り分けされる監視サーバ装置300を監視状態管理部204から取得する(M0106、M0107)。
この処理は、監視サーバ装置300が複数台存在する場合の処理である。
要求振り分け部206は、要求セッションマージ部202から優先度変更指示が出力された場合は、優先度変更指示に含まれる要求キーを監視状態管理部204に通知する。
監視状態管理部204は、要求状態データ記憶部205の要求状態データ2050(図4)を参照して、要求振り分け部206から通知された要求キーと同じ要求キーが割り振られている監視サーバ装置300を検索し、該当する監視サーバ装置300を応答する。
また、要求振り分け部206は、要求セッションマージ部202からデータ取得指示が出力された場合は、当該データ取得指示を監視状態管理部204に出力して、監視サーバ装置300を問い合わせる。
このとき、監視状態管理部204は、新規に要求キーを生成するとともに、要求振り分け部206から入力したデータ取得指示に対して、要求状態データ2050(図4)を生成する。
また、監視状態管理部204は、例えば、ラウンドロビンにより監視サーバ装置300を選択し、選択した監視サーバ装置300と要求キーを応答する。
【0037】
次に、要求振り分け部206は、取得した振り分け先の監視サーバ装置300の要求登録変更部301へ優先度変更指示又はデータ取得指示を送信する(M0108)。
優先度変更指示を送信する場合は、要求振り分け部206は、M0105で入力した優先度変更指示をそのまま送信する。
一方、データ取得指示を送信する場合は、要求振り分け部206は、M0105で入力したデータ取得指示にM0107で取得した要求キーを付加して送信する。
つまり、要求キーとビルIDと機器IDと対象データ名とサービスID一覧が含まれるデータ取得指示を送信する。
【0038】
要求登録変更部301は、優先度変更指示を受信した場合は、要求キーを入出力データベース401に通知し、優先度の変更を指示し、データ取得指示を受信した場合は、要求キーとビルIDと機器IDと対象データ名を入出力データベース401に通知し、これらの情報の新規登録を指示する(M0109、M0110)。
【0039】
次に、要求登録変更部301は、入出力データベース401に新規登録を指示した要求キーと、当該要求キーに対応するサービスID一覧(M0102で取得したサービスID一覧)を状態監視部302に非同期で渡し(M0111)、処理を返す(M0112〜M0115)。
【0040】
状態監視部302は、保持している要求キーのデータ取得処理の状態を入出力データベース401から定期的に検索する(M0116、M0117)。
【0041】
次に、状態監視部302は、保持している要求キーの処理状態が「取得処理中」から「取得完了」に変わっていれば進捗通知部304に処理状態として「展開中」を通知し(M0118)、進捗通知部304が状態監視部302からの進捗通知を監視状態管理部204へ通知する(M0119)。
監視状態管理部204は、進捗通知に応じて要求状態データ2050(図4)の「処理状態」を更新する。
【0042】
また、状態監視部302は、展開処理部303に処理要求として要求キーとサービスID一覧を渡す(M0120)。
【0043】
展開処理部303は、要求キーを基に入出力データベース401から結果データを取得する(M0121、M0122)。
【0044】
次に、展開処理部303は、取得した結果データを共有ファイルサーバ装置600の各サービスIDの展開先に展開する(M0123)。
つまり、展開処理部303は、M0120で取得したサービスID一覧に示されているサービスIDの展開先に結果データを展開する。
なお、契約・物理構成データ(図3)において、相互に異なるデータ対象物(棟)を介して結果データの取得元のデータ機器と対応付けられている2つ以上のサービスであっても、各々のサービスの展開先に結果データが展開される。
例えば、前述したように、例えば、サービスID:サービスC、棟ID:棟βが示されているデータ取得要求を入力した場合に、要求セッションマージ部202は、棟βから機器3を割り出し、棟γを介して機器3に対応付けられているサービスAとサービスBもサービスID一覧に含め、展開処理部303は、サービスCからのデータ取得要求に基づいて取得された結果データを、サービスID一覧に含まれているサービスAとサービスBの展開先に展開する。
この結果、棟γを介して機器3と対応付けられているサービスAとサービスBのサービスアプリケーションも、棟β(と棟γ)を介して機器3と対応付けられているサービスCのサービスアプリケーションとともに、結果データにアクセス可能である。
【0045】
次に、展開処理部303は、進捗通知部304に展開処理の完了を通知する(M0124)。
進捗通知部304は、展開処理部303から受けた進捗通知を監視状態管理部204へ通知する(M0125)。
【0046】
次に、要求セッションマージ部202の詳しい動作について説明する。
図9は、要求セッションマージ部202における処理フローチャートである。
【0047】
要求セッションマージ部202では契約・物理構成データ(図3)を基に入力されたサービスIDから紐付くビルIDを特定する(S0100)。
次に、同様にして入力された棟IDから紐付く機器IDとサービスID一覧を特定する(S0101)。
次に、特定したビルIDと機器IDと要求の対象データ名から監視状態管理部204に対応する取得処理の実行状態を問い合わせる(S0102)。
次に、問い合わせた結果、要求が「処理中」かどうかを判断する(S0103)。
「処理中」であった場合、その処理状態が「取得中」か「展開中」かを判断する(S0104)。
「取得中」であった場合、要求振り分け部206へ優先度を上げる指示を送る(S0105)。
「展開中」であった場合は何もせずに処理を返す(S0106)。
ステップS0103において「処理中」で無かった場合、新規にデータ取得指示を送る(S0107)。
【0048】
このように、サービスアプリケーションからの要求パラメータ(データ取得要求に含まれるサービスID、棟ID)が異なっても(例えば、図3における構成でサービスAが棟γのデータ取得要求を既に登録した後にサービスCが棟βのデータ取得要求を出す場合や、サービスCが棟βのデータ取得要求を登録した後にサービスCが棟γのデータ取得要求を出す場合)、要求セッションマージ部202によって、物理的に同一のデータを取得する場合は実際に遠隔システムと通信を行う通信システムへ要求を登録せずに上位でマージすることで、処理負荷の分散とデータの競合制御を行うことができる。
【0049】
次に、状態監視部302の詳しい動作について説明する。
図10は、状態監視部302における処理フローチャートである。
【0050】
状態監視部302では定期的に処理が実行される(S0200)。
まず、保持している要求キーを基に入出力データベース401から監視対象となる要求の一覧を検索する(S0201)。
次に、検索して得られた各要求の内容について処理を行う(S0202)。
処理状態が「処理中」か「完了」かを判断する(S0203)。
「処理中」であった場合、何もしない(S0204)。
「完了」であった場合、その要求キーとサービスID一覧を展開処理部303へ送る(S0205)。
次に、その要求キーを監視対象から外し、進捗通知部304へ進捗通知する(S0206)。
【0051】
以上のように、データベースをインタフェースとする遠隔システムへの通信システムの要求処理と結果処理を分散し、データ取得要求を契約や物理構造に基づいて処理要求をマージすることで、データ取得処理の効率化を行うことができる。
また、同一データに対する要求がマージされるため分散処理時においても得られたデータの保存時の競合制御を不要とすることができる。
また、契約・物理構造データは契約業務で得られるサービスとビルの関係、工事業務で得られる棟と機器の関係から生成の自動化も可能であるため、データ取得者は物理構造を意識せずにデータ取得要求を行うことができる。
【0052】
以上、本実施の形態では、
任意のサービスアプリケーションから利用できるデータ取得の受付を公開する手段と、契約と物理構成の関係から処置中のデータ取得要求をマージする手段を備えたデータ処理システムを説明した。
【0053】
また、本実施の形態では、
前記データ処理システムが、データ取得要求の処理分散先の状態を管理する手段と、要求を分散先へ振り分ける手段と振り分け先において処理進捗を通知する手段を備えていることを説明した。
【0054】
また、前記データ処理システムが、データベースインタフェースのシステムへ要求を登録する手段と、登録した要求の処理状態を監視する手段と、要求の結果を共通に利用できる領域に展開する手段を備えていることを説明した。
【0055】
また、前記データ処理システムが、契約情報や工事情報から契約と物理構成の関係を生成する手段を備えていることを説明した。
【0056】
最後に、本実施の形態に示した要求制御サーバ装置200、監視サーバ装置300及び通信システム400(以下、要求制御サーバ装置200等と表記する)のハードウェア構成例について説明する。
図11は、本実施の形態に示す要求制御サーバ装置200等のハードウェア資源の一例を示す図である。
なお、図11の構成は、あくまでも要求制御サーバ装置200等のハードウェア構成の一例を示すものであり、要求制御サーバ装置200等のハードウェア構成は図11に記載の構成に限らず、他の構成であってもよい。
【0057】
図11において、要求制御サーバ装置200等は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
本実施の形態で説明した「〜記憶部」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0058】
通信ボード915は、例えば、LAN(ローカルエリアネットワーク)に接続されている。
また、通信ボード915は、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などにも接続可能である。
【0059】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0060】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0061】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
要求制御サーバ装置200等の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0062】
上記プログラム群923には、本実施の形態の説明において「〜部」(「〜記憶部」以外、以下同様)、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0063】
ファイル群924には、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の比較」、「〜の取得」、「〜の更新」、「〜の設定」、「〜の特定」、「〜の登録」、「〜の選択」、「〜の指示」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0064】
また、本実施の形態の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「データ処理方法」を実現することができる。
また、「〜部」、「〜手段」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、本実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【0065】
このように、本実施の形態に示す要求制御サーバ装置200等は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0066】
100 サービスアプリケーション、200 要求制御サーバ装置、201 要求受付部、202 要求セッションマージ部、203 契約・物理構成データ記憶部、204 監視状態管理部、205 要求状態データ記憶部、206 要求振り分け部、300 監視サーバ装置、301 要求登録変更部、302 状態監視部、303 展開処理部、304 進捗通知部、400 通信システム、401 入出力データベース、402 通信装置、500 遠隔システム、600 共有ファイルサーバ装置。

【特許請求の範囲】
【請求項1】
複数のサービスについて各サービスと各サービスの対象物である1つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している1つ以上のデータ機器とを対応付ける関係情報であって、2つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶する情報記憶部と、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力部と、
データ機器からデータを取得するデータ取得部と、
前記データ取得部によるデータ取得状況を監視する監視部と、
前記入力部によりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得部が前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるか否かを前記監視部の監視結果により判断し、前記データ取得部が同一の取得対象データ機器からデータを取得中でなければ、前記入力データ取得要求に基づき前記データ取得部に前記取得対象データ機器からのデータ取得を指示し、前記データ取得部が同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得部に行わないデータ取得制御部とを有することを特徴とするデータ処理システム。
【請求項2】
前記入力部は、
要求元のサービスと当該サービスのいずれかのサービス対象物と取得対象のデータの種類とが示され、当該サービス対象物の当該種類のデータの取得を要求するデータ取得要求を入力し、
前記データ取得制御部は、
前記入力部によりデータ取得要求が入力される度に、前記関係情報を参照して、前記入力データ取得要求について取得対象データ機器を特定するとともに、前記先行データ取得要求に基づき前記データ取得部が前記入力データ取得要求と同一の取得対象データ機器から同一の種類のデータを取得中であるか否かを前記監視部の監視結果により判断し、前記データ取得部が同一の取得対象データ機器から同一種類のデータを取得中でなければ、前記入力データ取得要求に基づき前記データ取得部に前記取得対象データ機器からの前記種類のデータの取得を指示し、前記データ取得部が同一の取得対象データ機器から同一種類のデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得部に行わないことを特徴とする請求項1に記載のデータ処理システム。
【請求項3】
前記データ処理装置は、更に、
前記データ取得部によりいずれかのデータ機器からデータが取得された際に、前記データ取得部により取得されたデータの取得元のデータ機器と前記関係情報において対応付けられている2つ以上のサービスのサービスアプリケーションからアクセス可能なように、前記データ取得部により取得されたデータを所定の記憶装置に格納するデータ格納部であって、
前記関係情報において相互に異なるデータ対象物を介してデータ取得元のデータ機器と対応付けられている2つ以上のサービスのサービスアプリケーションであっても各々からアクセス可能なように、前記データ取得部により取得されたデータを前記記憶装置に格納するデータ格納部を有することを特徴とする請求項1又は2に記載のデータ処理システム。
【請求項4】
前記データ取得部は、
優先度が高いデータ取得処理を優先して実行し、
前記データ取得制御部は、
前記データ取得部が前記先行データ取得要求に基づき前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるか否かを判断した結果、前記データ取得部が同一の取得対象データ機器からデータを取得中である場合に、
前記先行データ取得要求に基づくデータ取得処理の優先度を高くすることを特徴とする請求項1〜3のいずれかに記載のデータ処理システム。
【請求項5】
複数のサービスについて各サービスと各サービスの対象物である1つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している1つ以上のデータ機器とを対応付ける関係情報であって、2つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶するコンピュータが、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力ステップと、
データ機器からデータを取得するデータ取得ステップと、
前記データ取得ステップによるデータ取得状況を監視する監視ステップと、
前記入力ステップによりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得ステップが前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるか否かを前記監視ステップの監視結果により判断し、前記データ取得ステップが同一の取得対象データ機器からデータを取得中でなければ、前記入力データ取得要求に基づき前記データ取得ステップに前記取得対象データ機器からのデータ取得を指示し、前記データ取得ステップが同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得ステップに行わないデータ取得制御ステップとを有することを特徴とするデータ処理方法。
【請求項6】
複数のサービスについて各サービスと各サービスの対象物である1つ以上のサービス対象物とを対応付けるとともに、各サービス対象物と各サービス対象物のデータを管理している1つ以上のデータ機器とを対応付ける関係情報であって、2つ以上のサービス対象物に対して同一のデータ機器が対応付けられている場合がある関係情報を記憶するコンピュータに、
要求元のサービスと当該サービスのいずれかのサービス対象物とが示され、当該サービス対象物のデータの取得を要求するデータ取得要求を入力する入力ステップと、
データ機器からデータを取得するデータ取得ステップと、
前記データ取得ステップによるデータ取得状況を監視する監視ステップと、
前記入力ステップによりデータ取得要求が入力される度に、前記関係情報を参照して、入力された入力データ取得要求に示されているサービス対象物に対応するデータ機器を取得対象データ機器として特定し、前記入力データ取得要求に先行する先行データ取得要求に基づき前記データ取得ステップが前記入力データ取得要求と同一の取得対象データ機器からデータを取得中であるか否かを前記監視ステップの監視結果により判断し、前記データ取得ステップが同一の取得対象データ機器からデータを取得中でなければ、前記入力データ取得要求に基づき前記データ取得ステップに前記取得対象データ機器からのデータ取得を指示し、前記データ取得ステップが同一の取得対象データ機器からデータを取得中であれば、前記入力データ取得要求と前記先行データ取得要求との間でサービス対象物が異なっていても、更なるデータ取得の指示を前記データ取得ステップに行わないデータ取得制御ステップとを実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−25321(P2013−25321A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−155985(P2011−155985)
【出願日】平成23年7月14日(2011.7.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【出願人】(000236056)三菱電機ビルテクノサービス株式会社 (1,792)