JP2012194895A - トランザクション処理システム及びトランザクション処理システムの動作方法 - Google Patents

トランザクション処理システム及びトランザクション処理システムの動作方法 Download PDF

Info

Publication number
JP2012194895A
JP2012194895A JP2011059567A JP2011059567A JP2012194895A JP 2012194895 A JP2012194895 A JP 2012194895A JP 2011059567 A JP2011059567 A JP 2011059567A JP 2011059567 A JP2011059567 A JP 2011059567A JP 2012194895 A JP2012194895 A JP 2012194895A
Authority
JP
Japan
Prior art keywords
transaction
session
identifier
database
transaction processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011059567A
Other languages
English (en)
Other versions
JP5329589B2 (ja
Inventor
Hisashi Kitamura
尚志 北村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Priority to JP2011059567A priority Critical patent/JP5329589B2/ja
Priority to US13/237,463 priority patent/US8825796B2/en
Publication of JP2012194895A publication Critical patent/JP2012194895A/ja
Application granted granted Critical
Publication of JP5329589B2 publication Critical patent/JP5329589B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】個別トランザクションと関連するデータベースサーバ上のセッションプロセスを特定可能なトランザクション処理システムを提供する。
【解決手段】アプリケーションサーバと、データベースサーバとを有するトランザクション処理システムであって、アプリケーションサーバは、トランザクション処理部と、トランザクションの処理に対応してデータベースサーバで生成されるセッションプロセスを管理するプロセス監視部とを有し、データベースサーバは、データベース管理部を有し、プロセス監視部は、トランザクション識別子をトランザクション処理部より受信し、トランザクション識別子をデータベース管理部へ出力することに応じてデータベース管理部より返信される、セッション識別子を受信し、所定の時間経過後にセッションプロセスを終了する命令をデータベース管理部へ送信することを特徴とするトランザクション処理システム。
【選択図】図1

Description

本発明は、複数のシステム間におけるプロセス管理に関し、より詳細には、アプリケーションサーバ及びデータベースサーバ間におけるプロセスの連携の管理に関する。
近年、複数のサーバを有するトランザクション処理システムが、銀行業務等の大量のトランザクションを処理する必要がある業務において、広く用いられている。このようなトランザクション処理システムは、アプリケーションサーバとデータベースサーバとを有する。アプリケーションサーバは、クライアントから要求されたトランザクションの処理を行う。また、データベースサーバは、アプリケーションサーバ上のアプリケーションより要求される操作の対象となるデータを格納するデータベースを有する。
典型的なトランザクション処理システムにおける動作は、以下のとおりである。すなわち、アプリケーションサーバは、例えばウェブアプリケーションサーバミドルウェアないしソフトウェアを備えており、アプリケーションを実行する。クライアントよりトランザクション要求を受信すると、アプリケーション上のトランザクション処理プロセスよりデータベースサーバへ問合せやデータ操作を行なうために、データベースサーバ上で動作するデータベース管理システムに対して、問合せなどの実行を要求する。問合せなどの実行の要求に応じてデータベース管理システムがセッションプロセスを起動し、セッションプロセスよりデータベースへと問合せなどを実施して、データベースから問合せ実施結果を得る。データベース管理システム得られた問合せなどの結果をアプリケーションサーバへ送信する。アプリケーションサーバは問合せなどの結果に基づいてトランザクションを処理し、クライアントへとトランザクションの結果を返す。
データベース管理システムは問合せなどの結果をアプリケーションサーバへと送信すると、データベース管理システムは、セッションプロセスを終了させる。
特開2001−249903号公報
しかしながら、システム上で異常が発生した場合、例えばトランザクションとしてクライアントから送信された電文のフォーマットが正しくないことやデータベース管理システムの不具合などにより、データベース管理システムにおいてアプリケーションサーバに問合せ結果を返してセッションプロセスを終了させることができない場合がある。
このような場合に、アプリケーション上のトランザクション処理プロセスは、クライアントとのセッションの切断や、タイムアウトなどにより処理を終了する。あるいは、アプリケーション上で問題の発生したトランザクションを把握可能なため、システム管理者が当該トランザクションの処理プロセスを把握して当該プロセスを終了させることも可能である。
その一方、データベース管理システムのセッションプロセスは、終了することなく、実行中のステータスを有して残ることとなってしまう。そして、従来のトランザクション処理システムにおいては、問題の発生したトランザクションを処理したセッションプロセスについての把握を行うことが困難であった。すなわち、従来、データベースサーバ側のセッションプロセスは、トランザクションの処理プロセスと対応付けられて管理されていなかったため、トランザクションの処理プロセス側において、トランザクションに対応してデータベースに送信された問合せが、いずれのセッションプロセスにおいて処理されたかが明らかでなかった。そのため、問題発生時に、問題の発生したトランザクションの処理プロセスについては終了させることができる一方で、それに対応して実行中のままリソースを消費しているセッションプロセスを終了させることは困難であった。
そのため、不要なセッションプロセスが実行中のステータスを有して残り、そうしたプロセスが蓄積されることによって、データベースサーバのリソースが逼迫し、データベースサーバのパフォーマンスが悪化する。そして、このパフォーマンス悪化を解消しようとしても、動作異常の発生したトランザクションに係る問合せを処理したセッションプロセスの特定が困難である。このため、データベースサーバを再起動し、動作異常と無関係のセッションプロセスをも合わせて終了させざるを得ず、その結果としてオンライン処理が継続できず、問題のないトランザクションについても取引できないという事態が発生していた。
そこで、本発明は、アプリケーションサーバにおいて個別トランザクションと関連するデータベースサーバ上のセッションプロセスを特定可能なトランザクション処理システムを提供することを目的とする。
本発明の一実施形態に係るトランザクション処理システムは、アプリケーションサーバと、データベースサーバとを有するトランザクション処理システムであって、前記アプリケーションサーバは、クライアントから要求されるトランザクションを処理するトランザクション処理部と、前記トランザクションの処理に対応して前記データベースサーバで生成されるセッションプロセスを管理するプロセス監視部とを有し、前記データベースサーバは、データを保持するデータベースと、前記データベースを管理するデータベース管理部とを有し、前記トランザクション処理部は、前記トランザクションを識別するためのトランザクション識別子を前記データベース管理部へ送信して、前記トランザクションの処理に対応して前記データベースを操作するセッションプロセスの実行を要求し、前記プロセス監視部へ前記トランザクション識別子を出力し、前記プロセス監視部は、前記トランザクション識別子を前記トランザクション処理部より受信し、前記トランザクション識別子を前記データベース管理部へ出力することに応じて前記データベース管理部より返信される、前記セッションプロセスを識別するためのセッション識別子を受信し、所定の時間経過後に前記セッションプロセスを終了する命令を前記データベース管理部へ送信し、前記データベース管理部は、前記トランザクション処理部より前記トランザクション識別子を受信すると、前記セッションプロセスを識別するための前記セッション識別子を作成して前記トランザクション識別子と対応づけて保持し、前記セッションプロセスを実行し、前記プロセス監視部より前記トランザクション識別子を受信すると、前記トランザクション識別子に対応する前記セッション識別子を返信し、前記プロセス監視部より前記セッションプロセスを終了する命令を受信すると前記セッションプロセスを終了させることを特徴とする。
また、本発明の一実施形態に係るトランザクション処理システムの動作方法は、アプリケーションサーバと、データベースサーバとを有するトランザクション処理システムの動作方法であって、前記アプリケーションサーバにおいて、クライアントからトランザクションの要求を受信し、トランザクションの処理プロセスを開始し、前記トランザクションを識別するためのトランザクション識別子及び前記処理プロセスの開始の通知を保持する監視プロセスを起動し、前記処理プロセスより前記トランザクションを識別するためのトランザクション識別子をデータベースサーバへと送信し、前記トランザクションの処理に対応して前記データベースを操作するセッションプロセスの実行を要求し、前記データベースサーバにおいて、前記トランザクション識別子を受信し、前記セッションプロセスを識別するためのセッション識別子を作成して前記トランザクション識別子と対応づけて保持し、前記監視プロセスより前記トランザクション識別子を受信すると、前記トランザクション識別子に対応するセッション識別子を前記監視プロセスへ送信し、前記セッションプロセスを実行し、前記アプリケーションサーバにおいて、前記監視プロセスにおいて前記セッション識別子を受信し、前記処理プロセスにおいて前記セッションプロセス実行結果を受信し、前記処理プロセスにおいてセッションプロセス実行結果に基づく処理実行結果を前記クライアントへ送信して、前記処理プロセスを終了し、前記監視プロセスにおいて所定の時間経過後に前記セッションプロセスを終了する命令を前記データベースサーバへ送信し、前記データベースサーバにおいて前記セッションプロセスを終了する命令を受信すると、前記セッションプロセスを終了させることを特徴とする。
本発明により、動作異常の生じているセッションプロセスを特定して終了させることができ、システムリソースを確保することができるとともに、動作異常と無関係なトランザクションの動作を継続させることができ、オンライン処理を継続することができる。
本発明の一実施形態に係るトランザクション処理システムの概要図である。 本発明の一実施形態に係るトランザクション処理システムにおける正常処理時におけるデータのシーケンス図である。 本発明の一実施形態に係るトランザクション処理システムにおける異常発生時におけるデータのシーケンス図である。 本発明の一実施形態に係るトランザクション処理システムのトランザクション処理部における処理のフローチャートである。 本発明の一実施形態に係るトランザクション処理システムのプロセス監視部における処理のフローチャートである。 本発明の一実施形態に係るトランザクション処理システムのデータベース管理部における処理のフローチャートである。
図1は、本発明の一実施形態に係るトランザクション処理システムの概念図である。
図1を参照すると、本発明の一実施形態に係るトランザクション処理システムは、アプリケーションサーバ100と、データベースサーバ200とを有する。アプリケーションサーバ100は、データベースサーバ200及びクライアント300とネットワークを介して接続される。
アプリケーションサーバは、例えばウェブアプリケーションサーバとして動作するサーバコンピュータである。例えば、サーバコンピュータをウェブアプリケーションサーバとして動作させるミドルウェア(WAS、Web Application Server)をサーバコンピュータが実行し、アプリケーションサーバ100が実現される。
クライアント300から、アプリケーションサーバ100に対してトランザクション要求が送信されると、アプリケーションサーバ100上のWASにより、トランザクション処理が開始される。なお、クライアント300には、ウェブブラウザが動作し、クライアント300の利用者がウェブブラウザを操作することにより、トランザクション要求が送信されるようになっていてもよい。また、ウェブブラウザにより送信された要求がウェブサーバ(図示せず)により受信され、受信された要求に対応するトランザクション要求をウェブサーバが生成してアプリケーションサーバ100に送信してもよい。
アプリケーションサーバ100は、トランザクション処理部110と、プロセス監視部120とを有する。
トランザクション処理部110は、トランザクション要求をクライアント300より受信する。なお、トランザクション処理部110は、トランザクション要求を、ウェブサーバなどを介してクライアント300より受信してもよい。トランザクション要求とは、データベースに対する操作の要求である。例えば、データベースに対する検索の要求、データのインサートやアップデートの要求である。トランザクション要求は、SQLやその等価な言語による表現を含む。SQLやその等価な言語による表現を、以下では「問合わせ」という。トランザクション処理部110は、各トランザクションに固有のトランザクション識別子10を割り当てる。
トランザクション識別子10は、トランザクション要求に含まれてもよく、又はトランザクション処理部110が内部で付与してもよく、それらの組合せでもよい。また、トランザクション識別子10は複数の識別子を含んでもよく、例えばトランザクション要求を送信したクライアント300を識別するクライアント識別子と、トランザクション処理部が受信したトランザクションへ順次付与するシーケンシャルな識別子との組合せでもよい。クライアント300にて複数のブラウザが動作する場合になどには、トランザクション識別子10は、クライアント300内でのブラウザの識別子を含んでいてもよい。
トランザクション処理部110は、クライアント300から受信したトランザクション要求に応じた処理を行うため、データベースサーバ200が有するデータベース管理部210へ、トランザクション識別子10及び問合せ30を送信し、問合わせ30を実行するためのセッションプロセスの実行を要求する。
また、トランザクション処理部110は、セッションプロセスの実行の要求をする際に、トランザクション識別子10をプロセス監視部120へ出力する。例えば、セッションプロセスがデータベース管理部210により生成された後に、トランザクション処理部110は、トランザクション識別子10をプロセス監視部120へ出力する。これにより、トランザクション処理部110は、トランザクション識別子10に対応するセッションプロセスの実行の開始をトランザクション処理部110へ通知することができる。
トランザクション処理部110は、データベース管理部210より問合せ結果を受信し、問合せ結果を用いてトランザクションの処理を実施する。
トランザクションの処理が完了すると、トランザクション処理部110は、トランザクション処理結果に基づき、トランザクション要求の送信元のクライアント300に対してトランザクション応答を送信する。
また、トランザクション処理部110は、トランザクション処理の完了を、プロセス監視部120に対して送信し、処理を終了する。
プロセス監視部120は、トランザクション処理部110よりトランザクション識別子10を受信すると、データベース管理部210に対してトランザクション識別子10を送信してトランザクション識別子10に対応するセッションプロセスを識別するセッション識別子20を送信するよう要求する。
データベース管理部210からセッション識別子20が送信されると、プロセス監視部120はこれを受信して、トランザクション識別子10と受信したセッション識別子20とを関連付けて保管する。これにより、当該セッションプロセスの監視を開始することができる。
プロセス監視部120は、トランザクション処理部110より、トランザクション処理の完了の通知を受信すると、トランザクション処理の完了の通知に含まれるトランザクション識別子10を抽出して、当該トランザクション識別子10に対応付けられたセッション識別子20を参照して、当該セッション識別子20に対応するセッションプロセスの監視を終了する。また、プロセス監視部120は、当該トランザクションの監視を終了してもよい。
プロセス監視部120は、トランザクション識別子10を受信し、セッションプロセスが開始したことを通知された後、所定の時間経過後までに当該トランザクション識別子10に対応するトランザクション処理の完了の通知を受信しなかった場合、トランザクション識別子10に対応するセッション識別子20を参照し、データベース管理部210に対して、セッション識別子20で識別されるセッションプロセスを終了する命令を送信する。
あるいは、プロセス監視部120は、所定の時間ごとに監視プロセスを起動し、その時点においてしきい値時間を超える時間動作しているセッションプロセスを終了させるよう動作してもよい。例えば、プロセス監視部120は、30分ごとに監視プロセスを起動し、監視プロセスはセッションプロセスの動作開始時間を確認する。しきい値を20分と設定している場合、動作開始時間から20分を経過したセッションプロセスを、終了させるべきプロセスと判断し、当該セッションプロセスの終了命令をデータベース管理部210に送信する。
また、プロセス監視部120は、トランザクションの種類に応じて異なるしきい値時間を定めてもよい。例えば、トランザクションがデータの変動を伴わない場合やデータの変動が小さい場合にしきい値をより小さく設定し、より短い時間経過でプロセスを停止させるよう動作してもよい。具体的には、オンラインバンキングにおける残高照会のようなトランザクションに関するセッションプロセスついては、金額データの変動を伴う振込み操作のようなトランザクションに関するセッションプロセスよりも優先して停止するようしきい値を小さく設定してもよく、また、振込み操作のトランザクションに関するセッションプロセス間においても、扱われる金額の高低により、異なるしきい値を定めてもよい。
また、その他、プロセス監視部120は、トランザクションを要求するクライアント300のユーザの属性に応じて異なるしきい値を定めたり、稼働中のセッションプロセス数に応じたしきい値を定めたりしてもよい。
データベースサーバ200は、データベース220と、データベース管理部210とを有する。
データベース管理部210は、データベース管理システム(DBMS、DataBase Management System)である。データベース管理部210は、特に、関係データベース管理システム(RDBMS)であってもよい。データベース管理部210は、セッションプロセスを通じてデータベースへの操作を実行する。
データベース管理部210は、トランザクション処理部110よりトランザクション識別子10及びデータベースへの問合せを、セッションプロセス実行要求として受信する。
データベース管理部210は、トランザクション識別子10及び問合わせを含むセッションプロセス実行要求を受信すると、セッションプロセスを開始し、セッションプロセスを識別するセッション識別子20を発行する。セッション識別子20は、各セッションプロセスに対応づけられた固有の識別子であり、データベース管理部210において、セッションプロセスを管理するために用いられる。
データベース管理部210は、トランザクション識別子10及びセッション識別子20を関連付けて保持し、セッション管理を行う。保持は、例えばセッションテーブルなどにおいて行われてもよい。
また、データベース管理部210は、プロセス管理部120より送信されたセッション識別子を受信すると、当該トランザクション識別子10に対応するセッション識別子を判別し、問合せへの応答として、当該セッション識別子をプロセス管理部120へと送信する。
データベース管理部210は、プロセス管理部より送信された終了命令を受信して、終了命令を実行し、セッションプロセスを終了させる。
図2は、図1で説明した本発明の一実施形態に係るトランザクション処理システムにおいて、正常にトランザクション処理が終了した場合のデータの流れを説明するシーケンス図である。
図2を参照すると、まず、クライアント300よりトランザクション要求がトランザクション処理部110へと送信される(s50)。
トランザクション処理部110は、トランザクション識別子10及び問合せを、データベース管理部210へと送信する(s10)。データベース管理部210は、セッションプロセスを開始し、データベース220へと問合せを行う(s30)。
一方、トランザクション処理部110は、トランザクション識別子10を、プロセス監視部120へ送信する(s20)。プロセス監視部120はトランザクション識別子10をデータベース管理部210へ送信し(s40)、データベース管理部210よりセッション識別子20を受信する(s41)。
データベース220は、データベース管理部210からの問合せを受信すると、問合せに応じた問合せ結果をデータベース管理部210へと送信する(s31)。データベース管理部210は、問合せ結果をトランザクション識別子10と対応付けてトランザクション処理部110へと送信する(s11)。
トランザクション処理部110は、問合せ結果を受信すると、問合せ結果に応じてトランザクションの処理を行い、トランザクション応答をクライアント300へと送信する(s51)。トランザクション応答送信後、終了通知をプロセス監視部へと送信して(s21)、一連の処理が終了する。
図3は、図1で説明した本発明の一実施形態に係るトランザクション処理システムにおいて、セッションプロセスを強制終了する場合のデータの流れを説明するシーケンス図である。
図3を参照すると、まず、クライアント300よりトランザクション要求がトランザクション処理部110へと送信される(s50)。
トランザクション処理部110は、トランザクション識別子10及び問合せメッセージを、データベース管理部210へと送信する(s10)。データベース管理部210は、セッションプロセスを開始し、データベース220へと問合せを行う(s30)。
一方、トランザクション処理部110は、トランザクション識別子10を、プロセス監視部120へ送信する(s20)。プロセス監視部120はトランザクション識別子10をデータベース管理部210へ送信し(s40)、データベース管理部210よりセッション識別子20を受信する(s41)。
その後、所定の時間が経過し、データベース220からの問合せに対するデータベース管理部210への応答がなく、データベース管理部よりトランザクション処理部110へと問合せ結果が送信されない状態において、プロセス監視部120はトランザクション処理部110へトランザクション識別子10に対応するトランザクションの処理開始時間を確認し(s61)、トランザクション処理部110が処理開始時間をプロセス監視部120へと返す(s62)。
プロセス監視部120は、トランザクション処理部110への確認の結果、処理開始時間から所定時間経過している場合、終了命令指示をデータベース管理部210に送信する(s70)。
なお、プロセス監視部120は、トランザクション処理部110よりトランザクション識別子10を受信した時間を、処理開始時間とすることもできる。この場合には、プロセス監視部120は、トランザクション処理部110へトランザクション識別子10に対応するトランザクションの処理開始時間を確認する必要はない。
終了命令指示を受け取ったデータベース管理部210は、終了命令を実行してセッションプロセスを終了する。
なお、トランザクション処理部110において、トランザクション識別子10に対応するトランザクションを処理するプロセスについては、強制終了する。また、クライアント300における処理は、例えば一定時間応答がなかったことにより、タイムアウトで終了する。
図4は、トランザクション処理部110における処理の概要を示すフローチャートである。
図4を参照すると、まず、トランザクション処理部110はクライアント300よりトランザクションの処理を要求するトランザクション要求を受信する(S110)。
トランザクション要求を受信したトランザクション処理部110は、トランザクション識別子10を取得する(S120)。すなわち、前述のとおり、トランザクション要求に含まれるトランザクション識別子10を抽出するか、またはトランザクション処理部110においてトランザクション要求ごとにトランザクション識別子10を割り当てるかして、トランザクションに固有のトランザクション識別子10をトランザクション処理部110上において取得する。
トランザクション要求に応じたトランザクションの処理を行うため、トランザクション処理部110は、データベースサーバ200、より詳しくはデータベース管理部210に対して、問合せ及びトランザクション識別子10を送信して、セッションプロセスの実行を要求する(S130)。
トランザクション処理部110は、プロセス監視部120、すなわちデータベースサーバ200におけるセッションプロセスを監視する監視プロセスに対して、トランザクション識別子10を出力する(S140)。
トランザクション処理部110は、データベースサーバ200に対して送信した問合せに対し、問合せ結果を受信したかを確認する(S150)。
問合せ結果を受信した場合、トランザクション処理部110は、問合せ結果に基づきトランザクションの処理を実行し、トランザクションの処理結果に応じてクライアント300に対してトランザクション応答を送信する(S160)。トランザクション応答送信後、処理完了をプロセス監視部120へと送信して処理を終了する。
問合せ結果を受信せず、かつ一定時間が経過した場合(S170)、当該トランザクションについては、問合せ結果の受信を待つことなく終了させる(S180)。例えば、当該トランザクションを処理する処理プロセスについて強制終了させる。
図5は、プロセス監視部120における処理の概要を示すフローチャートである。
図5を参照すると、まず、プロセス監視部120はトランザクション処理部110よりトランザクションの処理開始の通知とともに、トランザクション識別子10を受信する(S210)。
トランザクション識別子10を受信したプロセス監視部120は、セッション識別子20をデータベースサーバ200のデータベース管理部210へと問い合わせる(S220)。これにより、プロセス監視部120は、トランザクション識別子10にかかるトランザクションと対応するセッションプロセスを判別することができる。
データベースサーバ200より、S220の問合せに応じてセッション識別子20が送信される。このため、プロセス監視部120は当該セッション識別子20を受信する(S230)。セッション識別子20を受信すると、プロセス監視部120は当該セッション識別子20に対応するセッションプロセスの監視を開始する。
トランザクション処理部110は、トランザクションの処理が終了すると、プロセス監視部120へと処理終了通知を送信する。このため、その受信待ちをする(S240)。処理終了通知を受信すると、当該トランザクションに対応するセッションプロセスの監視を終了する。
処理終了通知が受信されず、かつ所定時間が経過した場合(S250)、プロセス監視部は、当該トランザクションに対応するセッションプロセスを終了させるため、セッション識別子20とともに、セッションプロセスの終了命令をデータベース管理部210へと送信する(S260)。
これにより、データベース管理部210において、セッションプロセスが何らかのトランザクション処理における異常により終了されずに残ってしまう場合においても、所定時間の経過によりセッションプロセスが終了され、データベースサーバにおける不要な負荷を避けることができる。また、セッションプロセスとトランザクションとがセッション識別子20及びトランザクション識別子10により対応付けられているため、当該トランザクションに対応するセッションプロセスのみを終了させ、それ以外のセッションプロセスを終了させることなくシステムを運用できるため、より信頼性の高いシステムを提供することができる。
図6は、データベース管理部210における処理の概要を示すフローチャートである。
図6を参照すると、まず、データベース管理部210は、トランザクション処理部110よりセッションプロセスの実行要求を受信する(S310)。セッションプロセス実行要求は、トランザクション識別子10及び問合せを含む。セッションプロセスの実行要求を受信し、データベース管理部210はセッションプロセスを開始する。
次に、データベース管理部210は、セッションプロセスの開始にあわせて、セッション識別子20を作成する(S320)。作成したセッション識別子20は、トランザクション識別子10と関連付けて、データベース管理部210のセッションテーブルに保持される。
プロセス監視部120より、トランザクション識別子10に対応するセッション識別子20の問合せがされると(S330)、データベース管理部210はトランザクション識別子10に対応するセッション識別子をプロセス監視部120へ送信する(S340)。
データベース管理部210は、トランザクション処理部110より送信されたセッションプロセス実行要求における問合せに応じて、データベース220へと問合せを実行する(S350)。
データベース管理部210は、データベース220より問合せ結果を受信すると(S360)、問合せ結果をトランザクション処理部110に対して送信して(S370)、セッションプロセスを終了する。
データベース管理部210が、データベース220より問合せ結果を受信する前に(S360)、プロセス監視部120よりセッション識別子20とともに終了命令を受信した場合(S380)、当該セッション識別子20に対応するセッションプロセスを終了させる終了命令を実行する(S390)。これにより、セッションプロセスが終了し、処理が終了する。
100 アプリケーションサーバ、110 トランザクション処理部、120 プロセス監視部、200 データベースサーバ、210 データベース管理部、220 データベース

Claims (5)

  1. アプリケーションサーバと、データベースサーバとを有するトランザクション処理システムであって、
    前記アプリケーションサーバは、クライアントから要求されるトランザクションを処理するトランザクション処理部と、前記トランザクションの処理に対応して前記データベースサーバで生成されるセッションプロセスを管理するプロセス監視部とを有し、
    前記データベースサーバは、データを保持するデータベースと、前記データベースを管理するデータベース管理部とを有し、
    前記トランザクション処理部は、
    前記トランザクションを識別するためのトランザクション識別子を前記データベース管理部へ送信して、前記トランザクションの処理に対応して前記データベースを操作するセッションプロセスの実行を要求し、
    前記プロセス監視部へ前記トランザクション識別子を出力し、
    前記プロセス監視部は、
    前記トランザクション識別子を前記トランザクション処理部より受信し、
    前記トランザクション識別子を前記データベース管理部へ出力することに応じて前記データベース管理部より返信される、前記セッションプロセスを識別するためのセッション識別子を受信し、
    所定の時間経過後に前記セッションプロセスを終了する命令を前記データベース管理部へ送信し、
    前記データベース管理部は、
    前記トランザクション処理部より前記トランザクション識別子を受信すると、前記セッションプロセスを識別するための前記セッション識別子を作成して前記トランザクション識別子と対応づけて保持し、
    前記セッションプロセスを実行し、
    前記プロセス監視部より前記トランザクション識別子を受信すると、前記トランザクション識別子に対応する前記セッション識別子を返信し、
    前記プロセス監視部より前記セッションプロセスを終了する命令を受信すると前記セッションプロセスを終了させる
    ことを特徴とするトランザクション処理システム。
  2. 前記プロセス監視部は、前記トランザクション処理部より前記トランザクション識別子を受信すると、前記所定の時間経過を検出するタイマーを起動する請求項1に記載のトランザクション処理システム。
  3. 前記トランザクション処理部は、
    前記トランザクションの処理が終了すると、前記トランザクションの処理終了通知を前記プロセス監視部へ出力し、
    前記プロセス監視部は、
    前記トランザクション処理部より前記トランザクションの処理終了通知を受信すると、前記タイマーを停止させる請求項2に記載のトランザクション処理システム。
  4. クライアントから要求されるトランザクションを処理するトランザクション処理部と、前記トランザクションの処理に対応してデータベースサーバで生成されるセッションプロセスを管理するプロセス監視部とを有し、
    前記トランザクション処理部は、
    前記トランザクションを識別するためのトランザクション識別子を前記データベースサーバへ送信して、前記トランザクションの処理に対応してデータベースを操作するセッションプロセスの実行を要求し、
    前記プロセス監視部へ前記トランザクション識別子を出力し、
    前記プロセス監視部は、
    前記トランザクション識別子を前記トランザクション処理部より受信し、
    前記トランザクション識別子を前記データベースサーバへ出力することに応じて前記データベース管理部より返信される、前記セッションプロセスを識別するためのセッション識別子を受信し、
    所定の時間経過後に前記セッションプロセスを終了する命令を前記データベースサーバへ送信することを特徴とするアプリケーションサーバ。
  5. アプリケーションサーバと、データベースサーバとを有するトランザクション処理システムの動作方法であって、
    前記アプリケーションサーバにおいて、
    クライアントからトランザクションの要求を受信し、
    トランザクションの処理プロセスを開始し、
    前記トランザクションを識別するためのトランザクション識別子及び前記処理プロセスの開始の通知を保持する監視プロセスを起動し、
    前記処理プロセスより前記トランザクションを識別するためのトランザクション識別子をデータベースサーバへと送信し、前記トランザクションの処理に対応して前記データベースを操作するセッションプロセスの実行を要求し、
    前記データベースサーバにおいて、
    前記トランザクション識別子を受信し、
    前記セッションプロセスを識別するためのセッション識別子を作成して前記トランザクション識別子と対応づけて保持し、
    前記監視プロセスより前記トランザクション識別子を受信すると、前記トランザクション識別子に対応するセッション識別子を前記監視プロセスへ送信し、
    前記セッションプロセスを実行し、
    前記アプリケーションサーバにおいて、
    前記監視プロセスにおいて前記セッション識別子を受信し、
    前記処理プロセスにおいて前記セッションプロセス実行結果を受信し、
    前記処理プロセスにおいてセッションプロセス実行結果に基づく処理実行結果を前記クライアントへ送信して、前記処理プロセスを終了し、
    前記監視プロセスにおいて所定の時間経過後に前記セッションプロセスを終了する命令を前記データベースサーバへ送信し、
    前記データベースサーバにおいて前記セッションプロセスを終了する命令を受信すると、前記セッションプロセスを終了させる
    ことを特徴とするトランザクション処理システムの動作方法。
JP2011059567A 2011-03-17 2011-03-17 トランザクション処理システム及びトランザクション処理システムの動作方法 Expired - Fee Related JP5329589B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011059567A JP5329589B2 (ja) 2011-03-17 2011-03-17 トランザクション処理システム及びトランザクション処理システムの動作方法
US13/237,463 US8825796B2 (en) 2011-03-17 2011-09-20 Transaction processing system and operation of the transaction process system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011059567A JP5329589B2 (ja) 2011-03-17 2011-03-17 トランザクション処理システム及びトランザクション処理システムの動作方法

Publications (2)

Publication Number Publication Date
JP2012194895A true JP2012194895A (ja) 2012-10-11
JP5329589B2 JP5329589B2 (ja) 2013-10-30

Family

ID=46829375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011059567A Expired - Fee Related JP5329589B2 (ja) 2011-03-17 2011-03-17 トランザクション処理システム及びトランザクション処理システムの動作方法

Country Status (2)

Country Link
US (1) US8825796B2 (ja)
JP (1) JP5329589B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9449030B2 (en) 2011-06-30 2016-09-20 International Business Machines Corporation Method for native program to inherit same transaction content when invoked by primary program running in separate environment
US10467117B2 (en) * 2017-01-31 2019-11-05 Salesforce.Com, Inc. Techniques for providing application contextual information
CN107577673B (zh) * 2017-09-22 2019-02-05 北京神州泰岳软件股份有限公司 基于监听与侦测机制的机器人交互方法及装置
US11086853B1 (en) * 2020-10-12 2021-08-10 iodyne, LLC Method and system for streaming data from portable storage devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228406A (ja) * 1997-02-13 1998-08-25 Tec Corp データベース共有システム
JP2002324047A (ja) * 2001-02-12 2002-11-08 Internatl Business Mach Corp <Ibm> 分散クライアント/サーバ環境での自動化セッション・リソース・クリーンアップの方法およびシステム。
JP2008186358A (ja) * 2007-01-31 2008-08-14 Nec Corp データベースアクセスシステムおよびデータベースアクセス方法ならびにプログラム
JP2010211616A (ja) * 2009-03-11 2010-09-24 Ricoh Co Ltd データベース管理システム、ロック障害監視方法及びロック障害監視プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249903A (ja) 2000-03-07 2001-09-14 Toshiba Corp 情報処理システム
US9208480B2 (en) * 2004-11-05 2015-12-08 Rdm Corporation Mobile deposit system for digital image and transaction management
US8141100B2 (en) * 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
US8271402B2 (en) * 2006-12-30 2012-09-18 Troppus Software Corporation Technical support agent and technical support service delivery platform
AU2011223767B2 (en) * 2010-03-01 2015-11-19 Emc Corporation System and method for network security including detection of attacks through partner websites
US8364959B2 (en) * 2010-05-26 2013-01-29 Google Inc. Systems and methods for using a domain-specific security sandbox to facilitate secure transactions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228406A (ja) * 1997-02-13 1998-08-25 Tec Corp データベース共有システム
JP2002324047A (ja) * 2001-02-12 2002-11-08 Internatl Business Mach Corp <Ibm> 分散クライアント/サーバ環境での自動化セッション・リソース・クリーンアップの方法およびシステム。
JP2008186358A (ja) * 2007-01-31 2008-08-14 Nec Corp データベースアクセスシステムおよびデータベースアクセス方法ならびにプログラム
JP2010211616A (ja) * 2009-03-11 2010-09-24 Ricoh Co Ltd データベース管理システム、ロック障害監視方法及びロック障害監視プログラム

Also Published As

Publication number Publication date
US20120239802A1 (en) 2012-09-20
US8825796B2 (en) 2014-09-02
JP5329589B2 (ja) 2013-10-30

Similar Documents

Publication Publication Date Title
US11176172B2 (en) Methods and apparatus for automatic database failover in a master-replica replication configuration
US9043382B2 (en) Stream processing using a client-server architecture
US20070130324A1 (en) Method for detecting non-responsive applications in a TCP-based network
US20160371122A1 (en) File processing workflow management
US9201919B2 (en) Bandwidth optimized two-phase commit protocol for distributed transactions
WO2020211629A1 (zh) 一种基于区块链的短链接消息监听方法及装置
JP5329589B2 (ja) トランザクション処理システム及びトランザクション処理システムの動作方法
CN107277083A (zh) 一种数据交互的处理方法、装置及***
WO2017185615A1 (zh) 一种业务处理设备的业务状态确定方法及调度设备
WO2020006903A1 (zh) 财务数据交互方法、装置、计算机设备和存储介质
CN105373563B (zh) 数据库切换方法及装置
JP2005301436A (ja) クラスタシステムおよびクラスタシステムにおける障害回復方法
CN111031123B (zh) Spark任务的提交方法、***、客户端及服务端
CN100359865C (zh) 一种检测方法
WO2011035608A1 (zh) 一种数据查询***及其构建方法与相应的数据查询方法
JP5056464B2 (ja) プロセス監視方法、情報処理装置、及びプログラム
JP7405260B2 (ja) サーバメンテナンス制御装置、システム、制御方法及びプログラム
US11012537B2 (en) Method for handling long-running client-server processes
JP2013228803A (ja) ワークフロー管理システム、ワークフロー管理方法、サービス状態管理装置、及びワークフロー管理装置
US9087103B2 (en) Enhancing online querying service using client memorization
JP6324304B2 (ja) クライアント装置及び通信システム及びデータ処理方法及びプログラム
US10693826B2 (en) Message Service
CN114924806B (zh) 一种配置信息的动态同步方法、装置、设备及介质
US9411868B2 (en) Passive real-time order state replication and recovery
JP5530810B2 (ja) スケールアウトシステムおよび方法ならびにプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130724

R150 Certificate of patent or registration of utility model

Ref document number: 5329589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees