(57)【要約】【目的】本発明は、連続運転するシステムで利用する共有メモリ上のテーブルを切り替えるテーブル切替プログラムおよびテーブル切替システムに関し、２４時間連続運転中システムでテーブルの切替時に処理を止めずに常に最新のデータを用いて処理を継続することを目的とする。【構成】  共有メモリ上に常駐する、レコード毎に引継フラグを設けた現用のテーブルの切替指示があったときに、現用のテーブルのレコードの引継フラグが現用であるレコードを待機のテーブルにコピーして現用のテーブルのレコードの引継フラグを待機、待機のテーブルのレコードの引継フラグを現用に切り替えることを繰り返すコピーステップと、業務プログラムからのテーブルのレコードへのアクセス要求に応じて、現用のテーブルのアクセス対象レコードの引継フラグが待機である場合、対応する待機のテーブルの引継フラグが現用であるレコードにアクセスする特別アクセスステップとを有する。【選択図】        図１
2006163895.tif 000002
【特許請求の範囲】
【請求項１】
連続運転するシステムで利用する共有メモリ上のテーブルを切り替えるテーブル切替プログラムであって、
コンピュータに、
共有メモリ上に常駐する、レコード毎に現用・待機を識別するための引継フラグを設けた現用のテーブルについて、当該共有メモリ上の待機のテーブルへの切替指示があったときに、該現用のテーブルのレコードの引継フラグが現用であるレコードを待機のテーブルにコピーして現用のテーブルのレコードの引継フラグを待機、待機のテーブルのレコードの引継フラグを現用に切り替えることを繰り返すコピーステップと、
業務プログラムからの前記テーブルのレコードへのアクセス要求に応じて、現用のテーブルのアクセス対象レコードの引継フラグが待機である場合、対応する待機のテーブルの引継フラグが現用であるレコードにアクセスする特別アクセスステップと
を実行させるテーブル切替プログラム。
【請求項２】
前記特別アクセスステップは、更に、前記コピーステップ動作時、前記現用のテーブルの処理対象レコードの引継フラグが現用のときは当該レコードからデータを読み出して業務プログラムに渡すと共に待機のテーブルにコピーして引継フラグを現用に切り替え、現用のテーブルの該当レコードの引継フラグを待機に切り替えることを特徴とする請求項１記載のテーブル切替プログラム。
【請求項３】
連続運転するシステムで利用する共有メモリ上のテーブルを切り替えるテーブル切替システムにおいて、
共有メモリ上に常駐する、レコード毎に現用・待機を識別するための引継フラグを設けた現用のテーブルについて、当該共有メモリ上の待機のテーブルへの切替指示があったときに、該現用のテーブルのレコードの引継フラグが現用であるレコードを待機のテーブルにコピーして現用のテーブルのレコードの引継フラグを待機、待機のテーブルのレコードの引継フラグを現用に切り替えることを繰り返すコピー手段と、
業務プログラムからの前記テーブルのレコードへのアクセス要求に応じて、現用のテーブルのアクセス対象レコードの引継フラグが待機である場合、対応する待機のテーブルの引継フラグが現用であるレコードにアクセスする特別アクセスステップと
を備えたことを特徴とするテーブル切替システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続運転するシステムで利用する共有メモリ上のテーブルを切り替えるテーブル切替プログラムおよびテーブル切替システムに関するものである。
【背景技術】
【０００２】
従来、現用系と待機系を持つ二重化構造の装置においてはその運用テーブルについて、待機系の初期化時などに運用テーブルの内容を現用系と同じにしてから起動し、運用テーブルの内容を一致させる技術があった（特許文献１）。
【０００３】
また、共有メモリ上のテーブルの現用と待機とを切り替える場合、参照のみが行われるテーブルについては、現用と待機とでテーブルのデータが同じであるため、２４時間連続運転するコンピュータシステムにおいても利用上の問題はなかった。
【０００４】
しかし、更新が行われるテーブルについては、上記技術では切替時に待機のテーブルの内容を現用のテーブルと同じにする間は現用の運用を一時停止しなくてはならず、２４時間連続運転するコンピュータシステムでは、共有メモリ上に更新が行われるテーブルを配置して利用することは実質的に不可能であった。
【特許文献１】特開平０８−２７４７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記問題点に鑑みてなされた発明であって、２４時間運転するコンピュータシステムにおいても共有メモリ上に更新が行われるテーブルを配置しても、テーブルの切替時に業務処理を止めずに常に最新のデータを用いて業務処理を継続することを可能とするテーブル切替プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、この問題を解決するため、共有メモリ上のテーブルのレコード毎に現用／待機を表すフラグを設けてレコード単位に現用のテーブルから待機のテーブルへコピーし、この処理の間の業務プログラムからのアクセスについては、フラグが現用であるレコードをアクセス対象として全てのレコードのコピーが終わった段階でテーブルを切り替えるようにしている。
【発明の効果】
【０００７】
本発明は、２４時間連続運転中のシステムにおいて、共有メモリ上に更新が行われるテーブルを配置し、このテーブルの切替処理を行う場合であっても、業務プログラムによる業務処理を止めることなく、常に最新のデータを用いて業務処理を継続させることが可能となる。
【発明を実施するための最良の形態】
【０００８】
本発明は、共有メモリ上のテーブルのレコード毎に現用／待機を表すフラグを設けて、レコード単位に現用のテーブルから待機のテーブルへコピーし、この処理の間の業務プログラムからのアクセスについては、フラグが現用であるレコードをアクセス対象とし、全てのレコードのコピーが終わった段階でテーブルを切り替えるものである。
【実施例１】
【０００９】
図１は、本発明のシステム構成図を示す。
図１において、コンピュータ１は、プログラムに従い各種処理を実行するものであって、ここでは、全体コピー手段２、共有メモリアクセス手段３、通常アクセス手段３１、特別アクセス手段３２、共有メモリ４、外部記憶装置８、入力装置９、および出力装置１０などから構成されるものである。
【００１０】
全体コピー手段２は、共有メモリ４内に設けた例えば現用のテーブルＡ６のレコードを順次、待機のテーブルＢ７にコピーして、引継フラグを切り替え、テーブル切替処理を行うものである（図２から図４を用いて後述する）。
【００１１】
共有メモリアクセス手段３は、業務処理を行う図示外の業務プログラムや図示外のネットワークを介した他の業務プログラムなどからの指示をもとに共有メモリ４内に設けたテーブルＡ６（あるいはテーブルＢ７）をアクセスするものであり、切り替え処理を行っていない時に動作する通常アクセス手段３１と、切り替え処理を行っている時だけ動作する特別アクセス手段３２とからなるものである。
【００１２】
共有メモリ４は、コンピュータ１内の図示外の業務プログラムが共通にアクセスするメモリであって、例えば、系フラグテーブル５、テーブルＡ６およびテーブルＢ７を設けるメモリである。
【００１３】
系フラグテーブル５は、共有メモリ４内に設けて複数のアクセス元（複数の業務プログラム）が共有して参照などして業務処理を行うテーブルであって、例えばテーブルＡとテーブルＢの現用／待機の別を示すフラグを持つものである。
【００１４】
テーブルＡ６，テーブルＢ７は、共有メモリ４内に設けて複数のアクセス元（複数の業務プログラム）が共有して参照などして業務処理を行うテーブルであって、いずれか一方が現用であれば他方が待機となる関係にあるものである。
【００１５】
外部記憶装置８は、不揮発性の記憶装置（ハードディスク装置など）であって、ここでは、例えば共有メモリ４内に設けたテーブルＡ６，テーブルＢ７の退避データであるテーブルＡ６’，Ａ７’等を記憶するものである。
【００１６】
入力装置９は、各種指示、データを入力するものであって、キーボードやマウスなどの入力装置である。
【００１７】
出力装置１０は、各種データ、結果などを出力するものであって、ディスプレイなどの出力装置である。
【００１８】
次に、図２のフローチャートの順番に従い、図１の構成の動作を詳細に説明する。
図２は、本発明のコンピュータ１の全体コピー手段２が行うテーブル切替処理の動作説明フローチャートを示す。
【００１９】
Ｓ１で、現用テーブルのレコードにアクセスする。
続いてＳ２で、共有メモリ４内の現用のテーブルのレコードが、外部アクセス手段３からアクセスされておらず、アクセス可能であるか判別する。該当レコードが外部アクセス手段３によりアクセス中である場合、アクセス不可能と判定し（Ｓ２でＮＯ），Ｓ３で外部アクセス手段３による該当レコードへのアクセスの終了を待ち合わせ、Ｓ２に戻る。
【００２０】
Ｓ２で外部アクセス手段３によりアクセス中ではない場合、アクセス可能と判定し（Ｓ３でＹＥＳ），Ｓ５で現用のテーブルのレコードデータを待機テーブルのレコードへコピーし、Ｓ６で現用のテーブルのレコード引継フラグを待機、待機レコード引継フラグを現用へそれぞれ変更する。例えば、図３（ａ）の共有メモリ４内の現状の状態
・現用のテーブルＡ６                  ・待機のテーブルＢ７
キー      データ  引継フラグ          キー      データ  引継フラグ
冷蔵庫    29800    現用                冷蔵庫   39800   待機
を、図３（ｂ）の共有メモリ４内の状態
・現用のテーブルＡ６                  ・待機のテーブルＢ７
キー      データ  引継フラグ          キー      データ  引継フラグ
冷蔵庫    29800    待機                冷蔵庫   29800 現用
へ変更する。
【００２１】
次に、Ｓ７で、全レコードについてコピーが終了したか判別する。全レコードについてコピーが終了していないと判別すると（Ｓ７でＮＯ）、Ｓ２に戻って現用のテーブルの次のレコードを参照し、Ｓ３以降を繰り返す。この判別については、現用又は待機のテーブルの全てのレコードの引継フラグの切替により判定する方法や、予めテーブルのレコード件数を記憶しておき、この記憶しておいたレコード件数を満たすまで、レコードのコピーの都度コピー件数をカウントアップまたはカウントダウンする方法などの方法がある。
【００２２】
全レコードについてコピーが終了したと判別すると（Ｓ７でＹＥＳ），Ｓ８で共有メモリ４上の系フラグテーブル５の系フラグを切り替える。例えば図３（ｂ）に示す
・系フラグ
・テーブルＡ＝現用系テーブル
・テーブルＢ＝待機系テーブル
の状態から図３（ｃ）に示す
・系フラグ
・テーブルＡ＝待機系テーブル
・テーブルＢ＝現用系テーブル
の状態へ切り替える。以上の処理により、一連のテーブル切り替えが完了したこととなる。
【００２３】
以上のように、図１のコンピュータ１内の図示外の複数の業務プログラムが共有の現用のテーブルＡをそれぞれ参照して業務処理を実行しているときに、管理者などからテーブルの切り替えの指示があると、現用のテーブルＡからレコード単位に業務プログラムからアクセスされていないか判定し、アクセスされていないときに、順次、待機のテーブルＢにコピーおよび引継フラグを切り替えることを繰り返し、現用のテーブルの全てのレコードについて待機のテーブルにコピーおよび引継フラグの切り替えが終了したときに、系フラグテーブル５のテーブルの系を切り替えて一連のテーブル切り替え処理を終了する。これにより、２４時間連続運転中のコンピュータ内の複数の業務プログラムが使用するテーブルの切り替え時であっても、処理を止めずに常に最新のデータを用いて業務処理を継続することが可能となる。
【００２４】
図３は、本発明の説明図を示す。
図３の（ａ）は、共有メモリ４内の現用のテーブルＡ６，待機のテーブルＢ７の状態の例を示す。
【００２５】
図３の（ｂ）は、１レコードを現用のテーブルＡ６から待機のテーブルＢ７にコピーおよび引継フラグを切り替えた後の状態の例を示す。現用のテーブルＡ６の先頭の１レコードを、待機のテーブルＢ７にコピーし、引継フラグを切り替えた状態を示している。
【００２６】
図３の（ｃ）は、テーブルＡとテーブルＢで系を切り替えた後の状態を示す。現用のテーブルＡ６の全レコードの待機系のテーブルＢ７へコピーして引継フラグの切り替えが完了した後、元は図３（ａ），（ｂ）に示すように
・系フラグ
・テーブルＡ＝現用系テーブル
・テーブルＢ＝待機系テーブル
であったものを、当該図３（ｃ）の  
・系フラグ
・テーブルＡ＝待機系テーブル
・テーブルＢ＝現用系テーブル
へ切り替えた状態を示している。これにより、以降は、テーブルＢが現用、テーブルＡが待機となる。また、現用のテーブルＡ６の全レコードについて待機のテーブルＢ７へコピーして引継フラグの切り替えを終了した段階で、図１の不揮発性の外部記憶装置８にテーブルＡ６’およびテーブルＢ７’として退避し、記憶する。
【００２７】
図４は、本発明の共有メモリアクセス手段３の動作説明フローチャートを示す。
図４において、Ｓ１１で、共有メモリアクセス手段３は、アクセス対象のテーブルが全件コピー手段２によるテーブル切替処理中か判別する。テーブル切替処理中ではないと判別すると（Ｓ１１でＮＯ）、Ｓ１２で通常アクセス手段３１による通常のメモリアクセス処理を行う。なお、この処理については従来技術であり、本発明の要旨に直接関連しないため詳述しない。
【００２８】
一方、テーブル切替処理中であると判別すると（Ｓ１１でＹＥＳ）、Ｓ１３に進む。なお、以降Ｓ２３までは特別アクセス手段３２による処理となる。特別アクセス手段３２は、Ｓ１３で、テーブル中のアクセス対象のレコードをアクセスする。
【００２９】
Ｓ１４で、アクセス対象のレコードにアクセス可能であったか判別する。該当レコードが全件コピー手段２によるテーブル切替処理や、他の業務プログラムからの更新系のアクセスでロックされているときは、アクセス不可能であるため（Ｓ１４でＮＯ），Ｓ１５でアクセスの終了を待ち合わせ、Ｓ１４に戻る。
【００３０】
一方、該当レコードが全件コピー手段２によるテーブル切替処理や、他の業務プログラムからの更新系のアクセスでロックされていないときは、アクセス可能であったため（Ｓ４でＹＥＳ）、Ｓ１６に進み、アクセスしたレコードの引継フラグが現用であるか判別する。引継フラグが待機である場合（Ｓ１６のＮＯ）、Ｓ１７で待機テーブルの該当レコードにアクセスし、Ｓ１８でアクセス可能であったか判別する。該当レコードが全件コピー手段２によるテーブル切替処理や、他の業務プログラムからの更新系のアクセスでロックされているときは、アクセス不可能であるため（Ｓ１８でＮＯ），Ｓ１９でアクセスの終了を待ち合わせ、Ｓ１８に戻る。
【００３１】
一方、該当レコードが全件コピー手段２によるテーブル切替処理や、他の業務プログラムからの更新系のアクセスでロックされていないときは、アクセス可能であったため（Ｓ１８でＹＥＳ），Ｓ２０で業務プログラムの業務処理を行い、メモリテーブルアクセス処理を終了する。なお、業務プログラムが更新系のアクセスである場合には該当レコードがロックされることになる。
【００３２】
Ｓ１６で引継フラグが現用である場合（Ｓ１６のＹＥＳ），Ｓ２１で業務プログラムの業務処理を行い、Ｓ２２で現用のテーブルのレコードデータを待機のテーブルのレコードへコピーし、Ｓ２３で現用のテーブルのレコードの引継フラグを待機、待機レコードの引継フラグを現用へそれぞれ変更し、メモリテーブルアクセス処理を終了する。
【００３３】
以上によって、共有メモリ上のテーブルに業務プログラムからの最新データへのアクセスを妨げることなく、しかも、全体コピー手段２によるテーブル切替処理と重複することなしに、現用のテーブルから待機のテーブルへレコードをコピ−するため、テーブルの切替を迅速かつ効率的に実現することが可能となる。
【００３４】
（付記１）
連続運転するシステムで利用する共有メモリ上のテーブルを切り替えるテーブル切替プログラムであって、
コンピュータに、
共有メモリ上に常駐する、レコード毎に現用・待機を識別するための引継フラグを設けた現用のテーブルについて、当該共有メモリ上の待機のテーブルへの切替指示があったときに、該現用のテーブルのレコードの引継フラグが現用であるレコードを待機のテーブルにコピーして現用のテーブルのレコードの引継フラグを待機、待機のテーブルのレコードの引継フラグを現用に切り替えることを繰り返すコピーステップと、
業務プログラムからの前記テーブルのレコードへのアクセス要求に応じて、現用のテーブルのアクセス対象レコードの引継フラグが待機である場合、対応する待機のテーブルの引継フラグが現用であるレコードにアクセスする特別アクセスステップと
を実行させるテーブル切替プログラム。
【００３５】
（付記２）
前記特別アクセスステップは、更に、前記コピーステップ動作時、前記現用のテーブルの処理対象レコードの引継フラグが現用のときは当該レコードからデータを読み出して業務プログラムに渡すと共に待機のテーブルにコピーして引継フラグを現用に切り替え、現用のテーブルの該当レコードの引継フラグを待機に切り替えることを特徴とする付記１記載のテーブル切替プログラム。
【００３６】
（付記３）
前記現用のテーブルのレコードのフラグについて、全て待機となったときに、現用のテーブルと待機のテーブルとを切り替えることを特徴とする付記１あるいは付記２記載のテーブル切替プログラム。
【００３７】
（付記４）
連続運転するシステムで利用する共有メモリ上のテーブルを切り替えるテーブル切替システムにおいて、
共有メモリ上に常駐する、レコード毎に現用・待機を識別するための引継フラグを設けた現用のテーブルについて、当該共有メモリ上の待機のテーブルへの切替指示があったときに、該現用のテーブルのレコードの引継フラグが現用であるレコードを待機のテーブルにコピーして現用のテーブルのレコードの引継フラグを待機、待機のテーブルのレコードの引継フラグを現用に切り替えることを繰り返すコピー手段と、
業務プログラムからの前記テーブルのレコードへのアクセス要求に応じて、現用のテーブルのアクセス対象レコードの引継フラグが待機である場合、対応する待機のテーブルの引継フラグが現用であるレコードにアクセスする特別アクセスステップと
を備えたことを特徴とするテーブル切替システム。
【産業上の利用可能性】
【００３８】
本発明は、２４時間連続運転中のシステムにおいて、テーブルの切替時に業務処理を止めずに常に最新のデータを用いて処理を継続することを可能とする。
【図面の簡単な説明】
【００３９】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明の説明図である。
【図４】本発明の動作説明フローチャートである。
【符号の説明】
【００４０】
１：コンピュータ
２：全体コピー手段
３：共有メモリアクセス手段
３１：通常アクセス手段
３２：特別アクセス手段
４：共有メモリ
５：系フラグテーブル
６，７、６’、７’：テーブル
８：外部記憶装置
９：入力装置
１０：出力装置
【図１】
2006163895.tif 000003
【図２】
2006163895.tif 000004
【図３】
2006163895.tif 000005
【図４】
2006163895.tif 000006