(57)【要約】【課題】分散オンラインシステムの一部オンライン多重障害に対して、オンラインの停止を極力減らすことを可能とする。【解決手段】それぞれが所定の取引に関する取引データを取り扱う複数のサーバ装置を用いて、取引データを銘柄単位に並行処理するオンライン取引システムにおいて、一部オンライン多重障害が発生した場合、多重障害が発生したことを検知する手段と、正常なオンライン処理が正常動作するように、オンライン多重障害部の切離しを行なう手段とを有し、障害の局所化を実施する。【選択図】図１
2007140892.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが所定の取引に関する取引データを取り扱う複数のサーバ装置を用いて、取引データを銘柄単位に並行処理するオンライン取引システムにおいて、
一部オンライン多重障害が発生した場合、多重障害が発生したことを検知する手段と、
正常なオンライン処理が正常動作するように、オンライン多重障害部の切離しを行なう手段とを有し、障害の局所化を実施するオンライン取引システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆるオンライン取引システムにおける障害局所化の技術に関する。本オンライン取引システムでの取引対象には、証券などの金融商品が含まれる。
【背景技術】
【０００２】
従来、高性能を要求される分散サーバによるシステムの場合、特に同一DBにアクセスする処理が複数ある場合には、同一DBを各サーバに分散配置することで、他処理による排他待ちなどを排除し、処理能力の向上を図る対応をしていた。取引システムにおいても、分散システム上で構築する場合、取引対象である銘柄や、参加者端末などをいくつかのグループに分割し、分散システムを構成する各々のオンラインに銘柄や端末グループを割り当てる。
【０００３】
しかし、価格反映処理など分散した取引処理に同一タイミングでデータ反映を行う場合、最新の情報の反映処理から一括SQLを発行した場合には、一部DBがダウンした際に他のDBへの反映処理も止まってしまう問題があった。この代替案として分散サーバ毎に同一データを別DBとして配置し、個別SQLを発行し更新を行う場合には各DBの情報同一性・整合性を保証する必要があり、処理が複雑でUAPの作りこみ量が増大する問題があった。
【０００４】
また、ダウンした一部のサーバに配置したDBが一時障害(系切替などで復旧可能）か長期障害（長時間ダウン）なのか判断し、一時障害時には、一定期間処理を待たせ系切替後から処理を再開し、長期障害の場合には、障害となっていないDBにアクセスする処理は業務続行させる必要があり、短時間に障害部位の切り離しが必要となる。
【０００５】
【特許文献１】特開平７−８４９５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
証券・商品・サービス等の売買を行う取引システムでは商品単位などで複数オンラインを分散し並行処理させているが、価格情報など複数オンラインでデータを同時更新する必要のある処理が存在し、信頼性を確保する上で障害局所化をどのように確保し、一部のオンラインが障害時、残った正常オンラインに対する影響を最小限とするかが課題となる。つまり、上述した特許文献１では、一部オンラインで障害が発生し、トランザクションが中断した場合、再度、正常オンラインにて処理を再実行する方式であるため、処理データを正常なオンラインへ引継ぎや、トランザクションを起動するトリガを与えるなどの課題がある。このため、定型処理などのケースや、障害復旧まで運用判断／操作を行うケースにおいて適用可能であるが、分散システムで障害部位を短時間で切離し、正常なオンラインで処理を継続するようなシステムでの実現は難しい。
【０００７】
分散システム（複数オンライン）において、障害部位を短時間で切離し、正常な取引所サービスをできるだけ制限しないように売買取引を継続することを、本発明では課題とする。
【課題を解決するための手段】
【０００８】
証券取引所などにおいて、高性能を要求される分散サーバによるシステムの場合、特に同一DBにアクセスする処理が複数ある場合には、同一DBを各サーバに分散配置することで、他処理による排他待ちなどを排除し、処理能力の向上を図る対応をしていた。取引システムにおいても、分散システム上で構築する場合、取引対象である銘柄や、参加者端末などをいくつかのグループに分割し、分散システムを構成する各々のオンラインに銘柄や端末グループを割り当てる。
【０００９】
しかし、価格反映処理など分散した取引処理に同一タイミングでデータ反映を行う場合、最新の情報の反映処理から一括SQLを発行した場合には、一部DBがダウンした際に他のDBへの反映処理も止まってしまう問題があった。この代替案として分散サーバ毎に同一データを別DBとして配置し、個別SQLを発行し更新を行う場合には各DBの情報同一性・整合性を保証する必要があり、処理が複雑でUAPの作りこみ量が増大する問題があった。
【００１０】
この課題を解決するために、本発明では、以下の構成を採用する。ダウンした一部のオンラインに配置したDBが一時障害(系切替などで復旧可能)か長期障害（長時間ダウン）なのか判断し、一時障害時には、一定期間処理を待たせ系切替後から処理を再開し、系切替処理が成功しないケースは、長期障害と判断し、障害となっていないDBにアクセスする処理は業務続行させるため、一括SQL発行もとのDBMSに対し、長期障害となったDBへのアクセスを禁止するDB閉塞指示を行う。
【００１１】
上記システムにおいて、障害局所化を実現するための状況の監視条件に従い、一部オンラインが長期障害に至った場合、障害が発生したオンライン以外に影響を与えないことで、全体のオンライン取引停止を防止し、取引機会およびサービスの向上を可能とする。
【発明の効果】
【００１２】
以上の方式により、本発明では、分散オンラインシステムの一部オンライン多重障害に対して、オンラインの停止を極力減らすことが可能になる。
【発明を実施するための最良の形態】
【００１３】
図１は本発明の実施の形態の構成図であり、１０１、１０３、１０５は現用系分散オンライン、１０２、１０４、１０６は待機系分散オンライン、１０７はアプリケーションオンラインである。
【００１４】
現用系分散オンライン１０１、１０３、１０５は、参照処理１０１a、１０３a、１０５aはＤＢＭＳ１０１ｂ、１０３ｂ、１０５ｂを介して、重複配置しているデータベース１０１ｄ、１０３ｄ、１０５ｄを参照し、処理を行う。
【００１５】
待機系分散オンライン１０２、１０４、１０６は、現用系分散オンライン１０１、１０３、１０５に障害が発生した場合に、実行系として処理を行う。
【００１６】
また、オンライン１０１〜１０６の監視処理１０１ｃ〜１０６ｃは、ＤＢＭＳ１０１ｂ〜１０６ｂの稼動状態を監視する。
【００１７】
アプリケーションオンライン１０７は、一括更新処理１０７ｂがＤＢＭＳ１０７ａ、１０１ｂ、１０３ｂ、１０５ｂを介して、データベース１０１ｄ、１０３ｄ、１０５ｄに同一情報の更新を行う。
【００１８】
また、閉塞処理１０７ｃは、データベース１０１ｄ、１０３ｄ、１０５ｄへアクセス可否情報の管理を行う。
【００１９】
図２は障害部位切離しに必要なデータファイル概要図である。オンライン１０２、１０４、１０６とオンライン１０７は、それぞれ、障害部位切離しに必要なデータファイル２０１〜２０３、２０４を持つ。
【００２０】
データファイル２０１〜２０３には、それぞれ系切替実施時刻と系切替完了監視時間を管理している系切替管理ファイルがある。
【００２１】
データファイル２０４には、それぞれの分散オンラインのデータベースへのアクセス可否情報を管理しているＤＢＭＳ管理ファイルがある。
【００２２】
図３に障害部位切離し処理フローチャートを示す。
【００２３】
３０１  現用系分散オンラインのＤＢＭＳにて障害が発生。アプリケーションオンラインの一括更新処理が、障害分散サーバＤＢＭＳにアクセスできなくなり、更新処理が停滞する。
【００２４】
３０２  障害の発生した現用系分散オンラインの監視処理にて、ＤＢＭＳの障害を検知する。また、ペアとなっている待機系分散オンラインの監視処理にＤＢＭＳの障害を通知する。
【００２５】
３０３  待機系分散オンラインの監視処理が、ＤＢＭＳへ実行系として起動を指示し、２０１ａ１〜２０３ａ１に起動時間を設定する。また、ＤＢＭＳが実行系として起動する。
【００２６】
３０４  監視処理がＤＢＭＳに対して、起動完了しているか問合せを行う。起動完了していた場合は、３０５の処理を行う。起動完了していない場合には、３０６の処理を行う。
【００２７】
３０５  ＤＢＭＳの処理が再開する。また、停滞していたアプリケーションオンラインの一括更新処理が再開する。
【００２８】
３０６  ２０１ａ１〜２０３ａ１と現在の時刻から算出した経過時間と起動監視時間を比較する。経過時間が起動監視時間を超えていない場合には、３０４の処理を行う。経過時間が起動監視時間を超えている場合には、３０７の処理を行う。
【００２９】
３０７  待機系分散オンラインの監視処理が、アプリケーションオンラインの閉塞処理に対して、ＤＢへアクセス不可（長期障害であること）を通知する。
【００３０】
３０８  アプリケーションオンラインの閉塞処理が、分散オンラインのステータス情報２０４ａ１〜２０４ａ３のうち、障害文分散オンラインのステータスを閉塞に設定する。
【００３１】
３０９  アプリケーションオンラインの一括更新処理が分散オンラインのステータス情報２０４ａ１〜２０４ａ３を参照し、稼動中の分散オンラインに対して更新処理を継続する。
【００３２】
３１０  ＤＢＭＳの障害が発生した分散オンラインの参照処理を停止する。
【００３３】
３１１  終了。
【００３４】
図４に障害切離し復旧フローチャートを示す。
【００３５】
４０１  障害切離し復旧処理
４０２  障害の発生した分散オンラインのＤＢＭＳを復旧させる。
【００３６】
４０３  正常に動作している分散オンラインのＤＢ情報を復旧したＤＢにコピーする。
【００３７】
４０４  アプリケーションオンラインの閉塞処理に対して、復旧した分散オンラインの閉塞解除を指示する。また、閉塞処理は、復旧した分散オンラインのステータス情報２０７ａ１〜２０７ａ３をアクセス可に設定する。
【００３８】
４０５  復旧した分散オンラインの参照処理を起動し、参照処理を再開する。
【００３９】
４０６  終了。
【実施例１】
【００４０】
分散オンライン＃１のＤＢＭＳ一時障害例をもとに図３のフローチャートに従って説明する。
【００４１】
図５  分散オンライン＃１のＤＢＭＳ一時障害動作例
３０１  １０１ｂにて障害発生。１０７ｂが１０１ｄにアクセスできなくなる。
【００４２】
３０２  １０１ｃにて１０１ｂの障害を検知する。また、１０１ｃは１０２ｃに対して、１０１ｂに障害が発生したことを通知する。
【００４３】
３０３  １０２ｃは１０２ｂへ実行系として起動を指示し、２０１ａ１に起動時刻を設定する。また、１０２ｂは実行系として起動する。
【００４４】
３０４  １０２ｃは、１０２ｂに対して、起動完了しているか問合せを行う。また、１０２ｂは、１０２ｃに対して起動完了したことを応答する。
３０５  １０１ａ及び１０７ｂが１０２ｂを経由して、１０１ｄにアクセスし処理を再開する。
３１１  終了。
【実施例２】
【００４５】
分散オンライン＃１のＤＢＭＳ長期障害時例をもとに図３のフローチャートに従って説明する。
【００４６】
図６  分散オンライン＃１のＤＢＭＳ障害切離し処理の動作例
３０１  １０１ｂにて障害発生。１０７ｂが１０１ｄにアクセスできなくなる。
【００４７】
３０２  １０１ｃにて１０１ｂの障害を検知する。また、１０１ｃは１０２ｃに対して、１０１ｂに障害が発生したことを通知する。
【００４８】
３０３  １０２ｃは１０２ｂへ実行系として起動を指示し、２０１ａ１に起動時刻を設定する。また、１０２ｂは実行系として起動する。
【００４９】
３０４  １０２ｃは、１０２ｂに対して、起動完了しているか問合せを行う。また、１０２ｂは、１０２ｃに対して起動完了していないことを応答する。
【００５０】
３０６  ２０１ａ１の時刻と現在の時刻から算出した経過時間を２０１ａ２を比較する。経過時間が２０１ａ２を超えるまで、３０４、３０５を繰り返す。
【００５１】
３０７  １０２ｃが１０７ｃへ１０１ｄへのアクセスが不可（長期障害であること）を通知する。
【００５２】
３０８  １０７ｃが２０４ａ１を閉塞に設定する。
【００５３】
３０９  １０７ｂが２０４ａ１〜２０４ａ３を参照し、２０１ａ１が閉塞となっているため、１０３ｄ、１０５ｄに対して情報の更新を実施する。
【００５４】
３１０  １０１ａを停止する。
【００５５】
３１１  終了。
【実施例３】
【００５６】
分散オンライン＃１のＤＢＭＳ障害切り離し復旧処理例をもとに図４のフローチャートに従って説明する。
【００５７】
図７  分散オンライン＃１のＤＢＭＳ障害切離し復旧例
４０１  障害切離し復旧処理開始。
【００５８】
４０２  １０１ｂを復旧させる。
【００５９】
４０３  １０３ｄの情報を１０１ｄにコピーする。
【００６０】
４０４  １０７ｃに対して、分散オンライン＃１の閉塞解除を指示する。また、１０７ｃは、２０４ａ１のアクセス可に設定する。
【００６１】
４０５  １０１ａを起動する。また、オンライン１０１の処理が再開する。
【００６２】
４０６  終了。
【産業上の利用可能性】
【００６３】
２４時間オンラインなど長時間オンラインへの適用。
【００６４】
本適用事例は、複数オンラインで分散稼動しているシステムのうち、特定のオンラインに対して、多重障害が発生したケースを想定したものであるが、２４時間オンラインなどの長時間オンラインと社内処理システムなど別々なオンラインとの別々な組合せにおいても、本発明は適用できる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施の形態のシステム構成概要図である。
【図２】障害切離し方法のデータファイル図である。
【図３】分散サーバのＤＢＭＳ障害時の障害復旧処理フローチャートである。
【図４】障害切離し復旧処理フローチャートである。
【図５】分散オンライン＃１のＤＢＭＳ一時障害時の動作例である。
【図６】分散オンライン＃１のＤＢＭＳ障害切離し処理の動作例である。
【図７】分散オンライン＃１のＤＢＭＳ障害切離し復旧処理例である。
【符号の説明】
【００６６】
１０１、１０３、１０５…現用系分散オンライン、１０２、１０４、１０６…待機系分散オンライン、１０７    アプリケーションオンライン、１０１ａ、１０３ａ、１０５ａ…現用系分散オンライン参照処理、１０２ａ、１０４ａ、１０６ａ…待機系分散オンライン参照処理、１０７ａ…アプリケーションオンラインＤＢＭＳ、１０１ｂ、１０３ｂ、１０５ｂ…現用系分散オンラインＤＢＭＳ、１０２ｂ、１０４ｂ、１０６ｂ…待機系分散オンラインＤＢＭＳ、１０７ｂ…アプリケーションオンライン一括更新処理、１０１ｃ、１０３ｃ、１０５ｃ…現用系分散オンライン監視処理、１０２ｃ、１０４ｃ、１０６ｃ…待機系分散オンライン監視処理、１０７ｃ…アプリケーションオンライン閉塞処理、１０１ｄ、１０３ｄ、１０５ｄ…分散オンラインＤＢ、２０１〜２０３…待機系分散オンライン管理ファイル、２０４…アプリケーションオンライン管理ファイル、２０１ａ〜２０３ａ…待機系分散オンライン系切替実施管理ファイル、２０４ａ…アプリケーションオンラインＤＢＭＳ管理ファイル、２０１ａ１〜２０３ａ１…待機系分散オンライン系切替実施時刻、２０１ａ２〜２０３ａ２…待機系分散オンライン系切替完了監視時間、２０４ａ１〜２０４ａ３…アプリケーションオンラインの各分散オンラインステータス情報ファイル。
【図１】
2007140892.tif 000003
【図２】
2007140892.tif 000004
【図３】
2007140892.tif 000005
【図４】
2007140892.tif 000006
【図５】
2007140892.tif 000007
【図６】
2007140892.tif 000008
【図７】
2007140892.tif 000009