(57)【要約】【課題】記憶容量を圧迫することなく、非同期でデータベース間の反映ができるようにする。【解決手段】追加および変更を含む更新処理がなされた時刻情報とともにデータが管理されている第１データベース１０１と、第１データベース１０１が反映される第２データベース１０２と、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える第１データベース１０１が管理するデータを、第２データベースに反映する反映部１０３とを備える。【選択図】  図１
2012093817.tif 000002
【特許請求の範囲】
【請求項１】
追加および変更を含む更新処理がなされた時刻情報とともにデータが管理されているマスタとしての第１データベースと、
前記第１データベースが反映されるスレーブとしての第２データベースと、
直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える前記第１データベースが管理するデータを、前記第２データベースに反映する反映手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置において、
前記第１データベースの異常検出により、前記第２データベースをマスタとし、前記第１データベースの異常検出の後の前記第１データベースの正常化検出により、前記第１データベースをマスタとする機器管理手段と、
この機器管理手段による前記第１データベースの正常検出により、前記異常検出の時点より前記正常化検出の時点までの期間の時刻情報を備える前記第２データベースが管理するデータを前記第１データベースに反映する復旧処理手段と
を備えることを特徴とするデータ処理装置。
【請求項３】
反映時刻を判断する第１ステップと、
反映時刻になると、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える前記第１データベースが管理するデータを、前記第２データベースに反映する第２ステップと
を少なくとも備えることを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期でデータベース間の反映を行うデータ処理装置および方法に関するものである。
【背景技術】
【０００２】
データベースの信頼性を向上させる技術の１つに、同じデータベースを複数備える冗長システムがある。このようなシステムでは、各々のデータベースの内容を一致させることが重要となる。各データベースの内容を一致させる方法として、データの追加・変更・削除などの更新が行われるときに、複数のデータベースに対して同時に更新処理を行う同期処理がある。
【０００３】
また、利用者からの更新処理は主となるデータベースに対して行い、設定されている時間後（時間毎）に、主となるデータベースの内容を、他のデータベースに反映させることで各々のデータベースを一致させる非同期処理もある（特許文献１参照）。この非同期処理では、受け付けた更新処理の情報（更新情報）を保持しておき、設定されている時間が経過した後に、保持してある更新情報を用い、主データベースになされた更新を他のデータベースに反映させている。
【０００４】
ここで、同期処理では、データベースに対する更新を、複数のデータベースに対して同時に反映させるため、更新に時間がかかるという問題がある。例えば、同期処理では、主データベースに対する更新がなされる毎に、同時に副データベースに対しても同じ更新がなされる（反映される）ことになる。このため、多数の更新が短時間に発生すると、更新処理が追いつかなくなる場合がある。
【０００５】
上述した同期処理に対し、非同期処理では、例えば副データベースへの更新の反映を遅延させて処理しているので、主データベースへの更新のときの処理時間を短縮できるようになる。非同期処理では、例えば、一定期間に発生した主データベースへの多数の更新処理を、一括して副データベースに反映させることができるため、副データベースの更新処理の効率を向上させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３５５２９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した非同期処理では、更新情報を保持しておく必要があり、記憶容量を圧迫するという問題がある。更新の数に対応して更新情報も増加するため、短時間に非常に多くの更新が発生すると、上述した問題はより顕著となる。
【０００８】
本発明は、以上のような問題点を解消するためになされたものであり、記憶容量を圧迫することなく、非同期でデータベース間の反映ができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデータ処理装置は、追加および変更を含む更新処理がなされた時刻情報とともにデータが管理されているマスタとしての第１データベースと、第１データベースが反映されるスレーブとしての第２データベースと、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える第１データベースが管理するデータを、第２データベースに反映する反映手段とを備える。
【００１０】
上記データ処理装置において、第１データベースの異常検出により、第２データベースをマスタとし、第１データベースの異常検出の後の第１データベースの正常化検出により、第１データベースをマスタとする機器管理手段と、この機器管理手段による第１データベースの正常検出により、異常検出の時点より正常化検出の時点までの期間の時刻情報を備える第２データベースが管理するデータを第１データベースに反映する復旧処理手段とを備える。
【００１１】
本発明に係るデータ処理方法は、反映時刻を判断する第１ステップと、反映時刻になると、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える第１データベースが管理するデータを、第２データベースに反映する第２ステップとを備える。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える第１データベースが管理するデータを、第２データベースに反映するようにしたので、記憶容量を圧迫することなく、非同期でデータベース間の反映ができるという優れた効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１におけるデータ処理装置の構成を示す構成図である。
【図２】図２は、本発明の実施の形態１におけるデータ処理装置の動作（データ処理方法）について説明するフローチャートである。
【図３】図３は、本発明の実施の形態２におけるデータ処理装置の構成を示す構成図である。
【図４】図４は、マスタデータベース３０１の構成例を示す構成図である。
【図５】図５は、機器管理部３０６が有する機器管理情報の構成例を示す構成図である。
【図６】図６は、本発明の実施の形態２におけるデータ処理装置の動作（データ処理方法）について説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図を参照して説明する。
【００１５】
［実施の形態１］
はじめに、本発明の実施の形態１について説明する。図１は、本発明の実施の形態１におけるデータ処理装置の構成を示す構成図である。この装置は、追加および変更を含む更新処理がなされた時刻情報とともにデータが管理されている第１データベース１０１と、第１データベース１０１が反映される第２データベース１０２と、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える第１データベース１０１が管理するデータを、第２データベースに反映する反映部１０３とを備える。
【００１６】
以下、本実施の形態におけるデータ処理装置の動作（データ処理方法）について、図２のフローチャートを用いて説明する。まず、ステップＳ２０１で、反映部１０３が、設定されている反映時刻になったことを判断する。設定されている反映時刻になると、反映部１０３は、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備える第１データベース１０１が管理するデータを確認する（ステップＳ２０２）。この確認により対象となるデータがあると、反映部１０３は、対象のデータを第２データベース１０２に反映する（ステップＳ２０３）。
【００１７】
上述した本実施の形態によれば、第１データベース１０１に格納（管理）されているデータの中で、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を持つものを第２データベース１０２に反映させているので、第１データベース１０１が受け付けた更新処理の情報（更新情報）を保持しておく必要がない。このため、更新情報の保持による記憶容量の圧迫が抑制できるようになる。
【００１８】
［実施の形態２］
次に、本発明の実施の形態２について説明する。図３は、本発明の実施の形態２におけるデータ処理装置の構成を示す構成図である。この装置は、まず、追加および変更を含む更新処理がなされた時刻情報とともにデータが管理されているマスタデータベース（第１データベース）３０１と、マスタデータベース３０１が反映される複数のスレーブデータベース（第２データベース）３０２とを備える。なお、図３では、１つのスレーブデータベース３０２を示している。
【００１９】
また、このデータ処理装置は、データベースの反映処理の時期（時間間隔）が設定されている時期管理部３０３と、マスタの切り替えが行われた時刻（日時）が記憶される履歴管理部３０４と、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備えるマスタデータベース３０１が管理するデータを、第２データベースに反映する反映部３０５とを備える。また、送出された確認信号に対する返信や生存信号の受信により各データベースの状態を確認し、また、マスタの切り替えを行う機器管理部３０６と、機器管理部３０６により正常化が確認されたマスタデータベース３０１の復旧を行う復旧処理部３０７を備える。
【００２０】
機器管理部３０６は、マスタデータベース３０１に異常が検出されると、いずれかのスレーブデータベース３０２を、暫定的にマスタとするマスタ切り替えを行う。また、機器管理部３０６は、上述したマスタ切り替えを行うと、この切り替えを行った時刻を，履歴管理部３０４に記憶する。また、機器管理部３０６により異常が検出されたマスタデータベース３０１の正常化が検出されると、復旧処理部３０７が、マスタ切り替え中に発生した更新処理結果を、マスタデータベース３０１に反映させて復旧させる。また、機器管理部３０６は、暫定的に切り替えていた状態を復元させ、マスタデータベース３０１をマスタとすることもできる。
【００２１】
ここで、マスタデータベース３０１には、例えば、図４に示すような、データ名称，データ，収集日時（更新処理がなされた時刻情報）を項目とした複数のレコード（データ）が記憶されている。このレコードは、データ名称で識別できる建築物内の場所で測定された温度をデータとし、また、温度が測定されて記憶された日付および時刻を収集日時としている。本例では、マスタデータベース３０１には、時系列データからなるデータベースが格納されている。このように構成されているデータが、スレーブデータベース３０２に反映されて記憶されている。
【００２２】
また、機器管理部３０６は、例えば、図５に示すような、機器管理情報を有している。この機器管理情報は、管理対象となるデータベースを識別するための「ＩＤ」、データベースがマスタかスレーブかを識別する「種別」、各データベースが正常か異常かを識別する「状態」の各項目から構成されている。「種別」では、「１」がマスタであることを示している。また、「状態」では、「０」が正常であることを示し、「１」が異常であることを示している。
【００２３】
以下、本実施の形態２におけるデータ処理装置の動作（データ処理方法）について、図６のフローチャートを用いて説明する。
【００２４】
まず、機器管理部３０６が、各データベースの状態を確認する時刻になると（ステップＳ６０１）、送出された確認信号に対する各データベースからの返信を確認する（ステップＳ６０２）。この時刻は、時期管理部３０３に設定されている。例えば、機器管理部３０６には、各データベースが構築されているコンピュータ機器のネットワーク上のアドレスが設定されており、機器管理部３０６は、このアドレスに対して確認信号を送出する。この確認信号に対する返信がない場合、データベースに異常が発生しているものと判断できる。
【００２５】
確認信号に対する返信を受け付けることでマスタデータベース３０１に異常が発生していないことを確認すると（ステップＳ６０３のｙ）、反映部３０５が、時期管理部３０３に設定されている反映時刻になったことを判断する（ステップＳ６０４）。設定されている反映時刻になると、反映部３０５は、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備えるマスタデータベース３０１が管理するデータを確認する（ステップＳ６０５）。この確認により対象となるデータがあると、反映部３０５は、対象のデータをスレーブデータベース３０２に反映する（ステップＳ６０６）。
【００２６】
次に、反映部３０５は、上述したスレーブデータベース３０２への反映が正常に行われたことを確認すると（ステップＳ６０７のｙ）、履歴管理部３０４に記憶されている反映処理時刻を更新する（ステップＳ６０８）。
【００２７】
一方、確認信号に対する返信が受け付けられない場合（ステップＳ６０３のｎ）、機器管理部３０６は、スレーブデータベース３０２を暫定的にマスタとするマスタ切り替えを行う（ステップＳ６１１）。次に、機器管理部３０６は、上述したマスタ切り替えを行うと、この切り替えを行った時刻を，履歴管理部３０４に記憶して更新する（ステップＳ６１２）。
【００２８】
次に、反映部３０５が、時期管理部３０３に設定されている反映時刻になったことを判断する（ステップＳ６１３）。設定されている反映時刻になると、反映部３０５は、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を備えるスレーブデータベース３０２が管理するデータを確認する（ステップＳ６１４）。このスレーブデータベース３０２は、機器管理部３０６により暫定的にマスタとされているデータベースである。この確認により対象となるデータがあると、反映部３０５は、対象のデータを、他のスレーブデータベース３０２に反映する（ステップＳ６１５）。
【００２９】
次に、反映部３０５は、上述した他のスレーブデータベース３０２への反映が正常に行われたことを確認すると（ステップＳ６１６のｙ）、履歴管理部３０４に記憶されている反映処理時刻を更新する（ステップＳ６１７）。次に、機器管理部３０６が、マスタデータベース３０１の正常化を確認する（ステップＳ６１８）。例えば、機器管理部３０６は、送出された確認信号に対するマスタデータベース３０１からの返信確認により、マスタデータベース３０１が正常化したことを確認する。ここで、正常化が確認できない場合（ステップＳ６１８のｎ）、ステップＳ６１３に戻る。
【００３０】
一方、マスタデータベース３０１の正常化が確認されると（ステップＳ６１８のｙ）、復旧処理部３０７は、履歴管理部３０４に記憶されているマスタ切り替えの時点から現時点までの期間の時刻情報を備えるスレーブデータベース３０２が管理するデータを、マスタデータベース３０１に反映する（ステップＳ６１９）。このスレーブデータベース３０２は、例えば、暫定的にマスタとされていたデータベースである。このようにマスタデータベース３０１のリカバリを行った後、機器管理部３０６は、マスタデータベース３０１をマスタに戻すマスタ切り替えを行う（ステップＳ６２０）。この後、ステップＳ６０１に戻り、前述した各ステップを繰り返す。マスタ切り替えを行わず、暫定的にマスタとしていたデータベースをマスタ、復旧したデータベースを副データベースとしてステップＳ６０１に戻り、前述した各ステップを繰り返してもよい。
【００３１】
上述した実施の形態によれば、マスタデータベース３０１に格納（管理）されているデータの中で、直前に反映処理が行われた時点から今回の反映処理までの期間の時刻情報を持つものをスレーブデータベース３０２に反映させているので、マスタデータベース３０１が受け付けた更新処理の情報（更新情報）を保持しておく必要がない。このため、更新情報の保持による記憶容量の圧迫が抑制できるようになる。
【００３２】
また、上述した実施の形態によれば、マスタデータベース３０１が復旧した後のリカバリにおいて、例えば、リカバリ対象のデータの整合性を検証するなどの複雑な処理をすることがなく、多くの処理時間を必要としない。
【００３３】
ここで、データ処理装置は、ＣＰＵと主記憶装置と外部記憶装置とネットワーク接続装置などを備えたコンピュータ機器であり、主記憶装置に展開されたプログラムによりＣＰＵが動作することで、上述した各機能が実現される。また、各機能は、複数のコンピュータ機器に分散させるようにしてもよい。
【００３４】
なお、本発明は以上に説明した実施の形態に限定されるものではなく、本発明の技術的思想内で、当分野において通常の知識を有する者により、多くの変形および組み合わせが実施可能であることは明白である。
【符号の説明】
【００３５】
１０１…第１データベース、１０２…第２データベース、１０３…反映部。
【図１】
2012093817.tif 000003
【図２】
2012093817.tif 000004
【図３】
2012093817.tif 000005
【図４】
2012093817.tif 000006
【図５】
2012093817.tif 000007
【図６】
2012093817.tif 000008