(57)【要約】【課題】マスタ計算機の負荷を上げることなく、スレーブ計算機側の負荷を低減させたデータ一致化が行える計算機及びそのデータ一致化方法を提供する。【解決手段】マスタ計算機１１から送信されるデータを受信して処理するデータ受信部１２４と、データ受信部１２４で受信したデータを記憶する受信用テーブル１２３と、受信用テーブル１２３からデータを読出してスレーブデータベース１２１へ更新データを記憶するスレーブデータベース変更部１２２を備え、データ受信部１２４は、データの種類，レコード番号に基づいてデータの更新回数を検索し、検索された更新回数が設定された閾値より大きい場合は、保留時間を設定して保留状態とし、保留時間経過後又は参照要求によりデータの更新を行う。【選択図】  図１
2004355297.tif 000002
【特許請求の範囲】
【請求項１】
マスタ計算機から送信されるデータを受信して処理するデータ受信部と、該データ受信部で受信したデータを記憶する受信テーブルと、該受信テーブルからデータを読出してスレーブデータベースへ更新データを記憶するスレーブデータベース変更部を備え、前記データ受信部は、データの種類，レコード番号に基づいてデータの更新回数を検索し、検索された更新回数が設定された閾値より大きい場合は、保留時間を設定して保留状態とし、保留時間経過後又は参照要求によりデータの更新を行う計算機。
【請求項２】
前記データ受信部が保留対象のデータの種類，保留基準となる閾値，保留する時間を格納した更新条件設定用テーブルを備えるものであって、該更新条件設定用テーブルを参照することにより前記閾値及び保留時間を取得する請求項１に記載の計算機。
【請求項３】
マスタ計算機が更新履歴データを記録した送信用テーブルからデータを読出してデータ送信部からスレーブ計算機に送信し、スレーブ計算機は、送信されたデータを受信用テーブルに記憶させ、該受信用テーブルからデータを読出してデータの種類，レコード番号に基づいてデータの更新回数を検索し、検索された更新回数が設定された閾値より大きい場合は、保留時間を設定して保留状態とし、保留時間経過後又は参照要求により最新のデータに更新を行い、スレーブデータベース変更部によりスレーブデータベースへ更新されたデータを記憶する計算機のデータ一致化方法。
【請求項４】
前記更新回数が、単位時間あたりの受信テーブルへの平均登録回数で定義されたものである請求項３に記載の計算機のデータ一致化方法。
【請求項５】
前記更新条件設定用テーブルに格納した保留基準となる閾値，保留する時間は、システム稼動前または稼動中に手動で設定変更が行われる、又は、前記データ受信部でシステム稼動中の更新データの属性や傾向を分析して、自動的に設定変更を行うものである請求項２に記載の計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、設備や機器の現在状態を格納している分散データベース（以下、データベースをＤＢと略す）上のマスタＤＢとスレーブＤＢ間でのデータ一致化に好適な計算機及びそのデータ一致化方法に関する。
【０００２】
【従来の技術】
従来の技術としては、
【特許文献１】に記載のように、更新履歴により、独自で設定した有効時間内に一致化したデータの再利用によりＣＰＵ負荷の低減や一致化するデータに対して優先レベルを付加して処理を切り分けるようにしたネットワークシステムの高速処理方法がある。又、
【特許文献２】に記載のように、一致化キューに優先度を付加させることにより、余分な一致化処理の削減を行った情報バックアップシステムがある。
【０００３】
又、例えば電力システム用オンラインデータベースシステムでは、多重状変等で１秒間に数百件のデータ更新処理が発生すると、データ更新回数分マスタＤＢよりスレーブＤＢに更新された全データを送信するため、スレーブＤＢはマスタＤＢと同一回数分，更新する処理を行っていた。
【０００４】
【特許文献１】
特開２００１−０８４１９９号公報
【特許文献２】
特開２０００−０８２００６号公報
【０００５】
【発明が解決しようとする課題】
【特許文献１】に記載の従来の技術は、一致化するデータに対し優先レベルは固定的に付加されており、固定的な優先レベルで処理されるため余分な処理が行われ、マスタ計算機側の負荷を上げないで高速化することについては配慮されていないものであった。又、
【特許文献２】に記載の従来の技術は、マスタ計算機側の負荷が増大し、リソースの使用率が増大するという問題がある。
【０００６】
又、例えば電力システム用オンラインデータベースシステムでは、スレーブ計算機で必要なデータは設備や機器の現在の状態であり、多重状変等で１秒間に数百件のデータ更新処理によって、スレーブＤＢで発生するマスタＤＢと同一回数分の更新処理は、更新されたデータ項目全てが異なる場合を除き、スレーブＤＢへの余分なアクセスにより、スレーブ計算機に負荷をかけていた。この結果、スレーブ計算機側のマンマシン応答速度の低下を招き、電力監視制御業務を滞らせる可能性があるという問題があった。
【０００７】
本発明の目的は、マスタ計算機の負荷を上げることなく、スレーブ計算機側の負荷を低減させたデータ一致化が行える計算機及びそのデータ一致化方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明は、マスタ計算機側では、更新履歴データを登録する送信用テーブルからデータを取出してデータ送信部によりスレーブ計算機に送信し、データを受信したスレーブ計算機では、受信データを受信テーブルに記憶し、受信テーブルからデータを取出してスレーブＤＢへ更新されたデータを記憶するスレーブＤＢ更新部を有し、設定されたスレーブＤＢ更新条件に基づき、受信テーブルに記憶されたデータを設定された時間保留状態として、保留時間経過後又は参照要求が発生した場合は、最新のデータをスレーブＤＢへ記憶させるようにして、スレーブＤＢへの余分なアクセスを低減させて、マスタ計算機の負荷をあげることなく、スレーブ計算機の負荷を低減させたものである。
【０００９】
【発明の実施の形態】
以下、本発明の一実施例を図１から図１２により説明する。図１は、本実施例に係る計算機システムの構成図である。
【００１０】
図１に示すように、マスタ計算機１１は、設備や機器の状態を格納している分散データベースであるマスタＤＢ１１１と、マスタＤＢを更新するＤＢ更新処理部１１２と、更新履歴データを登録する送信用テーブル１１３と、送信用テーブル１１３からデータを取出しスレーブ側に送信するデータ送信部１１４を備えている。
【００１１】
マスタ計算機１１とネットワーク１４で接続されているスレーブ計算機１２は、マスタ計算機１１から送信されるデータを受信して処理するデータ受信部１２４と、データ受信部１２４で受信したデータを記憶する受信用テーブル１２３と、スレーブＤＢ１２１と、受信テーブル１２３からデータを取出しスレーブＤＢ１２１へ更新データを記憶するスレーブＤＢ更新部１２２を備えている。
【００１２】
データ受信部１２４は、マスタ計算機１１より送信されたデータのデータ受信，受信用テーブル１２３への登録及び受信用テーブル１２３の読込みを行う処理起動部１２５と、受信用テーブル１２３の読込み及びスレーブＤＢ１２１の更新を行う条件判定処理部１２６と、スレーブＤＢ１２１の更新条件設定用テーブル１２７と、更新回数カウント用テーブル１２８と、更新回数カウント用テーブル１２８の参照，登録処理部１２９を有している。
【００１３】
このように構成された計算機システムでのデータ一致化方法を以下に説明する。図１に示すＤＢ更新要求１３が発生すると、ＤＢ更新処理部１１２により、マスタＤＢ１１１の更新が行われる。
【００１４】
図２は、マスタＤＢ更新処理の流れ図である。マスタ側データ更新処理では、まずマスタＤＢ１１１を更新（Ｓ２１）し、更新されたデータが一致化対象データか否かを判別（Ｓ２２）する。一致化対象データならば、送信用テーブル１１３に更新されたデータを登録し、データ送信部１１４に対し送信処理起動要求を実行（Ｓ２３）する。データ送信部１１４の送信処理が起動されると、送信用テーブル１１３に登録されている更新されたデータをスレーブ計算機１２のデータ受信部１２４に送信（Ｓ２４）する。
【００１５】
一方、Ｓ２２で一致化対象データでないと判別されたデータは、送信用テーブル１１３に登録されないで処理を終了する。
【００１６】
このようにして、スレーブ計算機１２のデータ受信部１２４に送信されたデータは、図３に示すスレーブ側データ受信処理のフローで処理される。
【００１７】
まず、データ受信部１２４で更新データを受信（Ｓ３１）し、処理起動部１２５により受信用テーブル１２３へ受信したデータを登録（Ｓ３２）する。受信用テーブル１２３に登録されたデータは、更新条件判定処理部１２６により受信用テーブル１２３の読込み及びスレーブＤＢ１２１の更新条件判定処理部１２６の起動要求を実行（Ｓ３３）する。
【００１８】
図４に受信したデータを登録するために使用される受信用テーブル１２３の構造を示す。受信用テーブル１２３には、データの種類を示す欄４０１と更新されたデータのレコード番号を示す欄４０２が設けられており、データの種類とレコード番号が格納されている。また、受信用テーブル１２３にはデータ格納ポインタ４０３，読込み開始位置を示すポインタ４０４，登録されたデータの最終位置を示すポインタ４０５が記録されている。
【００１９】
図５にスレーブＤＢ１２１の更新処理のフローを示す。更新条件判定処理部１２６が起動されると、受信用テーブル１２３に登録されたデータ数分だけループ（Ｓ５１）して受信用テーブル１２３より登録されたデータを取得（Ｓ５２）し、取得したデータを更新回数カウント用テーブル１２８へ登録処理（Ｓ５３）する。
【００２０】
ここで、更新回数カウント用テーブル１２８の構造を図６に示す。更新回数カウント用テーブル１２８には、データの種類６１，レコード番号６２，更新回数６３，受信用テーブルポインタ６４，保留状態６５が格納されている。
【００２１】
図７は、Ｓ５３の更新回数カウント用テーブル１２８への登録処理の詳細を示すフローである。受信用テーブル１２３よりデータを取得すると、取得したデータの種類，レコード番号に基づいて更新回数カウント用テーブル１２８を検索する。更新回数カウント用テーブル１２８に既に登録されていれば保留状態６５をチェックして、図７に示すように、保留対象のデータであるか否かを判別（Ｓ７１）する。
【００２２】
保留対象のデータの場合は、更新回数カウント用テーブル１２８に登録されているデータが最新のデータか否かを受信用テーブルポインタ６４とデータ格納ポインタ４０３との比較により判別（Ｓ７２）する。最新のデータでない場合は、受信用テーブル１２３に登録されたデータを、更新回数カウント用テーブル１２８に登録（Ｓ７３）する。新たに登録されたデータ、既に登録されているデータに対して、受信用テーブルポインタの値を最新のものに更新（Ｓ７４）し、登録したデータの更新回数を１回加算（Ｓ７５）する。この更新回数と更新条件設定用テーブル１２７より取得した閾値とを比較（Ｓ７６）し、更新回数が閾値よりも大きい場合は、登録されたデータの保留状態６５を保留中に設定（Ｓ７７）する。
【００２３】
ここで、使用される更新条件設定用テーブル１２７の構造を図８に示す。更新条件設定用テーブル１２７は、保留対象データの種類８１，保留基準となる閾値８２，保留する時間８３，前回に更新条件設定用テーブル１２７をクリアした時刻８４が格納されている。
【００２４】
このようにして、図５に示す更新回数カウント用テーブル１２８へ登録処理（Ｓ５３）を行う。受信用テーブル１２３に登録されたデータ数分のループが終了すると、更新回数カウント用テーブル１２８に登録されたデータ数を取得（Ｓ５４）し、登録されたデータ数分のループ（Ｓ５５）を行う。更新回数カウント用テーブル１２８より登録されているデータの状態及び受信用テーブルポインタを取得（Ｓ５６）し、該当するデータの状態を判別（Ｓ５７）する。
【００２５】
データの状態が保留中に設定されている場合は、保留タイマー処理に起動要求（Ｓ５８）を行う。保留中の状態に設定されていない場合は、受信用テーブルポインタより、マスタＤＢ１１１にて最後に更新されたデータを取得し、スレーブＤＢ１２１を更新（Ｓ５９）する。登録されたデータ数分の処理が終了すると、更新回数カウント用テーブル１２８をクリア処理（Ｓ５１０）してスレーブＤＢ更新処理を終了する。
【００２６】
このように、データの更新回数がデータの種類別に設定された閾値を超えると、保留時間を設定して保留状態としてデータの更新を要求があるまで行わないようにしているので、マスタ計算機側の負荷は上がることがなく、スレーブ計算機の負荷を低減することができる。又、スレーブＤＢ更新条件設定用テーブル１２７にデータの種類毎の保留基準となる閾値，保留する時間を格納して、保留状態を設定しているので、更新回数に準じたデータの保留状態の設定が行えるので、更新する回数をより低減できる。
【００２７】
又、更新条件設定用テーブル１２７の保留対象データの種類８１，保留基準となる閾値８２，保留する時間８３の設定値は、システム稼動前または稼動中に手動で設定変更ができるようになっている。又、データ受信部１２４でシステム稼動中の更新データの属性や傾向を分析して、自動的に設定変更を行うようにすることができ、このようにすることにより、マスタ計算機の負荷をあげることなく、スレーブ計算機の負荷を低減させて、設備の状変ピーク時の状況に応じてマスタＤＢとスレーブＤＢの一致化が可能となる。
【００２８】
図９は、Ｓ５８で保留タイマー処理に起動要求があった場合に、設定された周期で動作する保留タイマーの処理フローを示す図である。この保留タイマー処理は保留中のデータが存在する限り動作する。この処理は起動要求が発生するまで起動要求待ち状態（Ｓ９０１）にあり、起動要求が発生すると、更新回数カウント用テーブル１２８より「保留状態」であるレコードを取出（Ｓ９０２）し、保留状態を持つデータの有無を判別（Ｓ９０３）する。保留状態のデータが無い場合は起動要求待ち状態になり、保留状態のデータがある場合は、プログラム内バッファに「残り保留時間データ」登録済みか否かを判別（Ｓ９０４）する。未登録の場合は、プログラム内バッファに「残り保留時間データ」を登録（Ｓ９０５）し、残り保留時間をデータ反映保留時間に設定（Ｓ９０６）する。
【００２９】
次に、プログラム内バッファに登録されている「残り保留時間データ」数分について以下のループ処理を実行（Ｓ９０７）する。まず、残り保留時間をチェック（Ｓ９０８）し、残り保留時間が０より大きい場合は、残り保留時間からプログラムのスリープ時間分引いた減算処理（Ｓ９０９）を行う。残り保留時間が０以下の場合は、登録されたデータのポインタより最後に受信したデータを取得（Ｓ９１０）し、取得したデータにてスレーブＤＢ１２１の更新を行う（Ｓ９１１）。続いて、更新回数カウント用テーブル１２８より該当する保留状態のデータを削除（Ｓ９１２）し、プログラム内バッファから「残り保留時間データ」を削除（Ｓ９１３）する。プログラムバッファ内に登録された全データの処理が終了すると、任意の時間スリープ（Ｓ９１４）して、Ｓ９０２に戻る。
【００３０】
図１０は、更新回数カウント用テーブル１２８のクリア処理のフローを示す。まず、スレーブＤＢ更新条件設定用テーブル１２７に登録されているデータ数分のループ（Ｓ１０１）を行い、前回クリアした時刻を取得（Ｓ１０２）し、取得した時刻とデータ保留時間を加算した値と現在時刻を比較（Ｓ１０３）し、加算した値が現在時刻より小さい場合、種類別に更新回数カウント用テーブル１２８内のデータをクリア（Ｓ１０４）し、前回クリアした時刻を現在時刻にて設定（Ｓ１０５）する。
【００３１】
図１１は、保留中のデータに対して参照要求が発生した場合の処理フローを示す。まず、更新回数カウント用テーブル１２８から該当するデータ状態を取得（Ｓ１１１）し、該当するレコードが保留中であるかどうかを判別（Ｓ１１２）する。保留中の場合は、登録された受信用テーブルポインタより、マスタＤＢ１１１で最後に更新されたデータを取得（Ｓ１１３）し、スレーブＤＢ１２１を更新（Ｓ１１４）する。また更新回数カウント用テーブル１２８から該当するデータを削除（Ｓ１１５）し、保留タイマー処理上からも該当するデータを削除（Ｓ１１６）した後、スレーブＤＢ１２１を参照（Ｓ１１７）する。
【００３２】
このように、データの参照要求が発生した段階で、最後に更新されたデータを取得することができるので、スレーブ計算機の負荷を低減できる。
【００３３】
ここで、更新回数を単位時間あたりの受信用テーブルへの平均登録回数を定義して、この平均登録回数が閾値を超えている状態をデータ登録ピーク状態と判断し、スレーブＤＢへの更新を保留するようにしてもよい。又、データ登録ピーク状態が終了したと判断された時、あるいはユーザからの参照要求が発生した時に、保留しているデータをスレーブＤＢに更新するようにしてもよい。
【００３４】
図１２は、保留対象のデータが自動登録される場合の処理フローを示す。例えば、状変が発生したか否かを判別（Ｓ１２１）し、状変が発生したことを検知した場合は、状変が発生したＤＢ全体，スキーマ，レコード、またはデータ項目を取得（Ｓ１２２）し、データマイニングツールにより、関連データを保留対象データに自動的に設定（Ｓ１２３）する。これにより、状変の発生時のスレーブ計算機のデータ更新回数を低減でき、負荷を低減させたデータ一致化を行うことができる。
【００３５】
【発明の効果】
本発明によれば、データの種類別に設定したスレーブＤＢ更新条件に基づき、受信用テーブルに登録されるデータをスレーブＤＢに記録することができ、スレーブＤＢのデータ更新回数を削減することで、マスタ計算機の負荷をあげることなく、スレーブ計算機の負荷を低減させてデータ一致化を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施例であるコンピュータシステムの構成図である。
【図２】本実施例のマスタ側でのデータ更新処理を示した流れ図である。
【図３】本実施例のスレーブ側でのデータ受信処理を示した流れ図である。
【図４】本実施例の受信用テーブルの構成を示した図である。
【図５】本実施例のスレーブＤＢ更新処理を示した流れ図である。
【図６】本実施例の更新回数カウント用テーブルの構成を示した図である。
【図７】本実施例の更新回数カウント用テーブルの登録処理を示した流れ図である。
【図８】本実施例のスレーブＤＢ更新条件設定用テーブルの構成を示した図である。
【図９】本実施例の保留タイマー処理を示した流れ図である。
【図１０】本実施例の更新回数カウント用テーブルのクリア処理を示した流れ図である。
【図１１】本実施例のスレーブＤＢ参照処理を示した流れ図である。
【図１２】本実施例の保留対象データの自動登録処理を示した流れ図である。
【符号の説明】
１１…マスタ計算機、１２…スレーブ計算機、１３…データベース更新要求、１１１…マスタＤＢ、１１２…ＤＢ更新処理部、１１３…送信用テーブル、１１４…データ送信部、１２１…スレーブＤＢ、１２２…スレーブＤＢ更新部、１２３…受信用テーブル、１２４…データ受信部、１２５…処理起動部、１２６…更新条件判定処理部、１２７…更新条件設定用テーブル、１２８…更新回数カウント用テーブル、１２９…参照，登録処理部。
【図１】
2004355297.tif 000003
【図２】
2004355297.tif 000004
【図３】
2004355297.tif 000005
【図４】
2004355297.tif 000006
【図５】
2004355297.tif 000007
【図６】
2004355297.tif 000008
【図７】
2004355297.tif 000009
【図８】
2004355297.tif 000010
【図９】
2004355297.tif 000011
【図１０】
2004355297.tif 000012
【図１１】
2004355297.tif 000013
【図１２】
2004355297.tif 000014