IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2022-152055トランザクション処理プログラム、トランザクション処理方法、および情報処理装置
<>
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図1
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図2
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図3
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図4
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図5
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図6
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図7
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図8
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図9
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図10
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図11
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図12
  • 特開-トランザクション処理プログラム、トランザクション処理方法、および情報処理装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022152055
(43)【公開日】2022-10-12
(54)【発明の名称】トランザクション処理プログラム、トランザクション処理方法、および情報処理装置
(51)【国際特許分類】
   G06F 11/34 20060101AFI20221004BHJP
【FI】
G06F11/34 176
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021054680
(22)【出願日】2021-03-29
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】特許業務法人扶桑国際特許事務所
(72)【発明者】
【氏名】中川 仁
(72)【発明者】
【氏名】大神 祐貴
(72)【発明者】
【氏名】坂本 大誠
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA08
5B042MC40
(57)【要約】
【課題】ログ出力処理の効率化を図る。
【解決手段】情報処理装置10は、トランザクションの処理要求に応じて、第1のソフトウェア3を用いた第1の処理を実行し、第1の処理の処理結果と第1の処理に関する第1のログ情報とを含む第1の電文5を出力する。次に情報処理装置10は、第1の電文5に基づいて、第1の処理の処理結果に対する第2のソフトウェア4を用いた第2の処理を実行し、第2の処理の処理結果と第1のログ情報と第2の処理に関する第2のログ情報とを含む第2の電文6を出力する。そして情報処理装置10は、第2の電文6に基づいて、第2の処理の処理結果に対する第1のソフトウェア3を用いた第3の処理を実行し、トランザクションログ情報8をストレージ装置13に格納する。
【選択図】図1
【特許請求の範囲】
【請求項1】
トランザクションの処理要求に応じて、第1のソフトウェアを用いた第1の処理を実行し、
前記第1のソフトウェアを用いて、前記第1の処理の処理結果と前記第1の処理に関する第1のログ情報とを含む第1の電文を出力し、
前記第1の電文に基づいて、前記第1の処理の処理結果に対する第2のソフトウェアを用いた第2の処理を実行し、
前記第2のソフトウェアを用いて、前記第2の処理の処理結果と前記第1のログ情報と前記第2の処理に関する第2のログ情報とを含む第2の電文を出力し、
前記第2の電文に基づいて、前記第2の処理の処理結果に対する前記第1のソフトウェアを用いた第3の処理を実行し、
前記第1のソフトウェアを用いて、前記第1のログ情報と前記第2のログ情報と前記第3の処理に関する第3のログ情報とを含むトランザクションログ情報を、ストレージ装置に格納する、
処理をコンピュータに実行させることを特徴とするトランザクション処理プログラム。
【請求項2】
前記第2の処理は第4の処理と第5の処理とを含み、
前記第2の処理を実行する処理は、
前記第1の処理の処理結果に対する前記第2のソフトウェアを用いた前記第4の処理を実行し、
前記第2のソフトウェアを用いて、前記第4の処理の処理結果を含む第3の電文を出力し、
前記第4の処理の処理結果に応じて実行された第6の処理の処理結果を取得すると、前記第6の処理の処理結果に対する前記第2のソフトウェアを用いた前記第5の処理を実行する、
処理を含み、
前記第2の電文を出力する処理は、
前記第5の処理の処理結果と前記第1のログ情報と前記第4の処理に関する第4のログ情報と前記第5の処理に関する第5のログ情報とを含む前記第2の電文を出力する、
処理を含む、
ことを特徴とする請求項1記載のトランザクション処理プログラム。
【請求項3】
前記第2の電文を出力する処理は、前記第4の処理の実行後に前記第1のログ情報と前記第4のログ情報とをメモリに格納し、前記第6の処理の処理結果を取得後に前記メモリから前記第1のログ情報と前記第4のログ情報とを取得して前記第2の電文を生成する処理を含む、
ことを特徴とする請求項2記載のトランザクション処理プログラム。
【請求項4】
前記第3の電文を出力する処理は、前記第4の処理の処理結果と前記第1のログ情報と前記第4のログ情報とを含む前記第3の電文を出力する処理を含み、
前記第5の処理は、前記第6の処理の処理結果と前記第1のログ情報と前記第4のログ情報と前記第6の処理に関する第6のログ情報とを含む第4の電文を取得し、前記第4の電文に含まれる前記第6の処理の処理結果に対する前記第5の処理を実行する処理を含み、
前記第2の電文を出力する処理は、前記第1のログ情報と前記第4のログ情報と前記第5の処理に関する第5のログ情報と前記第6のログ情報とを含む前記第2の電文を出力する処理を含む、
ことを特徴とする請求項2記載のトランザクション処理プログラム。
【請求項5】
トランザクションの処理要求に応じて、第1のソフトウェアを用いた第1の処理を実行し、
前記第1のソフトウェアを用いて、前記第1の処理の処理結果と前記第1の処理に関する第1のログ情報とを含む第1の電文を出力し、
前記第1の電文に基づいて、前記第1の処理の処理結果に対する第2のソフトウェアを用いた第2の処理を実行し、
前記第2のソフトウェアを用いて、前記第2の処理の処理結果と前記第1のログ情報と前記第2の処理に関する第2のログ情報とを含む第2の電文を出力し、
前記第2の電文に基づいて、前記第2の処理の処理結果に対する前記第1のソフトウェアを用いた第3の処理を実行し、
前記第1のソフトウェアを用いて、前記第1のログ情報と前記第2のログ情報と前記第3の処理に関する第3のログ情報とを含むトランザクションログ情報を、ストレージ装置に格納する、
処理をコンピュータが実行することを特徴とするトランザクション処理方法。
【請求項6】
トランザクションの処理要求に応じて、第1のソフトウェアを用いた第1の処理を実行し、
前記第1のソフトウェアを用いて、前記第1の処理の処理結果と前記第1の処理に関する第1のログ情報とを含む第1の電文を出力し、
前記第1の電文に基づいて、前記第1の処理の処理結果に対する第2のソフトウェアを用いた第2の処理を実行し、
前記第2のソフトウェアを用いて、前記第2の処理の処理結果と前記第1のログ情報と前記第2の処理に関する第2のログ情報とを含む第2の電文を出力し、
前記第2の電文に基づいて、前記第2の処理の処理結果に対する前記第1のソフトウェアを用いた第3の処理を実行し、
前記第1のソフトウェアを用いて、前記第1のログ情報と前記第2のログ情報と前記第3の処理に関する第3のログ情報とを含むトランザクションログ情報を、ストレージ装置に格納する、
処理を実行する処理部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トランザクション処理プログラム、トランザクション処理方法、および情報処理装置に関する。
【背景技術】
【0002】
コンピュータシステムを用いたサービスでは、一つのリクエストに応じて様々な処理が実行される。サービスを提供するコンピュータでは、リクエストに応じた一連の処理を1トランザクションとし、1トランザクションの処理を複数のアプリケーションソフトウェア(以下、単にアプリケーションと呼ぶ)を用いて実行することができる。
【0003】
トランザクションの実行に用いられるアプリケーションは、処理を実行するごとに、実行した処理に関するログを出力する場合がある。ログは、障害や性能低下などが発生した場合の原因解析に用いられる。
【0004】
ログ取得に関する技術としては、例えば処理の流れが把握しやすく、分散システムにおいても動作解析を行うことができるログを記録することができるログ記録装置が提案されている。また、複数のコンポーネントにおいて実施された連続する一連の処理の記録情報を、視認性よく出力する情報処理装置も提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001-306364号公報
【特許文献2】特開2014-197350号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、リクエストに応じて一連の処理が行われるごとに複数のアプリケーションそれぞれがログをストレージ装置へ出力すると、ストレージ装置へのデータ書き込みが頻発し、システム全体の性能低下の原因となる。
【0007】
1つの側面では、本件はログ出力処理の効率化を図ることを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、以下の処理をコンピュータに実行させるトランザクション処理プログラムが提供される。
コンピュータは、トランザクションの処理要求に応じて、第1のソフトウェアを用いた第1の処理を実行する。次にコンピュータは、第1のソフトウェアを用いて、第1の処理の処理結果と第1の処理に関する第1のログ情報とを含む第1の電文を出力する。次にコンピュータは、第1の電文に基づいて、第1の処理の処理結果に対する第2のソフトウェアを用いた第2の処理を実行する。次にコンピュータは、第2のソフトウェアを用いて、第2の処理の処理結果と第1のログ情報と第2の処理に関する第2のログ情報とを含む第2の電文を出力する。次にコンピュータは、第2の電文に基づいて、第2の処理の処理結果に対する第1のソフトウェアを用いた第3の処理を実行する。そしてコンピュータは、第1のソフトウェアを用いて、第1のログ情報と第2のログ情報と第3の処理に関する第3のログ情報とを含むトランザクションログ情報を、ストレージ装置に格納する。
【発明の効果】
【0009】
1態様によれば、ログ出力処理の効率化を図ることができる。
【図面の簡単な説明】
【0010】
図1】第1の実施の形態に係るトランザクション処理方法の一例を示す図である。
図2】キャッシュレス中継サービスのシステム構成の一例を示す図である。
図3】センタサーバのハードウェアの一例を示す図である。
図4】センタサーバの機能を示すブロック図である。
図5】信用照会の処理手順の一例を示すシーケンス図である。
図6】電文メモリを用いた電文送受信の一例を示す図である。
図7】電文への処理ログ追加の一例を示す図(1/4)である。
図8】電文への処理ログ追加の一例を示す図(2/4)である。
図9】電文への処理ログ追加の一例を示す図(3/4)である。
図10】電文への処理ログ追加の一例を示す図(4/4)である。
図11】アプリケーション「APL_1」の処理手順の一例を示すフローチャートである。
図12】アプリケーション「APL_2」の処理手順の一例を示すフローチャートである。
図13】アプリケーション「APL_3」の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るトランザクション処理方法の一例を示す図である。図1には、トランザクション処理方法を実現する情報処理装置10が示されている。情報処理装置10は、例えばトランザクション処理プログラムを実行することにより、トランザクション処理方法を実施することができる。
【0012】
情報処理装置10は、他の情報処理装置1からトランザクションの処理要求に応じてトランザクションの処理を実行する。情報処理装置10は、実行したトランザクションに関するログ情報を一纏まりにして一度で出力する。
【0013】
情報処理装置10は、メモリ11と処理部12とストレージ装置13とを有する。メモリ11は、例えば情報処理装置10の主記憶装置として使用される揮発性の記録媒体である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。ストレージ装置13は、情報処理装置10に対してネットワークまたはその他の通信インタフェースを介して接続された外部装置であってもよい。
【0014】
処理部12は、第1のソフトウェア3および第2のソフトウェア4に基づいて、トランザクションの処理を実行する。第1のソフトウェア3は、第1の処理と第3の処理との実行に用いられる。第2のソフトウェア4は、第2の処理の実行に用いられる。第2の処理は、第4の処理と第5の処理に分かれている場合もある。
【0015】
例えば処理部12は、情報処理装置10からのトランザクションの処理要求に応じて、第1のソフトウェア3を用いた第1の処理を実行する。次に処理部12は、第1のソフトウェア3を用いて、第1の処理の処理結果(output#1)と第1の処理に関する第1のログ情報(Log#1)とを含む第1の電文5を出力する。
【0016】
処理部12は、第1の電文5に基づいて、第1の処理の処理結果(output#1)に対する第2のソフトウェア4を用いた第2の処理を実行する。次に処理部12は、第2のソフトウェア4を用いて、第2の処理の処理結果と第1のログ情報(Log#1)と第2の処理に関する第2のログ情報(Log#2)とを含む第2の電文6を出力する。
【0017】
第2の処理が、例えば先に実行される第4の処理と後に実行される第5の処理とに分かれる場合、第5の処理の処理結果(output#5)が第2の処理の処理結果となる。この場合、第4の処理に関する第4のログ情報(Log#4)と第5の処理に関する第5のログ情報(Log#5)とが第2のログ情報(Log#2)に含まれる。
【0018】
処理部12は、第2の電文6に基づいて、第2の処理の処理結果に対する第1のソフトウェア3を用いた第3の処理を実行する。処理部12は、第3の処理の処理結果を情報処理装置1に送信する。また処理部12は、第1のソフトウェア3を用いて、第1のログ情報(Log#1)と第2のログ情報(Log#2)と第3の処理に関する第3のログ情報(Log#3)とを含むトランザクションログ情報8を、ストレージ装置13に格納する。例えば処理部12は、ストレージ装置13内のログファイル7にトランザクションログ情報8を書き出す。
【0019】
このように処理部12は、トランザクション上の処理を実行するソフトウェアが遷移するごとに、トランザクション上のそれまでの処理のログ情報を、次に処理を実行するソフトウェアへ入力する電文に含める。そして、トランザクション上の最後の処理の実行が完了すると、処理部12は、その処理を実行したソフトウェアを用いて、それまでの複数の処理それぞれのログ情報を纏めたトランザクションログ情報8をストレージ装置13に出力する。これにより、ストレージ装置13へのログ情報の書き込みは1トランザクション当たり1回で済み、ログ出力処理の効率化が図られる。その結果、例えばデバッグ処理のためのログ情報の採取が性能劣化や二次障害を引き起こす事態の発生を抑止できる。
【0020】
しかも1つのトランザクションにおいて実行される複数の処理それぞれのログが1つのトランザクションログ情報8に纏められているため、ログ情報を用いた障害などのトラブルの原因解析が容易となる。
【0021】
なお第2の処理が第4の処理と第5の処理とを含み、第4の処理の処理結果は第6の処理の処理要求の場合がある。第6の処理は、例えば他の情報処理装置2で実行される。このような場合、処理部12は、第1の処理の処理結果に対する第2のソフトウェア4を用いた第4の処理を実行し、その後、第2のソフトウェア4を用いて、第4の処理の処理結果を含む第3の電文を出力する。
【0022】
第4の処理の処理結果を含む第3の電文は、例えば第6の処理を実行する情報処理装置2に送信される。情報処理装置2は、第4の処理の処理結果に応じて実行された第6の処理を実行後、第6の処理の処理結果を情報処理装置10に送信する。処理部12は、第6の処理の処理結果を取得すると、第6の処理の処理結果に対する第2のソフトウェア4を用いた第5の処理を実行する。そして処理部12は、第5の処理の処理結果と第1のログ情報(Log#1)と第4の処理に関する第4のログ情報(Log#4)と第5の処理に関する第5のログ情報(Log#5)とを含む第2の電文6を出力する。
【0023】
このように、第2の処理においても他の処理への処理要求を行い、その処理結果を利用している場合であっても、適切なトランザクションログ情報8を出力することができる。
なお図1に示すように第6の処理が別の情報処理装置2で実行される場合、処理部12は、第4の処理の実行後に第1のログ情報(Log#1)と第4のログ情報(Log#4)とをメモリ11に格納する。そして処理部12は、第6の処理の処理結果を取得後にメモリ11から第1のログ情報(Log#1)と第4のログ情報(Log#4)とを取得して第2の電文6を生成する。これにより第6の処理を実行する情報処理装置2において、電文に含まれるログ情報を適切に取り扱うことができない場合、それまでのログ情報をメモリ11に保持しておくことで、ログ情報が消失することを抑止できる。
【0024】
また第6の処理が、情報処理装置10内の他のソフトウェアで実行される場合もあり得る。この場合、処理部12は、第4の処理の処理結果と第1のログ情報(Log#1)と第4のログ情報(Log#4)とを含む第3の電文を出力する。処理部12は、第4の処理の処理結果に対する第6の処理を他のソフトウェアを用いて実行し、第6の処理の処理結果と第1のログ情報(Log#1)と第4のログ情報(Log#4)と第6の処理に関する第6のログ情報とを含む第4の電文を出力する。処理部12は、出力された第4の電文を取得し、第4の電文に含まれる第6の処理の処理結果に対する第5の処理を実行する。そして処理部12は、第1のログ情報(Log#1)と第4のログ情報(Log#4)と第5のログ情報(Log#5)と第6のログ情報とを含む第2の電文6を出力する。このような処理により、ソフトウェア間の呼び出し関係が多段になっていても、すべての処理に関するログ情報を、最後の処理(第3の処理)を実行する第1のソフトウェアで集約することができる。
【0025】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、キャッシュレス中継サービスを提供するサーバにおけるログ取得を効率化したものである。なお、以下の説明では、各種の処理のログ情報を、単にログと呼ぶこともある。
【0026】
現在、商取引のキャッシュレス化が進行しており、キャッシュレスによる様々な決済手段が存在する。決済のシステムを利用する企業(以下、加盟店という)においては、複数の決済手段それぞれに応じた手続きを、カード会社などの決済機関との間で行うこととなる。
【0027】
決済機関との決済の手続きは、その決済機関が定めた仕様に従って行われる。加盟店が複数の決済機関を利用可能とするには、決済機関ごとに、仕様通りの決済の手続き行うこととなる。キャッシュレスの決済には、電子マネー、クレジットカード、デビッドカードなど様々な決済手段が存在し、各決済手段の決済を行う決済機関も多数存在する。このとき、加盟店がすべての決済機関についての仕様通りの決済手続きに対応するのは困難である。
【0028】
そこで加盟店は、キャシュレス中継サービスを介してキャッシュレス決済を行うことができる。キャッシュレス中継サービスでは、加盟店からの決済の要求に応じて、決済機関の仕様に応じた決済要求を決済機関のシステムに送信する。加盟店は、キャッシュレス中継サービスを介して決済を行うことで、多数の決済機関による決済手続きの利用が容易となる。
【0029】
図2は、キャッシュレス中継サービスのシステム構成の一例を示す図である。決済中継センタ30には、センタサーバ100が設けられている。センタサーバ100は、キャッシュレス決済の手続きを中継するコンピュータである。複数の加盟店31,31a,・・・それぞれには、POS(Point Of Sale)システム200,200a,・・・が設けられている。POSシステム200,200a,・・・は、商品の販売の管理を行うと共に、キャッシュレス決済の端末装置として機能するコンピュータである。複数のカード会社32,32a,・・・それぞれには、信用照会システム300,300a,・・・が設けられている。信用照会システム300,300a,・・・は、商品の購入を希望する顧客の信用照会(オーソリゼーション)を行うコンピュータである。
【0030】
センタサーバ100、POSシステム200,200a,・・・、および信用照会システム300,300a,・・・は、ネットワーク20に接続されている。
センタサーバ100は、POSシステム200からの信用照会要求に応じて、複数の処理をトランザクションとして実行する。例えば加盟店31の顧客が、カード会社32が発行したクレジットカードでの支払いを希望した場合、加盟店31のPOSシステム200は、センタサーバ100を介して、決済対象のカード会社32の信用照会システム300に対して信用照会を要求する。信用照会システム300は、クレジットカードの所有者の信用情報に基づいて、所有者の支払い能力を判定する。そして信用照会システム300は、支払いの能力があると判断した場合には、クレジットカードによる決済を許可する結果情報を、センタサーバ100を介してPOSシステム200に送信する。
【0031】
図3は、センタサーバのハードウェアの一例を示す図である。センタサーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0032】
メモリ102は、センタサーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0033】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0034】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0035】
GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0036】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0037】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0038】
機器接続インタフェース107は、センタサーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0039】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0040】
センタサーバ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。POSシステム200,200a,・・・および信用照会システム300,300a,・・・それぞれも、センタサーバ100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した装置も、センタサーバ100と同様のハードウェアにより実現することができる。
【0041】
センタサーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。センタサーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、センタサーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またセンタサーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0042】
図2に示したようなシステムのキャシュレス中継サービスを利用することで、加盟店31,31a,・・・は、カード会社32,32a,・・・の発行したクレジットカードを利用した料金の支払いを顧客から受け付けることが可能となる。このときセンタサーバ100では、クレジットカードの情報が正しく入力されているかどうかのチェック処理、カード会社32,32a,・・・それぞれの仕様に合わせたフォーマットへの信用照会の要求のデータフォーマット変換処理などが行われる。このようなセンタサーバ100におけるキャシュレス中継サービスの提供には複数のアプリケーションが用いられる。
【0043】
なおセンタサーバ100は多数の加盟店31,31a,・・・それぞれからの要求が集中する。そのため様々な要因により、センタサーバ100に性能問題が発生することがある。決済中継センタ30の管理者は、センタサーバ100に性能問題が発生した場合、アプリケーションにデバック用のログを出力させ、ログを解析することで問題の原因を特定する。しかし、アプリケーションごとに別のログファイルを生成した場合、アプリケーションそれぞれが処理を実行するごとにストレージ装置103への書き込みが発生し、I/O(Input/Output)の処理負荷が増加する。性能問題が発生している状況下において、センタサーバ100に対してさらに大きな処理負荷をかけると、さらなる性能劣化または二次障害が発生する可能性がある。
【0044】
またアプリケーションごとにログファイルが出力されると、1つのトランザクションに関連するログ情報を見つけ出すのに時間がかかる。その結果、原因箇所の特定に時間を要する。
【0045】
そこで第2の実施の形態に示すセンタサーバ100は、アプリケーションごとにログをログファイルへ出力するのではなく、ログをアプリケーション間で受け渡し、最終アプリケーションでまとめてログファイルへ出力する。これにより、1つのトランザクションのログを一つに纏めて、一つのログファイルへ1回で書き込むことができる。
【0046】
図4は、センタサーバの機能を示すブロック図である。図4には、一例として、POSシステム200から信用照会システム300への信用照会要求を仲介する機能が示されている。センタサーバ100には、図4に示した機能と同様の機能が、POSシステム200,200a,・・・と信用照会システム300,300a,・・・との組み合わせごとに設けられる。
【0047】
センタサーバ100は、ログ記憶部110と複数のアプリケーション120,130,140とを有する。アプリケーション120の識別子は「APL_1」である。アプリケーション130の識別子は「APL_2」である。アプリケーション140の識別子は「APL_3」である。
【0048】
ログ記憶部110は、ログファイル111を記憶する。ログ記憶部110は、例えばストレージ装置103の記憶領域の一部を用いて実現される。
アプリケーション120は、POSシステム200との電文送受信のためのコネクション管理を行う。アプリケーション120は、電文送受信部121、処理部122、およびログ出力部123を有する。電文送受信部121は、POSシステム200またはアプリケーション130との間で電文の送受信を行う。処理部122は、POSシステム200からの取引データの受信、およびPOSシステム200への信用照会結果を示す結果情報の送信を行う。ログ出力部123は、トランザクションごとのログをログファイル111に出力する。
【0049】
アプリケーション130は、カード情報のチェックを行う。アプリケーション120は、電文送受信部131および複数の処理部132,133を有する。電文送受信部131は、アプリケーション120またはアプリケーション140との間で電文の送受信を行う。処理部132は、例えば取引データに示されるカード情報に、情報欠落などの問題がないかチェックする。処理部132のアプリケーション130内での識別子は「I」である。処理部133は、例えば取引データの情報をDB(DataBase)に格納する。処理部133のアプリケーション130内での識別子は「II」である。
【0050】
アプリケーション140は、信用照会システム300とのデータの送受信を行う。アプリケーション140は、電文送受信部141、複数の処理部142,143、および中間ログ記憶部144を有する。電文送受信部141は、信用紹介システム300またはアプリケーション130との間で電文の送受信を行う。処理部142は、例えば取引データを信用照会システム300に対応するデータフォーマットに変換して、信用照会システム300に送信する。処理部142のアプリケーション140内での識別子は「I」である。処理部143は、処理部142での処理内容をDBに格納する。処理部143のアプリケーション140内での識別子は「II」である。中間ログ記憶部144は、トランザクションにおける信用照会システム300への信用照会要求までの中間ログを、メモリ102内に一時的に記憶する。
【0051】
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【0052】
次に、センタサーバ100を介した信用照会処理の手順について説明する。なお以下の説明では、POSシステム200から信用照会システム300の方向へ送られる電文の伝送方向を上り、逆方向を下りと呼ぶ。
【0053】
図5は、信用照会の処理手順の一例を示すシーケンス図である。なお図5の例では、上り方向の電文内の処理ログには、処理を行ったアプリケーションの識別子が付与されている。また、下り方向の電文内の処理ログには、処理を行ったアプリケーションの識別子および下り方向を示す符号「’」が付与されている(例えば「APL_1’」)。
【0054】
POSシステム200は、顧客がクレジットカードでの決済を希望した場合、その顧客の信用照会を要求する電文41を、センタサーバ100に送信する(ステップS11)。この電文41には、例えば顧客のクレジットカードの情報、決済の金額などの取引データが含まれる。センタサーバ100では、アプリケーション120(識別子「APL_1」)が上りの電文41を受信する(ステップS12)。アプリケーション120は、電文41に含まれていた取引データにアプリケーション120自身の処理ログを加えた電文42を、アプリケーション130(識別子「APL_2」)に送信する(ステップS13)。
【0055】
電文42を受信したアプリケーション130は、カード情報のチェック処理、および取引データのDBへの登録処理を行う(ステップS14)。次にアプリケーション130は、電文42に含まれていた取引データと処理ログにアプリケーション120自身の処理ログを加えた電文43を、アプリケーション140(識別子「APL_3」)に送信する(ステップS15)。
【0056】
電文43を受信したアプリケーション140は、信用照会システム300に合わせた電文のフォーマット変換処理、および所定のデータのDBへの登録処理を行う(ステップS16)。次にアプリケーション140は、変換後のフォーマットの取引データを含む電文44を、信用照会システム300に送信する(ステップS17)。
【0057】
信用照会システム300は、電文44に含まれる取引データに基づいて顧客の信用照会処理を行う(ステップS18)。そして信用照会システム300は、取引データと決済の可否を示す結果情報とを含む電文45を、センタサーバ100に送信する(ステップS19)。
【0058】
センタサーバ100では、アプリケーション140が電文45を受信し、フォーマット変換処理とDB内の所定のデータの更新処理とを行う(ステップS20)。その後、アプリケーション140は、電文45に含まれていた取引データと結果情報に、電文43に含まれていた処理ログとアプリケーション140自身の処理ログとを加えた電文46を、アプリケーション130に送信する(ステップS21)。
【0059】
電文46を受信したアプリケーション130は、カード情報のチェック処理、およびDB内の取引データの更新処理を行う(ステップS22)。次にアプリケーション130は、電文46に含まれていた取引データと結果情報と処理ログにアプリケーション130自身の処理ログを加えた電文47を、アプリケーション120に送信する(ステップS23)。
【0060】
アプリケーション120は、POSシステム200宛ての下り電文送信処理を行う(ステップS24)。これにより、電文47に含まれる取引データと結果情報とを含む電文48がPOSシステム200に送信される(ステップS25)。またアプリケーション120は、電文47に含まれていた処理ログに自身の処理ログを加えたトランザクションログ49をログファイル111に出力する(ステップS26)。
【0061】
このように信用照会の電文をセンタサーバ100が中継する過程で、アプリケーション120,130,140それぞれの処理ログが電文に追加される。そしてPOSシステム200への下りの電文48の送信完了後に、各処理ログがトランザクションログ49として纏められ、ログファイル111に出力される。これにより、ログファイル111への出力が1トランザクション当たり1回で済み、I/Oの処理負荷を最小限に抑えることができる。また1つのトランザクションに関連する一連の処理の処理ログがトランザクションログ49に纏められているため、問題発生時の原因解析も容易となる。
【0062】
アプリケーション120,130,140間の電文の送受信は電文メモリを介して行われる。そのため電文への処理ログの追加を行っても、ストレージ装置103のI/Oは増加しない。
【0063】
図6は、電文メモリを用いた電文送受信の一例を示す図である。図6には、「トランザクション1」のトランザクションが実行されたときの処理ログを含む電文の送受信状況が示されている。アプリケーション120,130,140は、他のアプリケーションに通知する情報(取引データなど)に加え、処理ログを電文メモリ51~54に格納する。処理ログには、例えば、処理を実行したアプリケーションの識別子、処理の識別子、処理開始時刻、処理終了時刻などが含まれる。
【0064】
処理ログに示される処理の開始時刻と終了時刻は、タイムスタンプとも呼ばれる。また1つの処理の開始時刻と終了時刻との組を、処理スタンプと呼ぶこともできる。各アプリケーション120,130,140は、任意の時点のタイムスタンプを、OSを介して、センタサーバ100が有する内部時計から取得することができる。
【0065】
例えばアプリケーション120は、受信した取引データを含む電文を電文メモリ51に書き込む。この際、アプリケーション120は、電文メモリ51内のログ領域51aに、処理ログを格納する。アプリケーション130は、電文メモリ51に書き込まれた電文を読み取ることで、アプリケーション120が出力した電文を取得する。アプリケーション130は、カード情報チェック処理、所定のデータのDBへの登録処理を行い、アプリケーション140に渡す電文を電文メモリ52に格納する。アプリケーション130は、ログ領域51aに含まれていた処理ログとアプリケーション130による処理の処理ログとを、電文メモリ52内のログ領域52aに書き込む。
【0066】
アプリケーション140は、電文メモリ52に書き込まれた電文を読み取ることで、アプリケーション130が出力した電文を取得する。アプリケーション140は、信用照会システム300への信用照会要求を送信し、応答を受信すると、アプリケーション130に渡す電文を電文メモリ53に格納する。この際、アプリケーション140は、ログ領域52aに含まれていた処理ログとアプリケーション140による処理の処理ログとを、電文メモリ53内のログ領域53aに書き込む。
【0067】
アプリケーション130は、電文メモリ53に書き込まれた電文を読み取ることで、アプリケーション140が出力した電文を取得する。アプリケーション130は、所定の処理後、アプリケーション120に渡す電文を電文メモリ54に格納する。この際、アプリケーション130は、ログ領域53aに含まれていた処理ログとアプリケーション130による処理の処理ログとを、電文メモリ54内のログ領域54aに書き込む。
【0068】
アプリケーション120は、電文メモリ54に書き込まれた電文を読み取ることで、アプリケーション130が出力した電文を取得する。アプリケーション120は、信用照会の結果をPOSシステム200に送信後、ログ領域54aに格納されていた処理ログとアプリケーション120による処理の処理ログとを含むトランザクションログ55をログファイル111に書き込む。
【0069】
性能問題などの何らかの問題の原因解析の際には、センタサーバ100の管理者は、トランザクションログ55を参照することで、トランザクションにおける処理の経過を一目で把握できる。図6の例では、上りの電文に対するアプリケーション130でのDBへのデータ登録処理が、想定以上に時間がかかっている(処理時間が過大である)ことを、容易に把握できる。
【0070】
次に図7図10を参照し、電文への処理ログの追加処理について詳細に説明する。
図7は、電文への処理ログ追加の一例を示す図(1/4)である。POSシステム200から送信されアプリケーション120で受信される電文41には、固定部・システムヘッダ部、取引ヘッダ、および取引情報が含まれている。アプリケーション120は電文フォーマットの変換を行い、アプリケーション130への送信用の電文42を生成する。電文42には、取引データ領域42aと複数のログ領域42b~42kとが含まれる。
【0071】
取引データ領域42aは、取引データの格納領域である。電文41内の取引データのデータフォーマットが、センタサーバ100内の電文用のデータフォーマットに変換され、取引データ領域42aに格納される。
【0072】
ログ領域42bは、上りの電文に対するアプリケーション120の処理部122での処理の処理ログを格納する領域である。ログ領域42cは、上りの電文に対するアプリケーション130の処理部132での処理の処理ログを格納する領域である。ログ領域42dは、上りの電文に対するアプリケーション130の処理部133での処理の処理ログを格納する領域である。ログ領域42eは、上りの電文に対するアプリケーション140の処理部142での処理の処理ログを格納する領域である。ログ領域42fは、上りの電文に対するアプリケーション140の処理部143での処理の処理ログを格納する領域である。
【0073】
ログ領域42gは、下りの電文に対するアプリケーション140の処理部142での処理の処理ログを格納する領域である。ログ領域42hは、下りの電文に対するアプリケーション140の処理部143での処理の処理ログを格納する領域である。ログ領域42iは、下りの電文に対するアプリケーション130の処理部132での処理の処理ログを格納する領域である。ログ領域42jは、下りの電文に対するアプリケーション130の処理部133での処理の処理ログを格納する領域である。ログ領域42kは、下りの電文に対するアプリケーション120の処理部122での処理の処理ログを格納する領域である。
【0074】
電文42作成時点では、ログ領域42bにアプリケーション120の処理ログが格納されている。その他のログ領域42c~42kは空欄である。
図8は、電文への処理ログ追加の一例を示す図(2/4)である。電文42を受け取ったアプリケーション130は、所定の処理実行後、電文42のフォーマットを変換し、アプリケーション140への送信用の電文43を生成する。電文43には、取引データ領域43aと複数のログ領域43b~43kが含まれる。
【0075】
取引データ領域43aは、取引データの格納領域である。電文42内の取引データのデータフォーマットが、センタサーバ100内の電文用のデータフォーマットに変換され、取引データ領域43aに格納される。
【0076】
複数のログ領域43b~43kは、それぞれ電文42の複数のログ領域42b~42kに対応する処理ログの記憶領域である。電文43の作成時には、ログ領域43bには、電文42のログ領域42bに含まれていた処理ログが格納される。また電文43の作成時には、アプリケーション130内の処理部132,133それぞれの処理ログが、ログ領域43c,43dに格納される。その他のログ領域43e~43kは空欄である。
【0077】
電文43を受け取ったアプリケーション140は、所定の処理実行後、電文43のフォーマットを変換し、信用照会システム300への送信用の電文44を生成する。電文44には取引データが含まれる。
【0078】
またアプリケーション140は、電文43のログ領域43eにアプリケーション140内の処理部142の処理ログを格納し、ログ領域43fにアプリケーション140内の処理部143の処理ログを格納する。またアプリケーション140は、複数のログ領域43b~43k内のデータのコピーを中間ログ記憶部144に格納する。なお中間ログ記憶部144は、メモリ102内の記憶領域であり、ストレージ装置103へのI/Oは発生しない。
【0079】
図9は、電文への処理ログ追加の一例を示す図(3/4)である。信用照会システム300からセンタサーバ100に送られる電文45には、取引データと結果情報とが含まれる。信用照会システム300から電文45を受け取ったアプリケーション140は、所定の処理実行後、電文45のフォーマットを変換し、アプリケーション130への送信用の電文46を生成する。電文46には、取引データ・結果領域46aと複数のログ領域46b~46kが含まれる。
【0080】
取引データ・結果領域46aは、取引データと結果情報の格納領域である。電文45内の取引データ・結果情報のデータフォーマットが、センタサーバ100内の電文用のデータフォーマットに変換され、取引データ・結果領域46aに格納される。
【0081】
複数のログ領域46b~46kは、それぞれ電文43の複数のログ領域43b~43kに対応する処理ログの記憶領域である。電文46の作成時には、ログ領域46b~46fには、それぞれ電文43のログ領域43b~43fに含まれていた処理ログが格納される。また電文46の作成時には、アプリケーション140内の処理部142,143それぞれの処理ログが、ログ領域46g,46hに格納される。その他のログ領域46i~46kは空欄である。
【0082】
図10は、電文への処理ログ追加の一例を示す図(4/4)である。電文46を受け取ったアプリケーション130は、所定の処理実行後、電文46のフォーマットを変換し、アプリケーション120への送信用の電文47を生成する。電文47には、取引データ・結果領域47aと複数のログ領域47b~47kが含まれる。
【0083】
取引データ・結果領域47aは、取引データと結果情報の格納領域である。電文46内の取引データ・結果情報のデータフォーマットが変換され、取引データ・結果領域47aに格納される。
【0084】
複数のログ領域47b~47kは、それぞれ電文46の複数のログ領域46b~46kに対応する処理ログの記憶領域である。電文47の作成時には、ログ領域47b~47hには、それぞれ電文46のログ領域46b~46hに含まれていた処理ログが格納される。また電文47の作成時には、アプリケーション130内の処理部132,133それぞれの処理ログが、ログ領域47i,47jに格納される。その他のログ領域47kは空欄である。
【0085】
電文47を受け取ったアプリケーション120は、電文47のフォーマットを変換し、POSシステム200への送信用の電文48を生成する。電文48には取引データと結果情報が含まれる。例えば電文48には、固定部・システムヘッダ部、取引ヘッダ、取引情報、およびPOS表示・印刷情報が含まれる。取引情報には、信用照会の結果情報が含まれる。
【0086】
またアプリケーション120は、電文47のログ領域47kにアプリケーション120内の処理部122の処理ログを格納し、複数のログ領域47b~47k内の処理ログのコピーを含むトランザクションログ49をログファイル111に格納する。なおログファイル111はストレージ装置103に保存されており、ログファイル111へのトランザクションログ49の格納時にはストレージ装置103へのI/Oが発生する。
【0087】
図7図10に示したように、アプリケーション120,130,140間で送受信される電文には、処理ログを格納するための領域が予め設けられている。これにより電文の送受信の際の電文メモリにおけるログ領域の容量が固定長となり、領域確保およびメモリ102の記憶領域管理が容易となる。
【0088】
次に図11図13を参照し、アプリケーション120,130,140それぞれの処理手順を詳細に説明する。
図11は、アプリケーション「APL_1」の処理手順の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0089】
[ステップS101]アプリケーション120は、POSシステム200とのコネクション接続を確立する。
[ステップS102]アプリケーション120は、上りの電文受信時の処理の開始時刻を取得する。
【0090】
[ステップS103]アプリケーション120の処理部122は、上りの電文をPOSシステム200から受信する。処理部122は、受信した電文内の取引データのフォーマットを変換する。
【0091】
[ステップS104]アプリケーション120は、上りの電文受信時の処理の終了時刻を取得する。
[ステップS105]アプリケーション120は、取引データと処理ログ(開始時刻と終了時刻を含む)を、アプリケーション130(APL_2)への電文メモリ51(図6参照)に出力する。
【0092】
[ステップS106]アプリケーション120は、アプリケーション130からの応答があったか否かを判断する。例えばアプリケーション120は、アプリケーション130が生成した電文メモリ54(図6参照)内に電文が出力されていれば、アプリケーション130からの応答があると判断する。アプリケーション120は、応答がある場合、処理をステップS107に進める。またアプリケーション120は、応答がなければステップS106の処理を繰り返し、応答を待つ。
【0093】
[ステップS107]アプリケーション120は、アプリケーション130(APL_2)からの下りの電文を電文メモリ54(図6参照)から読み込む。
[ステップS108]アプリケーション120は、下り電文受信時の処理の開始時刻を取得する。
【0094】
[ステップS109]アプリケーション120の処理部122は、受信した電文内の取引データと結果情報のフォーマットを変換する。そして処理部122は、下りの電文をPOSシステム200に送信する。
【0095】
[ステップS110]アプリケーション120は、下り電文受信時の処理の終了時刻を取得する。
[ステップS111]アプリケーション120は、アプリケーション130から取得した電文に含まれていた処理ログに、自身の処理ログ(開始時刻と終了時刻を含む)を追加したトランザクションログを、ログファイル111へ出力する。
【0096】
図12は、アプリケーション「APL_2」の処理手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS201]アプリケーション130は、アプリケーション120(APL_1)からの上りの電文を電文メモリ51(図6参照)から読み込む。
【0097】
[ステップS202]アプリケーション130は、上りの電文受信時のカード情報チェック処理の開始時刻を取得する。
[ステップS203]アプリケーション130は、カード情報チェック処理を行う。
【0098】
[ステップS204]アプリケーション130は、上りの電文受信時のカード情報チェック処理の終了時刻を取得する。
[ステップS205]アプリケーション130は、上りの電文受信時のDB登録処理の開始時刻を取得する。
【0099】
[ステップS206]アプリケーション130は、DB登録処理を行う。
[ステップS207]アプリケーション130は、上りの電文受信時のDB登録処理の終了時刻を取得する。
【0100】
[ステップS208]アプリケーション130は、取引データと処理ログ(開始時刻と終了時刻を含む)を、アプリケーション140(APL_3)への電文メモリ52(図6参照)に出力する。
【0101】
[ステップS209]アプリケーション130は、アプリケーション140からの応答があったか否かを判断する。例えばアプリケーション130は、アプリケーション140が生成した電文メモリ53(図6参照)内に電文が出力されていれば、アプリケーション140からの応答があると判断する。アプリケーション130は、応答がある場合、処理をステップS210に進める。またアプリケーション130は、応答がなければステップS209の処理を繰り返し、応答を待つ。
【0102】
[ステップS210]アプリケーション130は、アプリケーション140(APL_3)からの下りの電文を電文メモリ53(図6参照)から読み込む。
[ステップS211]アプリケーション130は、下り電文受信時のカードチェック処理の開始時刻を取得する。
【0103】
[ステップS212]アプリケーション130は、カード情報チェック処理を行う。
[ステップS213]アプリケーション130は、下りの電文受信時のカード情報チェック処理の終了時刻を取得する。
【0104】
[ステップS214]アプリケーション130は、下りの電文受信時のDB更新処理の開始時刻を取得する。
[ステップS215]アプリケーション130は、DB更新処理を行う。
【0105】
[ステップS216]アプリケーション130は、下りの電文受信時のDB更新処理の終了時刻を取得する。
[ステップS217]アプリケーション130は、取引データと結果情報と処理ログ(開始時刻と終了時刻を含む)とを、アプリケーション120(APL_1)への電文メモリ54(図6参照)に出力する。
【0106】
図13は、アプリケーション「APL_3」の処理手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS301]アプリケーション140は、アプリケーション130(APL_2)からの上りの電文を電文メモリ52(図6参照)から読み込む。
【0107】
[ステップS302]アプリケーション140は、上りの電文受信時のフォーマット変換処理の開始時刻を取得する。
[ステップS303]アプリケーション140は、取引データのデータフォーマットを信用照会システム300が求めるフォーマットに変換する。
【0108】
[ステップS304]アプリケーション140は、上りの電文受信時のフォーマット変換処理の終了時刻を取得する。
[ステップS305]アプリケーション140は、上りの電文受信時のDB登録処理の開始時刻を取得する。
【0109】
[ステップS306]アプリケーション140は、DB登録処理を行う。
[ステップS307]アプリケーション140は、上りの電文受信時のDB登録処理の終了時刻を取得する。
【0110】
[ステップS308]アプリケーション140は、信用照会システム300へ電文を送信する。
[ステップS309]アプリケーション140は、処理ログを中間ログ記憶部144に出力する。
【0111】
[ステップS310]アプリケーション140は、信用照会システム300からの応答を受信したか否かを判断する。アプリケーション140は、応答がある場合、処理をステップS311に進める。またアプリケーション140は、応答がなければステップS310の処理を繰り返し、応答を待つ。
【0112】
[ステップS311]アプリケーション140は、下りの電文受信時のフォーマット変換処理の開始時刻を取得する。
[ステップS312]アプリケーション140は、取引データと結果情報とのデータフォーマットをセンタサーバ100内の電文用のフォーマットに変換する。
【0113】
[ステップS313]アプリケーション140は、下りの電文受信時のフォーマット変換処理の終了時刻を取得する。
[ステップS314]アプリケーション140は、下りの電文受信時のDB更新処理の開始時刻を取得する。
【0114】
[ステップS315]アプリケーション140は、DB更新処理を行う。
[ステップS316]アプリケーション140は、下りの電文受信時のDB更新処理の終了時刻を取得する。
【0115】
[ステップS317]アプリケーション140は、中間ログ記憶部144から上りの電文に対して実行された各処理の処理ログを取得する。
[ステップS318]アプリケーション140は、取引データと結果情報と処理ログ(開始時刻と終了時刻を含む)とを、アプリケーション130(APL_2)への電文メモリ53(図6参照)に出力する。
【0116】
図11図13に示したように、アプリケーション120,130,140それぞれが処理ログを適切に管理することで、トランザクションの最後の処理を行うアプリケーション120に処理ログが集約される。その結果、アプリケーション120により、トランザクションに関するすべての処理ログを纏めたトランザクションログを、一度の書き出しでログファイル111に追加することができる。
【0117】
〔その他の実施の形態〕
第2の実施の形態のセンタサーバ100はキャッシュ列中継サービスにおけるトランザクションについてのログ情報を出力しているが、センタサーバ100を介して提供するサービスはキャッシュレス中継サービスには限定されない。すなわちセンタサーバ100は、キャッシュレス中継サービス以外の様々なサービスに関するトランザクションのログ情報を効率的に出力することができる。
【0118】
またセンタサーバ100内で実行されるアプリケーション数は3つに限定されず、2つまたは4つ以上のアプリケーションでトランザクションの処理が行われる場合もある。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0119】
1,2,10 情報処理装置
3 第1のソフトウェア
4 第2のソフトウェア
5 第1の電文
6 第2の電文
7 ログファイル
8 トランザクションログ情報
11 メモリ
12 処理部
13 ストレージ装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13