JP4461777B2 - トランザクション処理システムおよび方法ならびにプログラム - Google Patents

トランザクション処理システムおよび方法ならびにプログラム Download PDF

Info

Publication number
JP4461777B2
JP4461777B2 JP2003384593A JP2003384593A JP4461777B2 JP 4461777 B2 JP4461777 B2 JP 4461777B2 JP 2003384593 A JP2003384593 A JP 2003384593A JP 2003384593 A JP2003384593 A JP 2003384593A JP 4461777 B2 JP4461777 B2 JP 4461777B2
Authority
JP
Japan
Prior art keywords
program
transaction
new
processing
access request
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.)
Expired - Fee Related
Application number
JP2003384593A
Other languages
English (en)
Other versions
JP2005149043A (ja
Inventor
暢達 中村
健一郎 藤山
龍一 平池
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2003384593A priority Critical patent/JP4461777B2/ja
Publication of JP2005149043A publication Critical patent/JP2005149043A/ja
Application granted granted Critical
Publication of JP4461777B2 publication Critical patent/JP4461777B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、トランザクション処理システム、方法およびプログラムに関し、特に現行プログラムによる処理サービスと並行して、同一の機能を達成する異なるバージョンの新規プログラムをその動作確認のために実行することができるトランザクション処理システム、方法およびプログラムに関する。
バージョンは異なるが同一の機能を達成する複数のプログラムを並列に実行する計算機システムの一例として、非特許文献1に記載されるNバージョン方式の耐障害システムが知られている。この耐障害システムでは、複数の異なる開発者によってそれぞれ異なる手法で作成された同一の機能を達成する複数のバージョン(版)のプログラムを計算機システムで並列に実行し、複数のプログラムの出力結果から多数決によりシステムの出力を導出する。
バージョンは異なるが同一の機能を達成する複数のプログラムを並列に実行する計算機システムの他の例が、特許文献1に記載されている。この特許文献1に記載されたトランザクション処理システムは、トランザクションの転送先を切り替えるアクセス制御部と、異なるバージョンのソフトウェアが使用するデータ保存部にアクセスする際に一時的に利用される各データバッファ部と、異なるバージョンのソフトウェア間で排他的に前記データバッファ部へのアクセスを制御するための排他制御部を含む構成となっている。このような構成を有する従来のトランザクション処理システムは、次のように動作する。
ユーザアプリケーションからある処理要求のトランザクションをアクセス制御部が受け取り、これを適切なソフトウェアに選択的に投入する。ソフトウェアを新たに変更する時に、稼動中の古いソフトウェアと新たなソフトウェアが並行に動作し、新規に到着したトランザクションは、新しいソフトウェアに投入される。一時的に、古いソフトウェアで実行中のトランザクション処理と、新しいソフトウェアで開始されたトランザクション処理が同時に動作するが、それらの処理のデータアクセスが矛盾なく行われるために、データアクセスは一時的にデータバッファ部に保存され、新旧のソフトウェアで排他的にデータアクセスが行われるように排他制御が行われる。古いソフトウェアで実行中のトランザクションがすべて終了した時点で、古いソフトウェアから新しいソフトウェアへの変更が完了する。このようにして、トランザクションサービスを停止させることなく、古いソフトウェアから新しいソフトウェアへの変更を可能としている。
非特許文献1に記載されるNバージョン方式の耐障害システムで使用する新たなバージョンのプログラムや特許文献1に記載される新しいソフトウェアは、実際のサービスに供される前に充分なテストを行ってその動作を確認しておく必要がある。このような動作確認は、実際の環境に近い環境で実施することが望まれる。
計算機のプログラムをオンラインでテストする従来技術の一例が特許文献2に記載されている。この特許文献2に記載される分散計算機システムは、ネットワークに接続される複数の計算機から構成され、各計算機内のプログラムはテストフラグ格納ファイルを持ち、各プログラムはテストフラグ格納ファイルの内容に応じてテストモードあるいはオンラインモードで起動され、各プログラムは起動されたモードに対応したフラグを出力データに付加する機能を持ち、被テストプログラムは出力されたテストデータを受け取りテスト処理を行う。そして、複数個のデータを受け取って起動するプログラムを備え、このプログラムはオンラインデータのみを受け取った時にはオンラインモードで起動し、テストデータのみを受け取った時にはテストモードで起動し、テストデータとオンラインデータが混在したデータを受け取った時には、受け取ったテストデータとオンラインデータを用いたテストモードによる起動と、受け取ったテストデータに対応するデータのデフォルト値と受け取ったオンラインデータによるオンラインモードによる起動とを行う。
計算機のプログラムをオンラインでテストする従来技術の他の例が特許文献3に記載されている。この特許文献3に記載されるオンラインテスト方式は、端末装置からトランザクションデータを受信したホストシステムにおいて、トランザクションデータにテスト識別子がセットされているかどうかを判別し、テスト識別子がセットされていない場合には可動中のオンライン環境の下で当該トランザクションデータを処理して結果を端末装置に返し、テスト識別子がセットされていた場合にはオンラインテスト環境の下で当該トランザクションデータを処理して結果を端末装置に返すようにしている。
特開2000-137620号公報 特開平08-335212号公報 特開平05-216827号公報 「Fault tolerance by design diversity: Concepts and experiments」(Avizienis, A., Kelly, J.P.J., IEEE Computer vol.17, no.8, pp:67-80, 1984.)
非特許文献1に見られるNバージョン方式の耐障害システムで使用する新たなバージョンのプログラムや、特許文献1に見られるような現在使用しているプログラムと置き換える新バージョンのプログラムは、実際のサービスに供される前に充分なテストを行ってその動作を確認する必要があり、このような動作確認は、実際の環境に近い環境で実施することが望まれる。特許文献2および特許文献3に見られるテスト手法は、何れもオンライン処理を停止させずにテストプログラムをテストすることが可能である。しかし、何れの従来技術も現行プログラムと同一の機能を達成する異なるバージョンの新規プログラムの動作確認には適していない。その理由は、現行プログラムと同一の機能を達成する異なるバージョンの新規プログラムの動作確認では、現行プログラムと同等の動作が行われていることを確認しなければならないが、特許文献2および3に記載されるテスト手法では、テストプログラムを単にオンラインで実行できるようにしただけで、テストプログラムが現行プログラムと同一の機能を達成していることは確認できないからである。
そこで本発明の目的は、現行プログラムによる処理サービスを停止させずに、現行プログラムとバージョンは異なるが同一の機能を達成する新規プログラムの動作を確認することができるトランザクション処理システムおよび方法を提供することにある。
また本発明の他の目的は、現行プログラムと、そのバージョンは異なるが同一の機能を達成する新規プログラムとで同一のトランザクションを並行して処理し、新規プログラムで処理が正常に行われているかどうかを自動的に検証できるトランザクション処理システムおよび方法を提供することにある。
さらに本発明の別の目的は、現行プログラムによる処理サービスを停止させずに、現行プログラムとバージョンは異なるが同一の機能を達成する新規プログラムの動作を確認することができ、且つ、現行プログラムに代えて動作確認を終えた新規プログラムによる処理サービスを開始することができるトランザクション処理システムおよび方法を提供することにある。
本発明の第1のトランザクション処理システムは、与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段と、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段と、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段と、前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段とを備えたことを特徴とする。ここで、現行プログラムおよび新規プログラムに関連するログとは、典型的には、現行プログラムから返却される応答トランザクション、新規プログラムから返却される応答トランザクションであるが、それのみに限定されない。何故なら、最終結果自体を比較しなくても、その途中の情報を比較することで、新規プログラムが現行プログラムと同等の機能を達成しているかどうかを確認できるからである。途中の情報の例としては、外部データへのアクセス要求がある。また、途中の情報の他の例としては、現行プログラムおよび新規プログラムのCPU使用率、メモリ使用率などの環境情報がある。
本発明の第2のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする。
本発明の第3のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
本発明の第4のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
本発明の第5のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成するものであることを特徴とする。
本発明の第6のトランザクション処理システムは、第5のトランザクション処理システムにおいて、前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする。
本発明の第7のトランザクション処理システムは、第5のトランザクション処理システムにおいて、前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする。
本発明の第8のトランザクション処理システムは、第7のトランザクション処理システムにおいて、前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成するものであり、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送するものであることを特徴とする。
本発明の第9のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする。
本発明の第10のトランザクション処理システムは、第9のトランザクション処理システムにおいて、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする。
本発明の第11のトランザクション処理システムは、第10のトランザクション処理システムにおいて、前記比較検証手段は、比較する応答トランザクションのデータの中で比較する領域、または比較しない領域を指定する情報を保持する手段を備えたことを特徴とする。
本発明の第12のトランザクション処理システムは、第11のトランザクション処理システムにおいて、比較する領域を指定する情報として、比較する領域の先頭アドレスと長さのリストを保持し、前記比較検証手段は、指定された先頭アドレスと長さで特定される比較領域どうしのみを比較するものであることを特徴とする。
本発明の第13のトランザクション処理システムは、第11のトランザクション処理システムにおいて、比較しない領域を指定する情報として、比較しない領域の先頭アドレスと長さのリストを保持し、前記比較検証手段は、指定された先頭アドレスと長さで特定される領域を除いて比較するものであることを特徴とする。
本発明の第14のトランザクション処理システムは、第10のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列に囲まれた領域のみを比較するものであることを特徴とする。
本発明の第15のトランザクション処理システムは、第10のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列を含む行または段落のみを比較するものであることを特徴とする。
本発明の第16のトランザクション処理システムは、第10のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列に囲まれた領域を除いて比較することを特徴とする。
本発明の第17のトランザクション処理システムは、第10のトランザクション処理システムにおいて、前記応答トランザクションは構造化された文書データであり、前記比較検証手段は、あらかじめ指定された文字列を含む行もしくは段落を除いて比較するものであることを特徴とする。
本発明の第18のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする。
本発明の第19のトランザクション処理システムは、第18のトランザクション処理システムにおいて、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする。
本発明の第20のトランザクション処理システムは、第1のトランザクション処理システムにおいて、前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする。
本発明の第21のトランザクション処理システムは、第20のトランザクション処理システムにおいて、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする。
本発明の第22のトランザクション処理システムは、第1乃至第21の何れかのトランザクション処理システムにおいて、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるプログラム切替手段を備えたことを特徴とする。
本発明の第23のトランザクション処理システムは、第22のトランザクション処理システムにおいて、前記プログラム切替手段は、現行プログラムを停止させるものであることを特徴とする。
本発明の第24のトランザクション処理システムは、第22のトランザクション処理システムにおいて、前記プログラム切替手段は、前記現行プログラムを停止させずに前記新規プログラムと並行して動作させ続けるものであることを特徴とする。
本発明の第1のトランザクション処理方法は、a)それぞれ異なるプログラム実行手段が、与えられた処理要求トランザクションに応じた処理を行う現行プログラムと与えられた処理要求トランザクションに応じた処理を行う新規プログラムとを並行して実行するステップと、b)トランザクション入出力手段が、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するステップと、c)外部アクセス管理手段が、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理するステップと、d)ログ採取手段が、前記現行プログラムおよび前記新規プログラムに関連するログを採取するステップと、を含むことを特徴とする。
本発明の第2のトランザクション処理方法は、第1のトランザクション処理方法において、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送することを特徴とする。
本発明の第3のトランザクション処理方法は、第1のトランザクション処理方法において、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送すると共に記憶手段に一旦保存し、該保存した処理要求トランザクションを読み出して前記新規プログラムに転送することを特徴とする。
本発明の第4のトランザクション処理方法は、第1のトランザクション処理方法において、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを記憶手段に一旦保存し、該保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送することを特徴とする。
本発明の第5のトランザクション処理方法は、第1のトランザクション処理方法において、前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成することを特徴とする。
本発明の第6のトランザクション処理方法は、第5のトランザクション処理方法において、前記外部アクセス管理手段は、前記プログラム実行手段と独立に動作することを特徴とする。
本発明の第7のトランザクション処理方法は、第5のトランザクション処理方法において、前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする。
本発明の第8のトランザクション処理方法は、第7のトランザクション処理方法において、前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成し、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送することを特徴とする。
本発明の第9のトランザクション処理方法は、第1のトランザクション処理方法において、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取することを特徴とする。
本発明の第10のトランザクション処理方法は、第9のトランザクション処理方法において、e)比較検証手段が、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存するステップ、を更に含むことを特徴とする。
本発明の第11のトランザクション処理方法は、第1のトランザクション処理方法において、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取することを特徴とする。
本発明の第12のトランザクション処理方法は、第11のトランザクション処理方法において、e)比較検証手段が、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存するステップ、を更に含むことを特徴とする。
本発明の第13のトランザクション処理方法は、第1のトランザクション処理方法において、前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取することを特徴とする。
本発明の第14のトランザクション処理方法は、第13のトランザクション処理方法において、e)比較検証手段が、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存するステップ、を更に含むことを特徴とする。
本発明の第15のトランザクション処理方法は、第1乃至第14の何れかのトランザクション処理方法において、f)プログラム切替手段が、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるステップ、を更に含むことを特徴とする。
本発明の第1のプログラムは、与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段とを備えたトランザクション処理システムを構成するコンピュータを、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段、前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段、として機能させることを特徴とする。
本発明の第2のプログラムは、第1のプログラムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする。
本発明の第3のプログラムは、第1のプログラムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
本発明の第4のプログラムは、第1のプログラムにおいて、前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする。
本発明の第5のプログラムは、第1のプログラムにおいて、前記外部アクセス管理手段は、前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成するものであることを特徴とする。
本発明の第6のプログラムは、第5のプログラムにおいて、前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする。
本発明の第7のプログラムは、第5のプログラムにおいて、前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする。
本発明の第8のプログラムは、第7のプログラムにおいて、前記マスター外部アクセス管理手段は、前記現行プログラムからアクセス要求が与えられた場合には、前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記スレーブ外部アクセス管理手段からアクセス要求が与えられた場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記スレーブ外部アクセス管理手段に返却するアクセス要求結果を生成するものであり、前記スレーブ外部アクセス管理手段は、前記新規プログラムからアクセス要求が与えられたときに、そのアクセス要求を前記マスター外部アクセス管理手段に転送し、前記マスター外部アクセス管理手段から返却されたアクセス要求結果を前記新規プログラムに転送するものであることを特徴とする。
本発明の第9のプログラムは、第1のプログラムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする。
本発明の第10のプログラムは、第9のプログラムにおいて、前記コンピュータを、更に、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする。
本発明の第11のプログラムは、第1のプログラムにおいて、前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする。
本発明の第12のプログラムは、第11のプログラムにおいて、前記コンピュータを、更に、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする。
本発明の第13のプログラムは、第1のプログラムにおいて、前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする。
本発明の第14のプログラムは、第13のプログラムにおいて、前記コンピュータを、更に、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする。
本発明の第15のプログラムは、第1乃至第14の何れかのプログラムにおいて、前記コンピュータを、更に、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替えるプログラム切替手段、として機能させることを特徴とする。
本発明の第1のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを現行プログラムおよび新規プログラムの双方に与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。これによって、新しいプログラムへのシステムの切り替えの安全性をより確実に確認することができる。
本発明の第2のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを複製して現行プログラムおよび新規プログラムの双方に与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。
本発明の第3のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを複製して現行プログラムに与えると同時に記憶手段を通じて新規プログラムに与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。また、新規プログラムに与える処理要求トランザクションは記憶手段経由で与えるため、現行プログラムに対する処理要求トランザクションの投入と新規プログラムに対する同じ処理要求トランザクションの投入とを非同期に並行して実行でき、新規プログラムの不具合による現行プログラムへの影響を抑えることができる。
本発明の第4のトランザクション処理システムおよび方法ならびにプログラムにあっては、現行プログラムと新規プログラムとを並行して実行し、処理要求元から受信した処理要求トランザクションを記憶手段に一旦保存し、記憶手段から処理要求トランザクションを読み出して現行プログラムおよび新規プログラムの双方に与え、現行プログラムから得られた応答トランザクションを処理要求元に送信し、現行プログラムおよび新規プログラムに関連するログを採取するため、現行プログラムによる処理サービスを停止させずに、別の新規プログラムの動作を現行プログラムの動作と比較させて確認することができる。また、新規プログラムに与える処理要求トランザクションは記憶手段経由で与えるため、現行プログラムに対する処理要求トランザクションの投入と新規プログラムに対する同じ処理要求トランザクションの投入とを非同期に並行して実行でき、新規プログラムの不具合による現行プログラムへの影響を抑えることができ、さらに、処理要求トランザクションの投入経路が現行プログラムと新規プログラムで同じになるため、現行プログラムと新規プログラムの処理の比較がより正確に行える。
本発明の第5のトランザクション処理システムおよび方法ならびにプログラムにあっては、第1のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、現行プログラムと新規プログラムとで同じ外部データが2度アクセスされる事態を回避でき、また動作確認中の新規プログラムからの予期せぬ不正なアクセス要求によって外部データが破壊されるなどの不測の事態を回避できる。
本発明の第6のトランザクション処理システムおよび方法ならびにプログラムにあっては、第5のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、外部アクセス管理手段がプログラム実行手段と独立しているため、外部アクセス管理手段をネットワークデータ処理を行うネットワークノードの1つとして実装するといったことが可能となる。
本発明の第7のトランザクション処理システムおよび方法ならびにプログラムにあっては、第5のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、外部アクセス管理手段が、現行プログラムを実行するプログラム実行手段に設けられたマスター外部アクセス管理手段と、新規プログラムを実行するプログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されるため、外部アクセス管理手段をプログラム実行手段を構成するコンピュータにおけるネットワークアクセスを行うプログラムライブラリの1つとして実装するといったことが可能となる。
本発明の第8のトランザクション処理システムおよび方法ならびにプログラムにあっては、第7のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、現行プログラムと新規プログラムとで同じ外部データが2度アクセスされる事態を回避でき、また動作確認中の新規プログラムからの不正なアクセス要求によって外部データが破壊されるなどの不測の事態を回避できる。
本発明の第9のトランザクション処理システムおよび方法ならびにプログラムは、第1のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、現行プログラムおよび新規プログラムの応答トランザクションどうしを直接比較することが可能である。
本発明の第10のトランザクション処理システムおよび方法ならびにプログラムは、第9のトランザクション処理システムおよび方法ならびにプログラムと同じ効果が得られると共に、比較検証手段によって、現行プログラムの応答トランザクションと新規プログラムの応答トランザクションとの比較、その差異情報の表示もしくは保存を自動的に行うことができる。これによって、切り替えようとしている新しいプログラムに不具合があった場合に、より容易にその不具合を発見することができる。
本発明の第11のトランザクション処理システムにあっては、第10のトランザクション処理システムと同じ効果が得られると共に、比較する応答トランザクションのデータの中で比較する領域、または比較しない領域を指定することができる。
本発明の第12のトランザクション処理システムにあっては、第11のトランザクション処理システムと同じ効果が得られると共に、比較する領域を指定する情報として、比較する領域の先頭アドレスと長さのリストを指定でき、指定した先頭アドレスと長さで特定される比較領域どうしのみを比較することができる。
本発明の第13のトランザクション処理システムにあっては、第11のトランザクション処理システムと同じ効果が得られると共に、比較しない領域を指定する情報として、比較しない領域の先頭アドレスと長さのリストを指定でき、指定した先頭アドレスと長さで特定される領域を除いて比較することができる。
本発明の第14のトランザクション処理システムにあっては、第10のトランザクション処理システムと同じ効果が得られると共に、比較検証において、あらかじめ指定された文字列に囲まれた領域のみを比較することができる。
本発明の第15のトランザクション処理システムにあっては、第10のトランザクション処理システムと同じ効果が得られると共に、比較検証において、あらかじめ指定された文字列を含む行または段落のみを比較することができる。
本発明の第16のトランザクション処理システムにあっては、第10のトランザクション処理システムと同じ効果が得られると共に、比較検証において、構造化された文書データを対象として、あらかじめ指定された文字列に囲まれた領域を除いて比較することができる。
本発明の第17のトランザクション処理システムにあっては、第10のトランザクション処理システムと同じ効果が得られると共に、比較検証において、構造化された文書データを対象として、あらかじめ指定された文字列を含む行もしくは段落を除いて比較することができる。
本発明の第18のトランザクション処理システムにあっては、第1のトランザクション処理システムと同じ効果が得られると共に、現行プログラムおよび新規プログラムの外部データに対するアクセス要求どうしを直接比較することが可能である。
本発明の第19のトランザクション処理システムにあっては、第18のトランザクション処理システムと同じ効果が得られると共に、現行プログラムのアクセス要求と新規プログラムのアクセス要求との比較、その差異情報の表示もしくは保存を自動的に行うことができる。
本発明の第20のトランザクション処理システムにあっては、第1のトランザクション処理システムと同じ効果が得られると共に、現行プログラムを実行するプログラム実行手段の環境情報と新規プログラムを実行するプログラム実行手段の環境情報とを比較することができる。
本発明の第21のトランザクション処理システムにあっては、第1のトランザクション処理システムと同じ効果が得られると共に、現行プログラムの環境情報と新規プログラムの環境情報との比較、その差異情報の表示もしくは保存を自動的に行うことが可能である。
本発明の第22のトランザクション処理システムにあっては、第1乃至第21のトランザクション処理システムと同じ効果が得られると共に、新規プログラムの動作確認後、問題が見つからなければ、現行プログラムから新規プログラムへのトランザクション処理を速やかに切替えることができる。
本発明の第23のトランザクション処理システムにあっては、第22のトランザクション処理システムと同じ効果が得られると共に、現行プログラムを停止させるため、システムのCPU使用率や消費電力を低減することができる。
本発明の第24のトランザクション処理システムにあっては、第22のトランザクション処理システムと同じ効果が得られると共に、現行プログラムを停止させずに新規プログラムと並行して動作させ続けるため、若し、新規プログラムに不具合が発見され、元の現行プログラムによるトランザクション処理に戻す場合に、現行プログラムを一から起動する手間と時間を省くことができる。
本発明の第11のトランザクション処理方法およびプログラムにあっては、第1のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムおよび新規プログラムの外部データに対するアクセス要求どうしを直接比較することが可能である。
本発明の第12のトランザクション処理方法およびプログラムにあっては、第11のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムのアクセス要求と新規プログラムのアクセス要求との比較、その差異情報の表示もしくは保存を自動的に行うことができる。
本発明の第13のトランザクション処理方法およびプログラムにあっては、第1のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムを実行するプログラム実行手段の環境情報と新規プログラムを実行するプログラム実行手段の環境情報とを比較することができる。
本発明の第14のトランザクション処理方法およびプログラムにあっては、第13のトランザクション処理方法およびプログラムと同じ効果が得られると共に、現行プログラムの環境情報と新規プログラムの環境情報との比較、その差異情報の表示もしくは保存を自動的に行うことが可能である。
本発明の第15のトランザクション処理方法およびプログラムにあっては、第1乃至第14のトランザクション処理方法およびプログラムと同じ効果が得られると共に、新規プログラムの動作確認後、問題が見つからなければ、現行プログラムから新規プログラムへのトランザクション処理を速やかに切替えることができる。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態にかかるトランザクション処理システム1001は、インターネットブラウザのようなクライアント(端末装置)100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200、300の間にあってトランザクションを複製および転送するトランザクション複製転送部1と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、現行プログラム2の応答トランザクションを保存もしくは出力する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存もしくは出力する新規プログラム応答トランザクション出力部8とを含む。
現行プログラム2は、クライアント100に対してサービスを実際に提供するプログラムであり、正常に動作することが既に確認されている。これに対して新規プログラム3は、現行プログラム2と同等の機能を提供するがバージョンが異なるプログラムであり、正常に動作するか否かは未だ確認されていない。プログラム実行部200、300はコンピュータ(中央処理装置、プロセッサ、データ処理装置)で構成されるが、双方のプログラム実行部200と300は必ずしも異なるコンピュータである必要はなく、同じコンピュータであっても良い。
次に、図1及び図2のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、クライアント100において、サービス要求が発生すると(S101)、処理要求トランザクションがクライアント100から送信され(S102)、トランザクション複製転送部1で受信される(S103)。ここで、トランザクションは複製されて、1つは現行の処理プログラム2に処理されるように送信され(S104)、もう1つは新規プログラム3に処理されるように送信される(S105)。
現行プログラム2では、処理要求トランザクションを受信し(S106)、トランザクション処理を実行し(S107)、その処理結果を処理応答トランザクションとしてトランザクション複製転送部1に向けて送信する(S108)。トランザクション複製転送部1は処理応答トランザクションを受信すると(S109)、受信した処理応答トランザクションを現行プログラム応答トランザクション出力部7に送信すると同時に、処理要求元のクライアント100に送信する(S110)。クライアント100は処理応答トランザクションを受信する(S111)。現行プログラム応答トランザクション出力部7は、受信した処理応答トランザクションを内部の記憶装置に保存するか、図示しないディスプレイやプリンタなどの出力装置から出力する。
一方、新規プログラム3では、処理要求トランザクションを受信すると(S112)、トランザクション処理を実行し(S113)、その処理結果を処理応答トランザクションとしてトランザクション複製転送部1に向けて送信する(S114)。トランザクション複製転送部1は、処理応答トランザクションを受信すると(S115)、受信した処理応答トランザクションを新規プログラムトランザクション出力部8に伝達するが、クライアント100には転送しない。新規プログラム応答トランザクション出力部8は、受信した処理応答トランザクションを内部の記憶装置に保存するか、図示しないディスプレイやプリンタなどの出力装置から出力する。
次に、図3を用いて、現行プログラム2および新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスを行う場合の外部アクセス管理部4の動作について詳細に説明する。
現行プログラム2において外部データ400へのアクセスがあると、外部アクセス管理部4では、その外部データ400へのアクセス要求を受信する(S201、S202)。その要求が、現行プログラム2からのものであれば(S203)、実際に外部データ400をアクセスするために外部のシステムへアクセス要求を送信する(S204)。外部のシステムがその要求を処理し、応答があると、外部アクセス管理部4では、そのアクセス応答を受信する(S205)。そして、その応答を現行プログラム2に送信する(S206)。もし、外部のシステムからの応答がなく、何らかのエラー結果があれば、エラー結果を送信する。これらのアクセス情報は、以下に述べるように新規プログラム3からのアクセスの際に利用できるように、外部アクセス管理部4内に備わる保存部4aに保存される(S207)。すなわち、現行プログラム2から1回アクセス要求が出される毎に、そのアクセス要求を一意に識別するためのアクセス要求情報4bとそのアクセス要求結果情報4cとの組が保存部4aに保存される。アクセス要求結果情報4cには、読み込みや書き込みが成功したか失敗したかを示すアクセス結果と、読み込みアクセスの場合の読み込まれたデータとが含まれる。
新規プログラム3において外部データ400へのアクセスがあると、外部アクセス管理部4では、その外部データへのアクセス要求を受信する(S201、S202)。その要求が、新規プログラム3からのものであれば(S203)、同じアクセス要求が、現行プログラム2から既に行われているかどうかを保存部4aの内容を調べてチェックする(S210)。もし、現行プログラム2からの同じアクセス要求にかかるアクセス要求情報4bがまだ存在しなければ、所定のタイムアウト時間だけ、繰り返しチェックを行い(S213)、タイムアウト時には、新規プログラム3にエラー結果を送信する(S214)。もし、現行プログラム2からの同じアクセス要求にかかるアクセス要求情報4bがあれば、それに対応するアクセス要求結果情報4cに応答情報もしくは何らかのエラー結果が保存されているので、それを抽出し(S211)、新規プログラム3に外部データ400からのアクセス結果として送信する(S212)。
つまり、現行プログラム2が外部データ400から読み込みを行う場合、読み込みを行ったデータと読み込み結果はアクセス要求結果情報4cとして保存される。新規プログラム3が外部データ400から読み込みを行う場合、保存されている現行プログラム2が読み込んだデータおよびその読み込み結果が利用される。いわゆるキャッシュデータの読み込みとほぼ同じ動作を行う。現行プログラム2が外部データへ書き込みを行う場合は、通常通り書き込みは行われ、その書き込み結果がアクセス要求結果情報4cとして保存される。新規プログラム3が外部データ400へ書き込みを行う場合は、実際の書き込みは行われず、アクセス要求結果情報4cに保存されている現行プログラム2が書き込んだ際の書き込み結果が新規プログラム3に返却される。
次に、本実施の形態の効果について説明する。本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、現行プログラム2によるオンライン業務に影響を与えずに、新規プログラム3を並行して実行することが可能である。また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができる。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図4を参照すると、本発明の第2の実施の形態にかかるトランザクション処理システム1002は、図1に示した第1の実施の形態にかかるトランザクション処理システム1001における外部アクセス管理手段4を、マスター外部アクセス管理部4Aとスレーブ外部アクセス管理部4Bとに分離し、それぞれ現行プログラム2を実行するプログラム実行部200と、新規プログラム3を実行するプログラム実行部300に含むように構成されている。
次に、図4及び図5のフローチャートを用いて、マスター外部アクセス管理部4Aの動作について詳細に説明する。
現行プログラム2において、外部データ400へのアクセスがあると(S301)、マスター外部アクセス管理部4Aは、外部データ400へのアクセス要求を受信し(S302)、そのアクセス要求を外部データ400に送信し(S303)、外部データ400からの応答を受信し(S304)、さらに現行プログラム2にその応答を送信し(S305)、そのアクセス情報を内部の保存部4aに保存する(S306)。アクセス情報の保存は外部アクセス管理部4の場合と同様に行われる。次に新規プログラム3からの同一のアクセス要求があるかどうかをチェックし(S307)、もしあればその応答を保存部4aから抽出し、送信する(S308)。ここでは、1つのプロセスとして、説明を行ったが、現行プログラム2からの要求の受信および応答の転送と保存を行うS302からS306の処理と、新規プログラム3からのアクセスに応答して、外部データ400から応答を抽出し、送信するS307からS308の処理は、別プロセスでもよい。
次に、図4及び図6のフローチャートを用いて、スレーブ外部アクセス管理部4Bの動作について詳細に説明する。
新規プログラム3において、外部データ400へのアクセスがあると(S401)、マスター外部アクセス管理部4Aに対して、同一のアクセスが現行プログラム2で実行されていれば、そのアクセス結果を送信するように要求する(S402)。もし、マスター外部アクセス管理部4Aから応答があれば(S403)、それを外部データ400からのアクセス結果として受信する(S404)。もし、マスター外部アクセス管理部4Aから応答がなければ(S403)、所定のタイムアウト時間だけ、応答のチェックを繰り返す(S405)。タイムアウト時には、エラー処理を行う(S406)。
次に、本発明の第2の実施の形態の効果について説明する。
本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能となっており、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作検証を行うことができる。
さらに、本実施の形態では、第1の実施の形態における外部アクセス管理手段4を、現行プログラム2および新規プログラム3を実行する各プログラム実行部200,300に含むように構成しているので、第1の実施の形態の効果に加え、より正確な外部アクセスを行うことができる。その理由は、第1の実施の形態では、外部データ400へのアクセスを行う通信の経路上に外部アクセス管理部4を設けて、要求および応答を代理転送しているので、接続情報がこのような代理接続の構成と、通常の直接接続の構成とでは異なる場合があるためである。例えば、外部アクセス管理部4が外部データ400に接続を確立できなくても、プログラムからみると、外部アクセス管理部4への接続を確立し、その後エラー情報が通信されることになり、そのエラー状態は直接接続しようとして接続できないエラー状態と異なる。第2の実施の形態では、プログラム実行部を構成するコンピュータ内部のマスター外部アクセス管理部4Aからの接続であるので、そのような差異は発生しない。
ただし、第2の実施の形態では、コンピュータ内部での処理に変更を加えることになるので、コンピュータ内部の処理に影響する場合があり、プログラムによっては、第1の実施の形態の方が好適である場合がある。実装上、第1の実施の形態の外部アクセス管理部4は、ネットワークデータ処理を行うネットワークノードの1つとして実装され、第2の実施の形態のマスター外部アクセス管理部4Aおよびスレーブ外部アクセス管理部4Bは、ネットワークアクセスを行うプログラムライブラリの1つとして実装され、第1の実施の形態では、コンピュータに含まれるソフトウェアを変更する必要がない。
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図7を参照すると、本発明の第3の実施の形態にかかるトランザクション処理システム1003は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部(コンピュータ、中央処理装置、プロセッサ、データ処理装置など)200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200の間にあってトランザクションを複製転送するトランザクション複製転送部1'と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、トランザクション複製転送部1'の処理する処理要求トランザクションを保持する要求トランザクション保存部5と、その保持されたトランザクションから適切なトランザクションを抽出し、新規プログラム3に転送するトランザクション転送部6と、現行プログラム2の応答トランザクションを保存もしくは出力する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存もしくは出力する新規プログラム応答トランザクション出力部8とを含む。
次に、本発明の第3の実施の形態の動作を、第1の実施の形態との相違点を中心に説明する。
トランザクション複製転送部1'は、クライアント100とプログラム実行部200の間にあって、クライアント100から受信したトランザクション処理要求をプログラム実行部200の現行プログラム2に転送する。その際、受信したトランザクション処理要求を複製し、複製したトランザクション処理要求を要求トランザクション保存部5に保存する。また、トランザクション複製転送部1'は、現行プログラム2から処理応答トランザクションを受信すると、それをクライアント100に転送する。その際、トランザクション複製転送部1'は、処理応答トランザクションを複製し、複製した処理応答トランザクションを現行プログラム応答トランザクション出力部7に伝達する。現行プログラム応答トランザクション出力部7は、受け取った処理応答トランザクションを内部の記憶部に保存するか、もしくは図示しないディスプレイやプリンタなどの出力装置から出力する。
要求トランザクション保存部5は、トランザクション転送部6から読み込み可能となっている。トランザクション転送部6は、新たに要求トランザクション保存部5に保持された処理要求トランザクションを新規プログラム3に送信し、新規プログラム3がその処理要求トランザクションを処理した後に送信してくる処理応答トランザクションを受信する。トランザクション転送部6は受信した処理応答トランザクションを、新規プログラム応答トランザクション出力部8に伝達する。新規プログラム応答トランザクション出力部8は、受け取った処理応答トランザクションを内部の記憶部に保存するか、もしくは図示しないディスプレイやプリンタなどの出力装置から出力する。
次に、本発明の第3の発明を実施するための形態の効果について説明する。
本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能となっており、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作検証を行うことができる。
さらに、本発明の実施の形態では、トランザクション複製転送部1'は、新規プログラム3と直接通信を行わないので、新規プログラム3の処理と同期することはない。そのため、現行プログラム2を実行しながら、新規プログラム3を非同期で並行して実行することが可能となっている。これは、新規プログラム3の動作に不具合があった場合に、その不具合と現行サービスを行っている現行プログラム2を含む系統のトランザクション処理とは独立しているので、その不具合の影響を少なくするという効果がある。
さらに、図7に示すように、別のトランザクション転送部6'、新規プログラム3'、そのプログラムを動作させるプログラム実行部300'を複数用意し、要求トランザクション保存部5を複数のトランザクション転送部6,6'からアクセス可能とすることで、複数の新規プログラム3,3'を並行して動作させることが可能となる。これによって、一度に複数のバージョンの新規プログラム3,3'の動作を確認することができる。
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
図8を参照すると、本発明の第4の実施の形態にかかるトランザクション処理システム1004は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部(コンピュータ、中央処理装置、プロセッサ、データ処理装置など)200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100からの処理要求トランザクションを保存する要求トランザクション保存部5と、その保持されたトランザクションから適切なトランザクション抽出し、現行プログラム2、新規プログラム3にそれぞれ転送するトランザクション転送部6A,6Bと、現行プログラム2の応答トランザクションを保存もしくは出力する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存もしくは出力する新規プログラム応答トランザクション出力部8とを含む。
本実施の形態では、第3の実施の形態と同様に、新規プログラム3の動作に不具合があった場合に、その不具合と現行サービスを行っている現行プログラム2を含む系統のトランザクション処理とは独立しているので、その不具合の影響を少なくするという効果がある。
また、第3の実施の形態と比較して、クライアント100からの要求処理トランザクションを保存後、抽出して、現行プログラム2への転送処理を行っているので、その応答速度は劣ることになる。しかしながら、トランザクション複製転送部が不要であるので、システム構築が容易となる効果がある。さらに、現行プログラム2のトランザクション処理経路と、新規プログラム3のトランザクション処理経路とが、要求トランザクション保存部5とトランザクション転送部6A,6Bを経由している点で同じになり、現行プログラム2と新規プログラム3の処理の比較がより正確に行えるという効果がある。
勿論、本実施の形態では、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能となっており、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作検証を行うことができる。
次に、本発明の第5の発明を実施するための形態について図面を参照して詳細に説明する。
図9を参照すると、本発明の第5の実施の形態にかかるトランザクション処理システム1005は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部(コンピュータ、中央処理装置、プロセッサ、データ処理装置など)200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とコンピュータ200の間にあってトランザクションを複製および転送するトランザクション複製転送部1"と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、トランザクション複製転送部1"の処理するトランザクションを保持する要求トランザクション保存部5と、その保持されたトランザクションから適切なトランザクションを抽出し、新規プログラム3に転送するトランザクション転送部6"と、現行プログラム2の応答トランザクションを保存する現行プログラム応答トランザクション出力部7と、新規プログラム3の応答トランザクションを保存する新規プログラム応答トランザクション出力部8と、これら応答トランザクション出力部7,8に保存されている対応する応答トランザクションどうしを比較する比較検証部9とを含む。
すなわち、本発明の第5の実施の形態にかかるトランザクション処理システム1005は、図7の第3の実施の形態にかかるトランザクション処理システム1003における現行プログラム応答トランザクション出力部7と新規プログラム応答トランザクション出力部8との間に比較検証部9を設けた点で相違し、それ以外は第3の実施の形態と同じである。
次に、図10のフローチャートを参照して、比較検証部9の動作について詳細に説明する。比較検証部9は、順次各トランザクションについて、比較検証を実行する。まず最初の比較検証のトランザクションを選択し(S501)、現行プログラム2の応答トランザクションを現行プログラム応答トランザクション出力部7から読み込む(S502)。次に、そのトランザクションに対応する新規プログラム3の応答トランザクションを新規プログラム応答トランザクション出力部8から読み込む(S503)。次に、各応答トランザクションから比較検証領域の抽出を行う(S504)。この比較検証領域の抽出の詳細は後述する。次に抽出された領域のデータが一致しているかどうか比較検証処理を行う(S505)。もし差異があれば、図示しないディスプレイに差異情報の表示を行うか、もしくは差異情報を内部の記憶部に保存する(S507)。もし次のトランザクションがなければ、新たなトランザクションがあるまで待つ(S508)。もし、次のトランザクションがあれば、その次のトランザクションの比較検証に選択を移し、上記の処理を繰り返す(S501)。
S504の比較領域の抽出について説明する。比較領域の抽出ステップS504では、例えば、応答トランザクションがXMLのような構造化テキストデータである場合、あらかじめ比較検証の対象となるタグ、もしくは比較検証の除外対象となるタグを指定しておき、指定されたタグで囲まれた領域、もしくは指定されたタグで囲まれていない領域を抽出する。または、指定されたタグが含まれる行や段落、もしくは指定されたタグが含まれていない行や段落を抽出してもよい。このような、構造化テキストデータの処理に関しては広く知られた技術であるので、ここでは詳しい説明は省く。また、応答トランザクションが一般的なデータであっても、あらかじめ比較対象領域または比較対象外領域が、先頭アドレスと長さで指定されていれば、比較領域の抽出を行うことが可能である。
比較領域の指定は、利用者が設定ファイルに記述し、それを比較検証部9が読み込む手法であっても良いし、また現行プログラム2を冗長に実行し、複数の現行プログラム2の処理応答トランザクションを比較することで、比較対象領域となる同一であるべき領域、もしくは比較対象外領域となる差異があってもよい領域を自動的に抽出してもよい。
このように本発明の第5の実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成され、現行プログラム2を実行しながら、新規プログラム3を並行して実行し、それらのプログラムのクライアント100への出力である処理応答を比較検証し、新規プログラム3の処理動作と現行プログラム2の処理動作とを容易に比較することができる効果がある。
次に、本発明の第6の実施の形態について図面を参照して詳細に説明する。
図11を参照すると、本発明の第6の実施の形態にかかるトランザクション処理システム1006は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部(コンピュータ、中央処理装置、プロセッサ、データ処理装置など)200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200、300の間にあってトランザクションを複製転送するトランザクション複製転送部1と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4'と、現行プログラム2が外部データ400に対して行ったアクセス要求を保存する現行プログラム外部アクセス保存部10と、新規プログラム3が外部データ400に対して行ったアクセス要求を保存する新規プログラム外部アクセス保存部11と、これらの外部アクセス保存部10,11に保存されている対応する外部データ400へのアクセス要求どうしを比較する比較検証部12とを含む。
すなわち、本実施の形態のトランザクション処理システム1006は、図1に示した第1の実施の形態のトランザクション処理システム1001における現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に代えて、現行プログラム外部アクセス保存部10、新規プログラム外部アクセス保存部11および比較検証部12を設けた点で相違する。
次に、本発明の第6の実施の形態に含まれる構成にあって、第1の実施の形態と異なる構成を中心にその動作を説明する。外部アクセス管理部4'は、図1に示した第1の実施の形態における外部アクセス管理部4と同様に、現行プログラム2および新規プログラム3の外部データアクセスを管理する。その際、外部アクセス管理部4'は、各プログラム2、3の外部データ400へのアクセス要求を現行プログラム外部アクセス保存部10および新規プログラム外部アクセス保存部11に渡す。
現行プログラム外部アクセス保存部10は、現行プログラム2が外部データ400に対して行ったアクセス要求を保存し、新規プログラム外部アクセス保存部11は、新規プログラム3が外部データ400に対して行ったアクセス要求を保存する。比較検証部12は、現行プログラム外部アクセス保存部10および新規プログラム外部アクセス保存部11に保存された対応する外部データ400へのアクセス要求どうしを比較し、差異があるかどうかを検証する。そして、検証結果である差異情報を図示しないディスプレイに表示するか、あるいは内部の記憶部に記憶する。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成され、現行プログラム2を実行しながら、新規プログラム3を並行して実行し、それらのプログラムの外部データ400への出力であるアクセス要求を比較検証し、新規プログラム3の処理動作(経過)を現行プログラム2の処理動作(経過)と容易に比較することができる効果がある。
次に、本発明の第7の発明を実施するための形態について図面を参照して詳細に説明する。
図12を参照すると、本発明の第7の実施の形態にかかるトランザクション処理システム1007は、インターネットブラウザのようなクライアント100からの処理要求トランザクションを受信して、そのトランザクションに応じた処理を行う現行プログラム2が動作するプログラム実行部(コンピュータ、中央処理装置、プロセッサ、データ処理装置など)200と、同じくそのトランザクションに応じた処理を行う新規プログラム3が動作するプログラム実行部300と、クライアント100とプログラム実行部200、300の間にあってトランザクションを複製および転送するトランザクション複製転送部1と、現行プログラム2と新規プログラム3がデータベースシステムやインターネットWebサービスシステムなどの外部システムに存在する外部データ400にアクセスする際にそのアクセスを管理する外部アクセス管理部4と、プログラム実行部200から環境情報を取得して保存する現行プログラム環境情報保存部21と、プログラム実行部300から環境情報を取得して保存する新規プログラム環境情報保存部22と、双方の保存部21、22に保存された環境情報を比較検証し、その結果を保存あるいは出力する比較検証部20とを含む。ここで、環境情報とは、プログラム実行部を構成するコンピュータの使用状態、稼動中プロセスの実行状態、CPU使用率、メモリの使用状態などのことである。
すなわち、本実施の形態のトランザクション処理システム1007は、図1に示した第1の実施の形態のトランザクション処理システム1001における現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に代えて、現行プログラム環境情報保存部21、新規プログラム環境情報保存部22および比較検証部20を設けた点で相違する。
次に、本発明の第7の実施の形態に含まれる構成にあって、第1の実施の形態と異なる構成を中心にその動作について説明する。現行プログラム環境情報保存部21および新規プログラム環境情報保存部22は、現行プログラム2の動作するプログラム実行部200および新規プログラム3の動作するプログラム実行部300の環境情報を採取して保存する。例えば、プログラム実行部200、300を構成するコンピュータがアクティブがどうか、そのコンピュータ内のプロセスがアクティブかどうか、そのコンピュータもしくはプロセスの負荷、メモリ使用率、IO使用率などを監視する。このような環境情報を監視するソフトウェアは、すでに広く利用され、知られているので、ここでは詳細な説明を省く。
比較検証部20は、現行プログラム2の稼動するプログラム実行部200から採取された環境情報を現行プログラム環境情報保存部21から入力し、新規プログラム3の稼動するプログラム実行部300から採取された環境情報を新規プログラム環境情報保存部22から入力し、双方を比較検証して、ある環境情報のデータの差分値があらかじめ指定された値以上に異なる場合、もしくはいくつかの環境情報のデータを使った評価式の値があらかじめ指定された閾値を超えれば、その差異情報を内部の記憶部に保存するか、もしくはディスプレイやプリンタなどの出力装置に出力する。評価式とは、たとえばプロセスのCPU負荷平均の差分をd1、メモリ使用率をd2、IO使用率をd3とし、それぞれ重み係数wn=(1≦n≦3)との積の和(w1・d1+w・d+w・d)のようなものである。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成され、現行プログラム2を実行しながら、新規プログラム3を並行して実行し、それらの実行処理中の環境情報を採取して比較検証部20を用いて比較検証することにより、新規プログラム3の処理動作(経過)を現行プログラム2の処理動作(経過)と容易に比較することができる効果がある。
次に、本発明の第8の実施の形態について図面を参照して詳細に説明する。
図13を参照すると、本発明の第8の実施の形態にかかるトランザクション処理システム1008は、図1に示した第1の実施の形態にかかるトランザクション処理システム1001にプログラム切替部32を付加した構成となっている。プログラム切替部32は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、図14のフローチャートを参照して、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
次にプログラム切替部32は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図3を参照して説明した動作を意味する。他方、新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。このような動作の切替えを行う外部アクセス管理部4の処理例を図15に示す。図15において、S201〜S214は図3と同じである。S701は、テスト併用モードか、新規運用モードかを判別するステップであり、テスト併用モードであれば図3で説明したステップS203〜S207、S210〜S214を実行する(S707)。他方、新規運用モードであれば、新規プログラム3からのアクセス要求かどうかを判別し(S702)、新規プログラム3からのアクセス要求であれば、実際に外部データ400をアクセスするために外部のシステムへアクセス要求を送信し(S703)、外部のシステムがその要求を処理し、応答があると、そのアクセス応答を受信し(S704)、このアクセス応答を新規プログラム3に送信する(S705)。新規運用モードになる前に現行プログラム2は停止されているので、現行プログラム2からアクセス要求が出されることはないが、何らかの理由で現行プログラム2が停止できず、現行プログラム2からアクセス要求が出された場合には、そのアクセス要求は無効化する(S706)。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図1のトランザクション複製転送部1と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の切替え動作について図16のフローチャートを参照して以下説明する。
図16において、S601、S602は図14と同じである。プログラム切替部32は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、次に、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図3を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図3を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。このような動作の切替えを行う外部アクセス管理部4の処理例を図17に示す。図17において、S201〜S214は図3と同じである。S901は、テスト併用モードか、新規多重運用モードかを判別するステップである。S902は、現行プログラムからのアクセス要求かどうかを判別するステップである。S903は、新規プログラムからのアクセス要求かどうかを判別するステップである。テスト併用モードで且つ現行プログラム2からのアクセス要求か、新規多重運用モードで且つ新規プログラム3からのアクセス要求であれば、図3で説明したステップS204〜S207を実行する(S904)。他方、テスト併用モードで且つ新規プログラム3からのアクセス要求か、新規多重運用モードで且つ現行プログラム2からのアクセス要求であれば、図3で説明したステップS210〜S214を実行する(S905)。但し、S210中の「現行プログラム」は、現行プログラム2からのアクセス要求を処理する場合には「新規プログラム」になる。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図1のトランザクション複製転送部1と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の切替え動作について図18のフローチャートを参照して以下説明する。
図18において、S601、S602は図14と同じである。プログラム切替部32は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、次に、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1の動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
次に、本発明の第9の実施の形態について図面を参照して詳細に説明する。
図19を参照すると、本発明の第9の実施の形態にかかるトランザクション処理システム1009は、図4に示した第2の実施の形態にかかるトランザクション処理システム1002にプログラム切替部32-1を付加した構成となっている。プログラム切替部32-1は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第8の実施の形態の動作説明に用いた図14のフローチャートと同じなので、図14を参照して説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32-1は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32-1は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
次にプログラム切替部32-1は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-1は、現行プログラム2の動作を停止させ(S603)、マスター外部アクセス管理部4A、スレーブ外部アクセス管理部4Bの動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
マスター外部アクセス管理部4Aにおけるテスト併用モードの動作とは、図5を参照して説明した動作を意味し、スレーブ外部アクセス管理部4Bにおけるテスト併用モードの動作とは、図6を参照して説明した動作を意味する。他方、外部アクセス管理部4Aにおける新規運用モードの動作とは、もし現行プログラム2からアクセス要求が出された場合にはそれを無効化する動作を意味し、スレーブ外部アクセス管理部4Bにおける新規運用モードの動作とは、新規プログラム3から出されたアクセス要求をマスター外部アクセス管理部4Aを経由せずに直接に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図4のトランザクション複製転送部1と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第8の実施の形態の動作説明に用いた図16のフローチャートと同じなので、図16を参照して説明する。
プログラム切替部32-1は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、マスター外部アクセス管理部4A、スレーブ外部アクセス管理部4Bの動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
マスター外部アクセス管理部4Aにおけるテスト併用モードの動作とは、図5を参照して説明した動作を意味し、スレーブ外部アクセス管理部4Bにおけるテスト併用モードの動作とは、図6を参照して説明した動作を意味する。他方、マスター外部アクセス管理部4Aにおける新規多重運用モードの動作とは、図6を参照して説明した動作を意味し、スレーブ外部アクセス管理部4Bにおける新規多重運用モードの動作とは、図5を参照して説明した動作を意味する(但し、図5および図6中、「現行プログラム」は「新規プログラム」に読み替え、「新規プログラム」は「現行プログラム」に読み替える)。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図4のトランザクション複製転送部1と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第8の実施の形態の動作説明に用いた図18のフローチャートと同じなので、図18を参照して説明する。
プログラム切替部32-1は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、マスター外部アクセス管理部4A、スレーブ外部アクセス管理部4Bやトランザクション複製転送部1の動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
次に、本発明の第10の実施の形態について図面を参照して詳細に説明する。
図20を参照すると、本発明の第10の実施の形態にかかるトランザクション処理システム1010は、図7に示した第3の実施の形態にかかるトランザクション処理システム1003にプログラム切替部32-2を付加した構成となっている。プログラム切替部32-2は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第8の実施の形態の動作説明に用いた図14のフローチャートと同じなので、図14を参照して説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32-2は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32-2は、トランザクション複製転送部1'に対してトランザクションの受信停止を指示することにより、現行プログラム2および要求トランザクション保存部5への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1'は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および要求トランザクション保存部5への転送は停止するようにしても良い。
次にプログラム切替部32-2は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1'が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-2は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1'の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1'に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図7の第3の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
トランザクション複製転送部1'におけるテスト併用モードの動作とは、図7の第3の実施の形態におけるトランザクション複製転送部1'と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第8の実施の形態の動作説明に用いた図16のフローチャートと同じなので、図16を参照して説明する。
プログラム切替部32-2は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション複製転送部1'の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1'に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図3を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図3を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。
トランザクション複製転送部1'におけるテスト併用モードの動作とは、図7のトランザクション複製転送部1'と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第8の実施の形態の動作説明に用いた図18のフローチャートと同じなので、図18を参照して説明する。
プログラム切替部32-2は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1'に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1'の動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
次に、本発明の第11の実施の形態について図面を参照して詳細に説明する。
図21を参照すると、本発明の第11の実施の形態にかかるトランザクション処理システム1011は、図8に示した第4の実施の形態にかかるトランザクション処理システム1004にプログラム切替部32-3を付加した構成となっている。プログラム切替部32-3は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第8の実施の形態の動作説明に用いた図14のフローチャートと同じなので、図14を参照して説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム2で処理サービスを提供する場合、プログラム切替部32-3は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32-3は、要求トランザクション保存部5に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、要求トランザクション保存部5は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して記憶し、トランザクション転送部6A、6B経由による現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
次にプログラム切替部32-3は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション転送部6A、6Bが現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-3は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション転送部6A、6Bの動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション保存部5に対して、トランザクションの受信の再開を指示することにより、トランザクション転送部6B経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図8の第4の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
トランザクション転送部6A、6Bにおけるテスト併用モードの動作とは、図8の第4の実施の形態におけるトランザクション転送部6A、6Bと同じ動作を意味する。他方、新規運用モードの動作とは、トランザクション転送部6Bにあっては、要求トランザクション保存部5からトランザクションを読み出して新規プログラム3に投入し、新規プログラム3から応答トランザクションを受信して要求トランザクション保存部5経由でクライアント100に返却する動作を意味し、トランザクション転送部6Aにあっては、転送動作を停止する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第8の実施の形態の動作説明に用いた図16のフローチャートと同じなので、図16を参照して説明する。
プログラム切替部32-3は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション転送部6A、6Bの動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、要求トランザクション保存部5に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図3を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図3を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。
トランザクション転送部6A、6Bにおけるテスト併用モードの動作とは、図8のトランザクション転送部6A、6Bと同じ動作を意味する。他方、新規多重運用モードの動作とは、トランザクション転送部6Bにあっては、要求トランザクション保存部5から読み出したトランザクションを新規プログラム3に投入し、新規プログラム3から受信した応答トランザクションを要求トランザクション保存部5経由でクライアント100に返却する動作を意味し、トランザクション転送部6Aにあっては、要求トランザクション保存部5から読み出したトランザクションを現行プログラム2に投入し、現行プログラム2から受信した応答トランザクションは無効化する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第8の実施の形態の動作説明に用いた図18のフローチャートと同じなので、図18を参照して説明する。
プログラム切替部32-3は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション保存部5に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション転送部6A、6Bなどの動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
次に、本発明の第12の実施の形態について図面を参照して詳細に説明する。
図22を参照すると、本発明の第12の実施の形態にかかるトランザクション処理システム1012は、図9に示した第5の実施の形態にかかるトランザクション処理システム1005にプログラム切替部32-4を付加した構成となっている。プログラム切替部32-4は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第8の実施の形態の動作説明に用いた図14のフローチャートと同じなので、図14を参照して説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム3で処理サービスを提供する場合、プログラム切替部32-4は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32-4は、トランザクション複製転送部1"に対してトランザクションの受信停止を指示することにより、現行プログラム2および要求トランザクション保存部5への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1"は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および要求トランザクション保存部5への転送は停止するようにしても良い。
次にプログラム切替部32-4は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1"が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、現行プログラム応答トランザクション出力部7および新規プログラム応答トランザクション出力部8に応答トランザクションが記録されたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-4は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1"の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1"に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図9の第5の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
トランザクション複製転送部1"におけるテスト併用モードの動作とは、図9の第5の実施の形態におけるトランザクション複製転送部1"と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第8の実施の形態の動作説明に用いた図16のフローチャートと同じなので、図16を参照して説明する。
プログラム切替部32-4は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション複製転送部1"の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1"に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図3を参照して説明した動作を意味する。他方、新規多重運用モードの動作とは、図3を参照して説明した動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作をを意味する。
トランザクション複製転送部1"におけるテスト併用モードの動作とは、図9のトランザクション複製転送部1"と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第8の実施の形態の動作説明に用いた図18のフローチャートと同じなので、図18を参照して説明する。
プログラム切替部32-4は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1"に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1"の動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
次に、本発明の第13の実施の形態について図面を参照して詳細に説明する。
図23を参照すると、本発明の第13の実施の形態にかかるトランザクション処理システム1013は、図11に示した第6の実施の形態にかかるトランザクション処理システム1006にプログラム切替部32-5を付加した構成となっている。プログラム切替部32-5は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第8の実施の形態の動作説明に用いた図14のフローチャートと同じなので、図14を参照して説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム3で処理サービスを提供する場合、プログラム切替部32-5は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32-5は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
次にプログラム切替部32-5は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、その応答トランザクションが現行プログラム2および新規プログラム3から帰ってきたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-5は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
外部アクセス管理部4'におけるテスト併用モードの動作とは、図11の第6の実施の形態における外部アクセス管理部4'と同じ動作を意味する。他方、外部アクセス管理部4'における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図11の第6の実施の形態におけるトランザクション複製転送部1と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第8の実施の形態の動作説明に用いた図16のフローチャートと同じなので、図16を参照して説明する。
プログラム切替部32-5は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4'の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
外部アクセス管理部4'におけるテスト併用モードの動作とは、図11の外部アクセス管理部4'と同じ動作を意味する。他方、新規多重運用モードの動作とは、図3を参照して説明した外部アクセス管理部の動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作を意味する。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図11のトランザクション複製転送部1と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム3に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第8の実施の形態の動作説明に用いた図18のフローチャートと同じなので、図18を参照して説明する。
プログラム切替部32-5は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4'やトランザクション複製転送部1の動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
次に、本発明の第14の実施の形態について図面を参照して詳細に説明する。
図24を参照すると、本発明の第14の実施の形態にかかるトランザクション処理システム1014は、図12に示した第7の実施の形態にかかるトランザクション処理システム1007にプログラム切替部32-6を付加した構成となっている。プログラム切替部32-6は、利用者もしくは他プログラムの指示を受けて、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える手段である。
次に、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替える動作について詳細に説明する。なお、その際の動作の流れは第8の実施の形態の動作説明に用いた図14のフローチャートと同じなので、図14を参照して説明する。
新規プログラム3の動作確認を終え、現行プログラム2に代えて新規プログラム3で処理サービスを提供する場合、プログラム切替部32-6は、利用者もしくは他プログラムからの指示を受けて、図14に示されるプログラム切替処理を開始する。まず、プログラム切替部32-6は、トランザクション複製転送部1に対してトランザクションの受信停止を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を停止させる(S601)。このとき、トランザクション複製転送部1は、クライアント100からの新たなトランザクション要求の受信自体を停止しても良いし、要求は受信して内部の記憶部に記憶し、現行プログラム2および新規プログラム3への転送は停止するようにしても良い。
次にプログラム切替部32-6は、現行プログラム2及び新規プログラム3に投入されたトランザクションについて処理が完了しているかどうかを確認する(S602)。この確認は、例えば、トランザクション複製転送部1が現行プログラム2および新規プログラム3に投入した全てのトランザクションについて、その応答トランザクションが現行プログラム2および新規プログラム3から帰ってきたかどうかを調べることにより可能である。
現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、プログラム切替部32-6は、現行プログラム2の動作を停止させ(S603)、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規運用モードの動作に切替えることにより(S604、S605)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、要求トランザクション保存部5経由による新規プログラム3への新たなトランザクションの転送を再開させる(S606)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図12の第7の実施の形態における外部アクセス管理部4と同じ動作を意味する。他方、外部アクセス管理部4における新規運用モードの動作とは、新規プログラム3から出されたアクセス要求を実際に外部データ400に出して、そのアクセス結果を新規プログラム3に返却する動作を意味する。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図12の第7の実施の形態におけるトランザクション複製転送部1と同じ動作を意味する。他方、新規運用モードの動作とは、クライアント100から受信したトランザクションを新規プログラム3にのみ転送し、新規プログラム3から応答トランザクションを受け取ってクライアント100に返却する動作を意味する。
以上の例では、プログラム切替えによって現行プログラム2を停止させ、新規プログラム3のみが動作する形態としたが、現行プログラム2を停止させずに新規プログラム3と並行して動作させておくこともできる。この場合の流れは第8の実施の形態の動作説明に用いた図16のフローチャートと同じなので、図16を参照して説明する。
プログラム切替部32-6は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、外部アクセス管理部4の動作およびトランザクション複製転送部1の動作をテスト併用モードの動作から新規多重運用モードの動作に切替えることにより(S811、S812)、現行プログラム2により行われていたトランザクション処理を、新規プログラム3によるトランザクション処理に切り替える。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、現行プログラム2および新規プログラム3への新たなトランザクションの転送を再開させる(S813)。
外部アクセス管理部4におけるテスト併用モードの動作とは、図12の外部アクセス管理部4と同じ動作を意味する。他方、新規多重運用モードの動作とは、図3を参照して説明した外部アクセス管理部の動作において新規プログラム3に対する動作と現行プログラム2に対する動作とを逆にした動作を意味する。
トランザクション複製転送部1におけるテスト併用モードの動作とは、図12のトランザクション複製転送部1と同じ動作を意味する。他方、新規多重運用モードの動作とは、クライアント100から受信したトランザクションを複製して新規プログラム3および現行プログラム2に転送し、新規プログラム3から受信した応答トランザクションをクライアント100に返却する動作を意味する。
このように現行プログラム2を停止させずにプログラム実行部200で動かしておくことで、若し、新規プログラム2に不具合が見つかったために再びテスト併用モードに切替えて現行プログラム2を用いてサービスを提供する場合に、現行プログラム2を再起動する手間と時間を省略できる利点がある。
以上の例では、現行プログラム2および新規プログラム3の動作するプログラム実行部200、300を変えずにプログラム切替えを行ったが、現行プログラム2の稼動するプログラム実行部200で新規プログラム3を稼動させることで、現行プログラム2による処理サービスから新規プログラム3による処理サービスに切替えることもできる。この場合の流れは第8の実施の形態の動作説明に用いた図18のフローチャートと同じなので、図18を参照して説明する。
プログラム切替部32-6は、現行プログラム2および新規プログラム3に投入された全てのトランザクションの処理が完了しており、仕掛中のトランザクションが1つも存在しないことが確認されると、現行プログラム2および新規プログラム3を停止させる(S1001)。次に、プログラム実行部200に新規プログラム3をロードするとともに、プログラム実行部300に現行プログラム2をロードし(S1002)、それぞれの実行部200、300でそれらのプログラム3、2を起動する(S1003)。そして、トランザクション複製転送部1に対して、トランザクションの受信の再開を指示することにより、新規プログラム3および現行プログラム2への新たなトランザクションの転送を再開させる(S1004)。
このプログラム入替えによるプログラム切替え方法は、サービス停止期間が若干長くなるものの、外部アクセス管理部4やトランザクション複製転送部1の動作を切替える必要がない利点がある。
このように本実施の形態によれば、新規プログラム3の入力は、現行プログラム2の入力と同一となるように、また新規プログラム3の出力は無効となるように構成されているため、現行プログラム2を実行しながら、新規プログラム3を並行して実行することが可能であり、また、現行プログラム2の処理結果と新規プログラム3の処理結果を保存もしくは出力するように構成されているので、双方の処理結果を比較することにより、現行プログラム2との比較において、新規プログラム3の動作を確認することができ、そして、現行プログラム2から新規プログラム3へトランザクション処理を切替えることができるように構成されているため、新規プログラム3の動作確認が終わり次第、スムーズに処理プログラムを切替えることができる効果がある。
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明のトランザクション処理システムは、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるトランザクション処理システムを構成する機能手段として機能させる。
本発明は、トランザクション処理サービスシステムにおいて、現用のプログラムが実行しているサービスを停止させずに、現用プログラムと同等の機能を提供する新規プログラムが現用のプログラムと同じ動作をするか、互換性があるかどうかを検証する用途に適用できる。
本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第1の実施の形態における外部アクセス管理部の動作を示す流れ図である。 本発明の第2の実施の形態の構成を示すプロック図である。 本発明の第2の実施の形態におけるマスター外部アクセス管理部の動作を示す流れ図である。 本発明の第2の実施の形態におけるスレーブ外部アクセス管理部の動作を示す流れ図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態の構成を示すブロック図である。 本発明の第5の実施の形態における比較検証部の動作を示す流れ図である。 本発明の第6の実施の形態の構成を示すブロック図である。 本発明の第7の実施の形態の構成を示すブロック図である。 本発明の第8の実施の形態の構成を示すブロック図である。 本発明の第8の実施の形態におけるプログラム切替部の動作例を示す流れ図である。 本発明の第8の実施の形態における外部アクセス管理部の動作例を示す流れ図である。 本発明の第8の実施の形態におけるプログラム切替部の他の動作例を示す流れ図である。 本発明の第8の実施の形態における外部アクセス管理部の他の動作例を示す流れ図である。 本発明の第8の実施の形態におけるプログラム切替部の別の動作例を示す流れ図である。 本発明の第9の実施の形態の構成を示すブロック図である。 本発明の第10の実施の形態の構成を示すブロック図である。 本発明の第11の実施の形態の構成を示すブロック図である。 本発明の第12の実施の形態の構成を示すブロック図である。 本発明の第13の実施の形態の構成を示すブロック図である。 本発明の第14の実施の形態の構成を示すブロック図である。
符号の説明
1, 1', 1"…トランザクション複製転送部
2…現行プログラム
3, 3'…新規プログラム
4, 4'…外部アクセス管理部
4A…マスター外部アクセス管理部
4B…スレーブ外部アクセス管理部
5…要求トランザクション保存部
6, 6', 6", 6A, 6B…トランザクション転送部
7…現行プログラム応答トランザクション保存部
8…新規プログラム応答トランザクション保存部
9, 12, 20…比較検証部
10…現行プログラム外部アクセス保存部
11…新規プログラム外部アクセス保存部
21…現行プログラム環境情報保存部
22…新規プログラム環境情報保存部
32,32-1〜32-6…プログラム切替部
100…クライアント(ブラウザ)
200, 300, 300'…プログラム実行部
400…外部データ
1001〜1014…トランザクション処理システム

Claims (48)

  1. 与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段と、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段と、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段と、前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段と、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替える指示にしたがって、前記トランザクション入出力手段による前記現行プログラムおよび前記新規プログラムへの新たな処理要求トランザクションの転送を一時的に停止し、前記現行プログラムおよび前記新規プログラムに投入された全てのトランザクションの処理完了後に、前記新規プログラムへの新たな処理要求トランザクションの転送を再開させるとともに、前記現行プログラムから得られる応答トランザクションに代えて前記新規プログラムから得られる応答トランザクションを前記処理要求元に送信させるプログラム切替手段とを備えたことを特徴とするトランザクション処理システム。
  2. 前記プログラム切替手段は、現行プログラムを停止させることを特徴とする請求項1記載のトランザクション処理システム。
  3. 前記外部アクセス管理手段は、
    前記現行プログラムによる処理サービスが行われている状況においては、
    前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成し、
    前記新規プログラムによる処理サービスが行われている状況においては、
    前記新規プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記新規プログラムに返却することを特徴とする請求項2記載のトランザクション処理システム。
  4. 前記プログラム切替手段は、前記現行プログラムを停止させずに前記新規プログラムと並行して動作させ続けることを特徴とする請求項1記載のトランザクション処理システム。
  5. 前記外部アクセス管理手段は、
    前記現行プログラムによる処理サービスが行われている状況においては、
    前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成し、
    前記新規プログラムによる処理サービスが行われている状況においては、
    前記新規プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記新規プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記現行プログラムからのアクセス要求の場合には、前記記憶部から前記新規プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記現行プログラムに返却するアクセス要求結果を生成することを特徴とする請求項4記載のトランザクション処理システム。
  6. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする請求項1記載のトランザクション処理システム。
  7. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項1記載のトランザクション処理システム。
  8. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項1記載のトランザクション処理システム。
  9. 前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする請求項3または5記載のトランザクション処理システム。
  10. 前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする請求項3または5記載のトランザクション処理システム。
  11. 前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする請求項1記載のトランザクション処理システム。
  12. 採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする請求項11記載のトランザクション処理システム。
  13. 前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする請求項1記載のトランザクション処理システム。
  14. 採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする請求項13記載のトランザクション処理システム。
  15. 前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする請求項1記載のトランザクション処理システム。
  16. 採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段を備えたことを特徴とする請求項15記載のトランザクション処理システム。
  17. a)それぞれ異なるプログラム実行手段が、与えられた処理要求トランザクションに応じた処理を行う現行プログラムと与えられた処理要求トランザクションに応じた処理を行う新規プログラムとを並行して実行するステップと、
    b)トランザクション入出力手段が、処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するステップと、
    c)外部アクセス管理手段が、前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理するステップと、
    d)ログ採取手段が、前記現行プログラムおよび前記新規プログラムに関連するログを採取するステップと、
    e)プログラム切替手段が、前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替える指示にしたがって、前記トランザクション入出力手段による前記現行プログラムおよび前記新規プログラムへの新たな処理要求トランザクションの転送を一時的に停止し、前記現行プログラムおよび前記新規プログラムに投入された全てのトランザクションの処理完了後に、前記新規プログラムへの新たな処理要求トランザクションの転送を再開させるとともに、前記現行プログラムから得られる応答トランザクションに代えて前記新規プログラムから得られる応答トランザクションを前記処理要求元に送信させるステップとを含むことを特徴とするトランザクション処理方法。
  18. 前記プログラム切替手段は、現行プログラムを停止させることを特徴とする請求項17記載のトランザクション処理方法。
  19. 前記外部アクセス管理手段は、
    前記現行プログラムによる処理サービスが行われている状況においては、
    前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成し、
    前記新規プログラムによる処理サービスが行われている状況においては、
    前記新規プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記新規プログラムに返却することを特徴とする請求項18記載のトランザクション処理方法。
  20. 前記プログラム切替手段は、前記現行プログラムを停止させずに前記新規プログラムと並行して動作させ続けることを特徴とする請求項17記載のトランザクション処理方法。
  21. 前記外部アクセス管理手段は、
    前記現行プログラムによる処理サービスが行われている状況においては、
    前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成し、
    前記新規プログラムによる処理サービスが行われている状況においては、
    前記新規プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記新規プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記現行プログラムからのアクセス要求の場合には、前記記憶部から前記新規プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記現行プログラムに返却するアクセス要求結果を生成することを特徴とする請求項20記載のトランザクション処理方法。
  22. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送することを特徴とする請求項17記載のトランザクション処理方法。
  23. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送すると共に記憶手段に一旦保存し、該保存した処理要求トランザクションを読み出して前記新規プログラムに転送することを特徴とする請求項17記載のトランザクション処理方法。
  24. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを記憶手段に一旦保存し、該保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送することを特徴とする請求項17記載のトランザクション処理方法。
  25. 前記外部アクセス管理手段は、前記プログラム実行手段と独立に動作することを特徴とする請求項19または21記載のトランザクション処理方法。
  26. 前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする請求項19または21記載のトランザクション処理方法。
  27. 前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取することを特徴とする請求項17記載のトランザクション処理方法。
  28. f)比較検証手段が、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存するステップ、
    を更に含むことを特徴とする請求項27記載のトランザクション処理方法。
  29. 前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取することを特徴とする請求項17記載のトランザクション処理方法。
  30. f)比較検証手段が、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存するステップ、
    を更に含むことを特徴とする請求項29記載のトランザクション処理方法。
  31. 前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取することを特徴とする請求項17記載のトランザクション処理方法。
  32. f)比較検証手段が、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存するステップ、
    を更に含むことを特徴とする請求項31記載のトランザクション処理方法。
  33. 与えられた処理要求トランザクションに応じた処理を行う現行プログラムを実行するプログラム実行手段と、与えられた処理要求トランザクションに応じた処理を行う新規プログラムを実行するプログラム実行手段とを備えたトランザクション処理システムを構成するコンピュータを、
    処理要求元から受信した処理要求トランザクションを前記現行プログラムおよび前記新規プログラムに与え、前記現行プログラムから得られた応答トランザクションを前記処理要求元に送信するトランザクション入出力手段、
    前記現行プログラムおよび前記新規プログラムが外部データにアクセスする際にそのアクセスを管理する外部アクセス管理手段、
    前記現行プログラムおよび前記新規プログラムに関連するログを採取するログ採取手段、
    前記現行プログラムによる処理サービスから前記新規プログラムによる処理サービスに切替える指示にしたがって、前記トランザクション入出力手段による前記現行プログラムおよび前記新規プログラムへの新たな処理要求トランザクションの転送を一時的に停止し、前記現行プログラムおよび前記新規プログラムに投入された全てのトランザクションの処理完了後に、前記新規プログラムへの新たな処理要求トランザクションの転送を再開させるとともに、前記現行プログラムから得られる応答トランザクションに代えて前記新規プログラムから得られる応答トランザクションを前記処理要求元に送信させるプログラム切替手段
    として機能させることを特徴とするプログラム。
  34. 前記プログラム切替手段は、現行プログラムを停止させることを特徴とする請求項33記載のプログラム。
  35. 前記外部アクセス管理手段は、
    前記現行プログラムによる処理サービスが行われている状況においては、
    前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成し、
    前記新規プログラムによる処理サービスが行われている状況においては、
    前記新規プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記新規プログラムに返却することを特徴とする請求項34記載のプログラム。
  36. 前記プログラム切替手段は、前記現行プログラムを停止させずに前記新規プログラムと並行して動作させ続けるものであることを特徴とする請求項33記載のプログラム。
  37. 前記外部アクセス管理手段は、
    前記現行プログラムによる処理サービスが行われている状況においては、
    前記現行プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記現行プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記新規プログラムからのアクセス要求の場合には、前記記憶部から前記現行プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記新規プログラムに返却するアクセス要求結果を生成し、
    前記新規プログラムによる処理サービスが行われている状況においては、
    前記新規プログラムからのアクセス要求の場合には前記外部データを実際にアクセスして、そのアクセス要求結果を前記新規プログラムに返却すると共に、アクセス要求とアクセス要求結果を記憶部に保存し、前記現行プログラムからのアクセス要求の場合には、前記記憶部から前記新規プログラムの対応するアクセス要求結果を抽出し、そのアクセス要求結果を使って前記現行プログラムに返却するアクセス要求結果を生成することを特徴とする請求項36記載のプログラム。
  38. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムおよび前記新規プログラムに転送するトランザクション複製転送手段を含むことを特徴とする請求項33記載のプログラム。
  39. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを複製し、前記現行プログラムに転送するトランザクション複製転送手段と、前記複製された処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項33記載のプログラム
  40. 前記トランザクション入出力手段は、前記受信した処理要求トランザクションを保存するトランザクション保存手段と、前記保存された処理要求トランザクションを読み出して前記現行プログラムおよび前記新規プログラムに転送するトランザクション転送手段とを含むことを特徴とする請求項33記載のプログラム。
  41. 前記外部アクセス管理手段は、前記プログラム実行手段と独立に設けられていることを特徴とする請求項35または37記載のプログラム。
  42. 前記外部アクセス管理手段は、前記現行プログラムを実行する前記プログラム実行手段に設けられたマスター外部アクセス管理手段と、前記新規プログラムを実行する前記プログラム実行手段に設けられたスレーブ外部アクセス管理手段とで構成されることを特徴とする請求項35または37記載のプログラム。
  43. 前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの応答トランザクションを採取する手段を含むことを特徴とする請求項33記載のプログラム。
  44. 前記コンピュータを、更に、採取された前記現行プログラムの応答トランザクションと採取された前記新規プログラムの応答トランザクションとを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする請求項43記載のプログラム。
  45. 前記ログ採取手段は、前記現行プログラムおよび前記新規プログラムの前記外部データに対するアクセス要求を採取する手段を含むことを特徴とする請求項33記載のプログラム。
  46. 前記コンピュータを、更に、採取された前記現行プログラムのアクセス要求と採取された前記新規プログラムのアクセス要求とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする請求項45記載のプログラム。
  47. 前記ログ採取手段は、前記現行プログラムを実行する前記プログラム実行手段の環境情報および前記新規プログラムを実行する前記プログラム実行手段の環境情報を採取する手段を含むことを特徴とする請求項33記載のプログラム。
  48. 前記コンピュータを、更に、採取された前記現行プログラムの環境情報と採取された前記新規プログラムの環境情報とを比較し、その差異情報を表示もしくは保存する比較検証手段、として機能させることを特徴とする請求項47記載のプログラム。
JP2003384593A 2003-11-14 2003-11-14 トランザクション処理システムおよび方法ならびにプログラム Expired - Fee Related JP4461777B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003384593A JP4461777B2 (ja) 2003-11-14 2003-11-14 トランザクション処理システムおよび方法ならびにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003384593A JP4461777B2 (ja) 2003-11-14 2003-11-14 トランザクション処理システムおよび方法ならびにプログラム

Publications (2)

Publication Number Publication Date
JP2005149043A JP2005149043A (ja) 2005-06-09
JP4461777B2 true JP4461777B2 (ja) 2010-05-12

Family

ID=34692932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003384593A Expired - Fee Related JP4461777B2 (ja) 2003-11-14 2003-11-14 トランザクション処理システムおよび方法ならびにプログラム

Country Status (1)

Country Link
JP (1) JP4461777B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2416284A1 (en) * 2010-08-02 2012-02-08 Amadeus S.A.S. Automatic traffic generation for a faring system
JP5337187B2 (ja) * 2011-03-24 2013-11-06 株式会社日立製作所 移行テスト支援システム、移行テスト支援プログラム、移行テスト支援方法
JP2015114952A (ja) * 2013-12-13 2015-06-22 株式会社日立製作所 ネットワークシステム、監視制御装置およびソフトウェア検証方法
JP6478618B2 (ja) * 2014-12-19 2019-03-06 株式会社グルーヴノーツ トランザクション制御システム、トランザクション制御方法及びプログラム
JP6805678B2 (ja) * 2016-09-26 2020-12-23 日本電気株式会社 検証システム及び検証方法
JP6769392B2 (ja) * 2017-05-30 2020-10-14 京セラドキュメントソリューションズ株式会社 管理サーバー、テスト環境構築システム及びテスト環境構築方法
DE112020006774T5 (de) * 2020-02-20 2022-12-01 Mitsubishi Electric Corporation Verifizierungsvorrichtung
WO2024004174A1 (ja) * 2022-06-30 2024-01-04 楽天モバイル株式会社 テストマシンでの自動的なプロファイルの生成

Also Published As

Publication number Publication date
JP2005149043A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
JP4401895B2 (ja) 計算機システム、計算機及びそのプログラム。
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
JP3414218B2 (ja) 記憶制御装置
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
US7613890B1 (en) Consistent replication across multiple storage devices
JP4993913B2 (ja) 記憶制御装置及びそのデータ管理方法
US7293194B2 (en) Method and device for switching database access part from for-standby to currently in use
JP4727437B2 (ja) データベースを有するストレージシステムの記憶制御方法
JP4319017B2 (ja) ストレージシステムの制御方法、ストレージシステム、及び記憶装置
US8266401B2 (en) Storage controller and data management method
KR101154620B1 (ko) 듀얼 노드 스토리지 컨트롤러에서 인-플라이트 데이터의 트래킹을 위한 효율적인 방법과 장치
JP2005301590A (ja) ストレージシステム及びデータ複製方法
JP2004264973A (ja) ストレージシステムの制御方法、ストレージシステム、情報処理装置、管理コンピュータ、及びプログラム
WO2014178104A1 (ja) 計算機システム及び非同期リモートレプリケーションの分析を支援する方法
EP2759937B1 (en) Method and apparatus for efficient remote copy
US20080222214A1 (en) Storage system and remote copy system restoring data using journal
JP2007122117A (ja) ストレージシステム及び記憶制御方法
US20070260833A1 (en) Storage controller and data management method
JP2008225753A (ja) 計算機システム、アクセス制御方法及び管理計算機
JP2002366398A (ja) クラスタ構成記憶システム
JP4461777B2 (ja) トランザクション処理システムおよび方法ならびにプログラム
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JPH11242566A (ja) 多重化データ記憶システム
JP3572928B2 (ja) バックアップ機能付オンラインデータベース情報処理システム
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090316

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090525

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091117

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: 20100126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4461777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees