(57)【要約】【課題】同期式、非同期式のデータベース整合方式は周期的にデータベース更新が行われる制御システムでは以下の問題がある。（１）同期式、非同期式では、データ整合性確保のための処理時間がかかる。（２）非同期式では、データベースサーバーが更新イベントを受信できなかった場合、次の更新イベントでデータベース変更内容を更新するが、次の更新イベントの受信まで未整合なデータベースを使う問題がある。【解決手段】周期的にデータベース更新が行われる整合方式に関し、更新元は、更新有無に関係なく、データベースを周期的に他のデータベースサーバーに配信し、データベースを受け取るデータベースサーバーは、受け取ったデータベースの有効期限を監視し、有効期限の過ぎたデータベースを使用しない。【選択図】図２
2007193560.tif 000002
【特許請求の範囲】
【請求項１】
制御周期の保証が要求されるシステムにおいて、
分散された複数のデータベース間で、データベース管理元装置がデータベースをチャンネル化し、そのチャンネル毎にデータベースを周期的に配布することを特徴とする分散データベースシステム。
【請求項２】
請求項１記載の分散データベースシステムにおいて、
前記データベース管理元装置が、配布するデータベースに、自装置が管理するチャンネルのチャンネル番号、データベースのチャンネル毎の有効期限を表す値を付加することを特徴とする分散データベースシステム。
【請求項３】
請求項１または請求項２記載の分散データベースシステムにおいて、
前記データベース管理元装置が配布するデータベースを受け取るデータベース管理装置において、受け取るデータベースをチャンネル毎にデータベースに記憶すると共に、データベース有効期限値を設定する手段を備えていることを特徴とする分散データベースシステム。
【請求項４】
請求項１ないし請求項３のいずれかに記載の分散データベースシステムにおいて、
前記データベース管理装置がチャンネル毎に設定されたデータベース有効期限値を周期的に減算し、カウンタ「０」となったデータベースを無効とし、使用しないことを特徴とする分散データベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御周期の保証が要求されるシステムに関し、分散された複数のデータベース間で、各々のデータベース複製および自データベースを使用して制御を行う分散データベースシステムに関する。
【背景技術】
【０００２】
従来の分散データベースシステムのデータベース間の整合方式としては、同期式と非同期式に大別することができる。
【０００３】
同期式は、データベース管理元装置が、分散しているデータベースを記憶する装置に対して予め更新可能かを調査し、分散しているデータベース装置すべてから更新ＯＫを確認後、データ更新を行う。
【０００４】
非同期式では、例えば、特許文献１に、分散された複数のデータベース間で、自データベースの更新回数を記録し、他データベース管理装置へ配布するとともに、受信した他管理装置からのデータベースは、自データベースに記憶する発信元毎の更新回数を比較し、更新回数と一致しない場合には、差分のデータを要求し、データベース整合を行うデータベース整合方式が開示されている。
【特許文献１】特開２０００−１０８４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のデータベース管理方式には、以下のような問題がある。
（１）同期式では、すべてのデータベース管理装置から更新ＯＫを確認するため、確認応答が遅い場合、あるいは確認が取れない場合、データベース管理元装置では、再送を行うタイムアウト値まで待たされてしまう。つまり、データ整合手段に要する時間で、制御周期が遅れる問題があった。また、（２）非同期式では、ネットワーク等の異常により、データベース受信装置が更新イベントを受信できなかった場合、次の更新イベントで受信できなかったデータベース変更内容を更新する。しかし、データベース受信装置は、次の更新イベントを受信するタイミングはわからない。つまり、ネットワーク等が異常となった場合、データベース受信装置は不定なデータベースを使い誤動作する恐れがある。
【０００６】
すなわち、これらデータベース整合方式は、データベース更新がイベントで行われることを主眼としており、ネットワーク等の障害が発生した場合でも、データベースの整合性を確保するための複雑な処理を行う。しかし、周期的にデータベース更新が行われる制御システムでは、データベースの整合性を確保するための複雑な処理のため、制御周期を守れない問題がある。
【０００７】
そこで、本発明の課題は、上記問題に鑑み、制御周期の保証が要求されるシステムでも、データベース内容を保証した分散データベースシステムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、制御周期の保証が要求されるシステムにおいて、分散された複数のデータベース間で、データベースをチャンネル化し、そのチャンネル毎にデータベースを周期的に配布する。
【０００９】
また、データベースを受信する装置では、データベースを受信した時間からの有効期限を管理する。有効期限の過ぎたデータベースデータは使用しないようにする。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、データベース管理元の装置が周期的にデータベースを送信するため、他データベース管理装置との間でデータベース整合処理は行わなくてよい。また、データベース管理元装置が異常あるいは停止し、周期的にデータベースを送信できなくなった場合でも、データベースを受信するデータベース管理装置で、データベースの有効期限を管理しているため、不定なデータベースで誤動作することはない。つまり、制御周期の保証が要求される分散データベースシステムでも実現可能である。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を、図面を用いて説明する。
【実施例１】
【００１２】
図１は、本発明の実施例１の分散データベースシステムを使用した制御システムを示す。図１では、中央処理装置１、指令端末２、３、駅処理装置４、５、６との関係を示し、ネットワーク７を介して接続されるシステムに適応される。中央処理装置１、指令端末２、３、駅処理装置４、５、６は、それぞれ、内部に分散データベース管理部１０を備えている。
【００１３】
図２は、本発明の実施例１の各装置の内部構成を示す。図２において、分散データベース管理部１０は、受信した分散データベースメッセージ２０をデータベース１７に書き込むと共に、有効期限管理テーブル１２を更新するデータベース受信部１１と、周期的に有効期限管理テーブル１２を参照し、有効期限内のデータベースをアプリケーションへ送信する対アプリケーション送信部１３と、アプリケーションからの要求で対応するチャンネル番号にデータベースを書き込むと共に、データベース送信部１５を起動する対アプリケーション受信部１４と、対アプリケーション受信部１４からの要求で当該チャンネル番号に対応するデータベースを送信するデータベース送信部１５と、周期的に有効期限管理テーブル１２を参照し、チャンネル番号毎に有効期限カウンタ３３を減算する有効期限管理部１６を備える。分散データベース管理部１０は、中央処理装置１に限らず、分散データベースシステム内の装置すべてに備え、装置間はネットワーク７で接続される。
【００１４】
図３は、中央処理装置１、指令端末２、３、駅処理装置４、５、６間でデータベースの送受信を行うメッセージフォーマットの一例を示す。分散データベースメッセージ２０は、送信元装置番号２１、チャンネル番号２２、有効期限カウンタ値２３、データサイズ２４、データベースデータ２５で構成する。送信元装置番号２１は、自装置の装置アドレスが格納される。チャンネル番号２２は、データベースを識別するコードが格納される。有効期限カウンタ値２３は、データベースの有効期限値が格納される。データサイズ２４は、データベースデータ２５のバイトサイズが格納される。データベースデータ２５は、各アプリケーションが作成したデータが格納される。例えば、中央処理装置１が、列車制御情報を駅処理装置４へ渡す制御情報データが格納される。
【００１５】
図４は、各装置の分散データベース管理部１０内にある有効期限管理テーブル１２の構成例を示す。有効期限管理テーブル１２は、他装置データベース管理用テーブルと、自装置データベース管理用テーブルから構成し、他装置データベース管理用テーブルは、最大チャンネル数３１、チャンネル番号３２、有効期限カウンタ３３、受信可否３４で構成する。自装置データベース管理用テーブルは、自送信チャンネル番号３５、有効期限カウンタ３６で構成する。最大チャンネル数３１は、自装置が受信するデータベースのチャンネル数が格納される。チャンネル番号３２は、自装置が受信するチャンネル番号が格納される。有効期限カウンタ３３は、他装置から分散データベースメッセージ２０を受信した時に、その分散データベースメッセージ２０内にある有効期限カウンタ値が格納される。その後、この有効期限カウンタ３３は周期的に減算される。受信可否３４は、該当チャンネルの分散データベースメッセージ２０を受信するか否かを格納する。（この場合「１」で受信とする。）
【００１６】
図５、図６、図７、図８、図９は、分散データベース管理部内各処理部の処理の流れを示す概略の問題分析図（ＰＡＤ：Ploblem  Analysis  Diagram）である。図５を用いてデータベース受信部１１の処理について説明する。まず、ステップ５０では、分散データベースシステム内の他の装置から送信される分散データベースメッセージ２０を受信待ちする。その後、ネットワーク７を介して他装置から分散データメッセージ２０を受信すると、ステップ５１へ進み、受信した分散データベースメッセージ２０のチャンネル番号２２を読み出し、有効期限管理テーブル１２の受信可否を判定し、受信設定ならばステップ５２に進み、否受信ならばステップ５０に戻る。ステップ５２では、受信した分散データベースメッセージ２０を、チャンネル番号に対応するデータベース１４へ格納する。その後、分散データベースメッセージ２０の有効期限カウンタ値２３を取り出し、有効期限管理テーブル１２の有効期限カウンタ３３に設定する。設定後、ステップ５０へ戻る。
【００１７】
次に、図６を用いて対アプリケーション送信部１３の処理について説明する。対アプリケーション送信部１３は、チャンネル毎に有効期限内のデータベースをアプリケーションへ送信する処理を行う。以下詳細に説明する。まず、ステップ６０でチャンネル数分ループし、次のステップ６１を繰り返す。ステップ６１では、該当チャンネルの有効期限管理テーブル１２の有効期限カウンタ３３が「１」以上であることを判定し、「１」以上であれば、ステップ６２へ進む。「０」以下であればステップ６０へ戻る。ステップ６２では、該当チャンネルのデータベース１４を取り出し、アプリケーションへ送信する。
【００１８】
次に、図７を用いて対アプリケーション受信部１４の処理について説明する。ステップ７０では、アプリケーションから受け取るデータベースデータを、該当チャンネルのデータベース１４に格納する。次にステップ７１では、データベース送信部１５の処理を起動し、処理を終了する。
【００１９】
次に、図８を用いてデータベース送信部１５の処理について説明する。データベース送信部１５の処理は、対アプリケーション受信部１４の処理から起動される。起動後、まず、ステップ８０では、チャンネル番号に対応する自装置データベース管理用の有効期限カウンタ３３を取り出し、分散データベースメッセージ２０に設定する。次にステップ８１では、該当チャンネルの分散データベースデータ２０をネットワーク７へ送信する。
【００２０】
次に、図９を用いて有効期限管理部１６の処理について説明する。有効期限管理部１６の処理は、チャンネル毎に有効期限管理テーブル１２の他装置データベース管理用の有効期限カウンタ３３を減算する処理を行う。以下詳細に説明する。まず、ステップ９０では、チャンネル数分ループし、次のステップ９１を繰り返す。ステップ９１では、該当チャンネルの有効期限管理テーブル１２の有効期限カウンタ３３が「１」以上であることを判定し、「１」以上であれば、ステップ９２へ進む。有効期限カウンタ３３が「０」ならば、ステップ９０へ戻る。ステップ９２では、有効期限管理テーブル１２の有効期限カウンタ３３を１減算する。その後、ステップ９０へ戻る。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施例１の分散データベースシステムを使用した制御システムを示す図である。
【図２】本発明の実施例１の分散データベース管理部の内部構成を示す図である。
【図３】本発明の実施例１の分散データベースメッセージフォーマットを示す図である。
【図４】本発明の実施例１の有効期限管理テーブルを示す図である。
【図５】本発明のデータベース受信部１１の処理の流れを示す問題分析図である。
【図６】本発明の対アプリケーション送信部１３の処理の流れを示す問題分析図である。
【図７】本発明の対アプリケーション受信部１４の処理の流れを示す問題分析図である。
【図８】本発明のデータベース送信部１５の処理の流れを示す問題分析図である。
【図９】本発明の有効期限管理部１６の処理の流れを示す問題分析図である。
【符号の説明】
【００２２】
１    中央処理装置
２，３  指令端末
４，５，６    駅装置
７    ネットワーク
１０    分散データベース管理部
１１    データベース受信部
１２    有効期限管理テーブル
１３    対アプリケーション送信部
１４    対アプリケーション受信部
１５    データベース送信部
１６    有効期限管理部
１７    データベース
２０    分散データベースメッセージ
２１    送信元装置番号
２２    チャンネル番号
２３    有効期限カウンタ値
２４    データサイズ
２５    データベースデータ
３１    最大チャンネル数
３２    チャンネル番号
３３    有効期限カウンタ
３４    受信可否
３５    自送信チャンネル番号
３６    有効期限カウンタ
【図１】
2007193560.tif 000003
【図２】
2007193560.tif 000004
【図３】
2007193560.tif 000005
【図４】
2007193560.tif 000006
【図５】
2007193560.tif 000007
【図６】
2007193560.tif 000008
【図７】
2007193560.tif 000009
【図８】
2007193560.tif 000010
【図９】
2007193560.tif 000011