JP2017097791A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2017097791A
JP2017097791A JP2015232211A JP2015232211A JP2017097791A JP 2017097791 A JP2017097791 A JP 2017097791A JP 2015232211 A JP2015232211 A JP 2015232211A JP 2015232211 A JP2015232211 A JP 2015232211A JP 2017097791 A JP2017097791 A JP 2017097791A
Authority
JP
Japan
Prior art keywords
message
copy
server
database
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015232211A
Other languages
English (en)
Other versions
JP6676352B2 (ja
Inventor
俊典 小中
Toshinori Konaka
俊典 小中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Priority to JP2015232211A priority Critical patent/JP6676352B2/ja
Publication of JP2017097791A publication Critical patent/JP2017097791A/ja
Application granted granted Critical
Publication of JP6676352B2 publication Critical patent/JP6676352B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】通常時は本番データベースサーバのデータが非同期モードで災害対策データベースサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止する。
【解決手段】本発明の一実施形態に係るデータ処理装置は、クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に前記電文を記憶する電文記憶部とを有する。
【選択図】図1

Description

本発明は、データ処理装置に関する。
近年、ビジネスにおいて、ITを用いた計算機システムの重要性は、ますます高まっている。そこで、計算機システムを、本番システムと災害対策システムとに二重化して、本番システムに障害が発生した時には、災害対策システムに切り替えて、サービスを継続させるためのHA技術(High Availability技術)が重要となっている。
とりわけ、大規模災害においてもサービスやITを用いた計算機システムの復旧を迅速に行うD/R(Disaster Recover)技術が注目されている。D/R技術では、本番システムと災害対策システムとに二重化された計算機システム間でデータのコピーを行うことにより、データ保護を図っている。そのため、データ欠損がないことが最も重要となる。
図15は、従来のD/Rシステムの構成を示すブロック図である。従来のD/Rシステム(Disaster Recover System)は、本番システム730と遠隔地にある災害対策システム750とから構成されている。本番システム730では、データの記録、検索等の業務を行う。他方、災害対策システム750は、本番システム730と同一の内容を記憶しており、本番システム730のバックアップサイトとしての役割を果たす。
本番システム730は、本番Web/アプリケーション(AP)サーバ732と、本番データベース(DB)サーバ734とを備え、災害対策システム750は、災害対策Web/アプリケーション(AP)サーバ752と、災害対策データベース(DB)サーバ754とを備える。本番システム730に対して、災害対策システム750は、遠隔地に設置されており、両システム間は専用回線で接続されている。
平常時においては、ネットワーク727経由でクライアント端末720aからリクエストが送信されると、本番Web/APサーバ732に当該リクエストが転送される。これを受信した本番Web/APサーバ732は、リクエストの内容に応じた処理を実行し、処理結果を本番DBサーバ734に送信する。本番DBサーバは、本番Web/APサーバ732から受け取った処理結果のデータに基づいて対応のテーブルを更新する。本番システム730は、処理結果であるデータを、何らかのタイミングで災害対策システム750の災害対策データベース(DB)サーバ754に転送しておく。災害対策DBサーバ754は、受け取った処理結果であるデータに基づいて、対応のテーブルを更新する。障害が発生した場合は、システムを切り替え、バックアップサイトであった災害対策システム750が業務を引き継いで実行する。
ところで、システム間のデータの転送には、データベース間ネットワークによるコピーも用いられる。本番DBサーバ734に格納されるデータと災害対策DBサーバ754に格納されるデータとの完全な同一性を担保するためには、まず処理結果を本番DBサーバから災害対策DBサーバに送信し、データ更新完了の通知が返ってきた時点で本番DBサーバに対する更新を実行する、同期モードを採用するのが理想的である。ところが、災害対策システムは、その性質上、本番システムから遠距離に設置されるところ、遠距離で同期モードを採用するのは、ネットワークの遅延があるため、困難である。そのため、本番データベースのデータは、災害対策データベースに非同期モードでコピーされるのが現状である。
しかしながら、本番データベース730のデータが非同期モードで災害対策データベース750にコピーされる場合、データ転送処理による遅延が発生するため、データ欠損が生じる可能性がある。例えば、1日に1度、業務終了後にデータを転送する場合、データの転送前に、本番システム730に障害が生じたときは、最後にデータを転送してから、本番システム730に障害が生じたときまでの間に本番システム730の本番DBサーバ734に反映されたデータを失うという問題が生じる。
そこで、例えば、図16に示すように、特許文献1に開示されたデータベース管理システムは、データベースの障害が発生した際に、1日単位などでバックアップされたバックアップデータに対し、バックアップ以降にサーバ上で実行された確定したトランザクションをSQL文に変換して保持しているサーバトランザクションログ834と、クライアントが実行し確定したトランザクションをSQL文に変換してクライアントが保持するクライアントトランザクションログ823を収集し、反映させることによりデータベースを復旧させている。
特開2000−20369号公報
しかしながら、特許文献1に開示された従来例では、インターネットなどの広域網に接続された不特定多数の機器が接続された状況では、クライアントからログを収集することは非常に困難であるという問題がある。
本発明は、上記のような従来技術に伴う課題を解決しようとするものであって、その目的とするところは、通常時は本番データベースサーバのデータが非同期モードで災害対策データベースサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止するところにある。
本発明の一実施形態によると、クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に前記電文を記憶する電文記憶部と、を有するデータ処理装置を提供することができる。
前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更の操作を実行した結果を前記クライアントへ返信する第2電文のコピーを受信する第2受信部と、前記第1電文のコピーまたは前記第2電文のコピーから、前記電文を生成する電文生成部をさらに有することを特徴とするデータ処理装置であってもよい。
本発明の一実施形態によると、クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に前記第1電文のコピーを記憶するコピー記憶部とを有するデータ処理装置を提供することができる。
別の好ましい態様において、前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更の操作を実行した結果を前記クライアントへ返信する第2電文のコピーを受信する第2受信部を有し、前記コピー記憶部は、前記第2電文のコピーが前記データベースの変更の操作の成功を示す場合に前記第1電文のコピー又は第2電文のコピーを記憶することを特徴とするデータ処理装置であってもよい。
別の好ましい態様において、前記記憶部に記憶された第1電文のコピー又は第2電文のコピーから、前記サーバが生成したデータベース操作文を生成するための電文を生成する電文生成部を有するデータ処理装置であってもよい。
本発明の一実施形態によると、クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、前記第1電文のコピーを記憶するコピー記憶部と、前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に、該成功にかかる第1電文のコピーにデータベースの変更の操作の成功を示す制御情報を付加する履歴管理部と、を有するデータ処理装置を提供することができる。
前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更の操作を実行した結果を前記クライアントへ返信する第2電文のコピーを受信する第2受信部を有し、前記コピー記憶部は、第2電文のコピーを記憶し、前記履歴管理部は、前記第2電文のコピーが前記データベースの変更の操作の成功を示す場合に、前記第1電文のコピー及び前記第2電文のコピーにデータベースの変更の操作の成功を示す制御情報を付加することを特徴とするデータ処理装置であってもよい。
前記成功を示す制御情報を付加された第1電文のコピー又は第2電文のコピーから、前記サーバが生成したデータベース操作文を生成するための電文を生成する電文生成部と、前記電文を記憶する電文記憶部とをさらに有する、データ処理装置であってもよい。
別の好ましい態様において、前記サーバに障害が発生したことを検知する検知部を有するデータ処理装置であってもよい。
別の好ましい態様において、前記サーバに障害が発生すると、前記サーバとして動作する切替部を有するデータ処理装置であってもよい。
別の好ましい態様において、前記切替部は、前記サーバに障害が発生すると、前記クライアントから前記サーバへの経路情報を更新するデータ処理装置であってもよい。
別の好ましい態様において、前記第1受信部が受信した第1電文のコピーに、前記第1電文による前記データベースのトランザクションと関連付ける第1関連付部と、前記第2受信部が受信した第2電文のコピーが前記データベースのどのトランザクションにおける変更の操作を実行した結果を返信するものであるかを判別する第1判別部と、を有し、前記コピー記憶部は、前記第1判別部により判別された前記第2電文のコピーのトランザクションに関連づけられる第1電文のコピー又は前記第2電文のコピーを記憶するデータ処理装置であってもよい。
別の好ましい態様において、前記第1受信部が受信した第1電文のコピーに、送信元のクライアントの識別子を関連付ける第2関連付部と、前記第2受信部が受信した第2電文の送信先のクライアントの識別子を判別する第2判別部と、を有し、前記コピー記憶部は、前記第2判別部により判別された前記第2電文のコピーのトランザクションに関連づけられる第1電文のコピー又は前記第2電文のコピーを記憶するデータ処理装置であってもよい。
別の好ましい態様において、前記第2関連付部は、前記第1電文のコピーが受信された時刻をさらに関連付け、前記コピー記憶部は、前記第2判別部による判別に加え、前記第2関連付部により関連づけられた時刻と前記第2電文のコピーが受信された時刻とに基づいて、前記第1電文のコピー又は前記第2電文のコピーを記憶するデータ処理装置であってもよい。
本発明の一実施形態によると、クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、前記サーバから前記クライアントに送信するセッション識別情報のコピーを受信するセッション識別情報受信部と、前記第1電文のコピー及び前記セッション識別情報のコピーを記憶するコピー記憶部と、前記コピー記憶部に記憶された前記第1電文のコピー及び前記セッション識別情報のコピーから、クライアントへ返信する第2電文を生成する第2電文生成部と、前記サーバに障害が発生したことを検知する検知部を有し、前記第2電文生成部は、前記検知部が前記サーバに障害が発生したことを検知した後に、前記第2電文を生成することを特徴とするデータ処理装置を提供することができる。
前記第2電文及び前記セッション識別情報をクライアントに返信することを特徴とするデータ処理装置であってもよい。
前記コピー記憶部に記憶された第1電文のコピーから、前記サーバが生成したデータベース操作文を生成するための電文を生成する電文生成部をさらに有し、前記電文生成部は、前記検知部が前記サーバに障害が発生したことを検知したときに、前記電文を生成することを特徴とするデータ処理装置であってもよい。
前記サーバに障害が発生すると、前記サーバとして動作する切替部を有してもよい。
本発明の一実施形態によると、クライアントが第1データベースの更新を要求するために送信する第1電文を受信する第1受信部と、前記第1電文を記憶する第1電文記憶部と、前記クライアントへ返信する第2電文を生成する第2電文生成部と、前記第1データベースに障害が発生したことを検知する検知部を有し、前記第2電文生成部は、前記検知部が前記第1データベースに障害が発生したことを検知した後に、前記第2電文を生成することを特徴とするデータ処理装置が提供されてもよい。
前記第1電文記憶部に記憶された第1電文から、データベース操作文を生成するための電文を生成する電文生成部と、前記データベース操作文を生成するための電文を第2データベースに送信する送信部をさらに有し、前記電文生成部は、前記検知部が前記サーバに障害が発生したことを検知したときに、前記電文を生成することを特徴とするデータ処理装置が提供されてもよい。
前記電文を受信した前記第2データベースの変更が成功したことを示す情報を受信する第2受信部をさらに有し、前記第2電文生成部は、前記第2データベースの変更が成功したことを示す情報を基に第2電文を生成することを特徴とするデータ処理装置が提供されてもよい。
本発明の一実施形態によると、データベース操作文の生成の基礎となる情報を記憶する基礎情報記憶部と、稼動系の切替通知を受信する受信部と、前記受信部により受信された前記切替通知に基づき、前記基礎情報記憶部に記憶されている前記データベース操作文の生成の基礎となる情報をデータベース に対して送信する送信部と、を備えるデータ処理装置が提供される。
前記基礎情報記憶部は、データベースの更新に関する情報のみを記憶してもよい。
前記基礎情報記憶部よりデータベースの更新に関する情報のみを抽出して、前記送信部に伝達する抽出部をさらに備えてもよい。
前記基礎情報記憶部は、前記データベースの更新処理結果をクライアントに対して返信する第2電文と、前記データベース操作文の生成の基礎となる情報に対応するクライアントより受信する第1電文とを記憶し、前記第1電文と前記第2電文とが対応付けられるか否かを照合する照合部をさらに備えてもよい。
前記送信部は、前記照合部において前記第1電文と前記第2電文とが不照合であった場合に、前記データベース操作文の生成の基礎となる情報をデータベースに対して送信してもよい。
本発明の一実施形態によると、クライアントがデータベースの更新を要求するためにサーバへ送信する電文を前記サーバへ中継する中継部と、前記サーバが前記電文から前記データベースを更新するためのデータベース操作文を生成し前記データベースの変更が成功した場合に、前記中継部により中継された電文のコピーを生成する生成部とを有するデータ中継装置が提供される。
本発明によれば、通常時は本番データベースサーバのデータが非同期モードで災害対策データベースサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止することができる。
本発明の一実施形態に係るD/Rシステムの構成の一例を示すブロック図である。 本発明の一実施形態に係るデータ処理装置の構成の一例を示すブロック図である。 本発明の一実施形態に係るリクエストデータ及びレスポンスデータのヘッダテーブルの一例を示す図である。 本発明の一実施形態に係るステートメント文及びリストデータの一例を示す図である。 本発明の一実施形態に係るデータ処理装置の構成の一例を示すブロック図である。 本発明の一実施形態に係るリクエストデータ及びレスポンスデータにデータベースの変更の操作の成功を示す制御情報を付加したことを示す図である。 本発明の他の実施形態に係るD/Rシステムの構成の一例を示すブロック図である。 本発明の他の実施形態に係るD/Rシステムの構成の一例を示すブロック図である。 本発明の一実施形態に係る各システム間の関係の一例を示すブロック図である。 本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。 本発明の他の実施形態に係るD/Rシステムの構成の一例を示すブロック図である。 本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。 本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。 本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。 従来のD/Rシステムの構成の一例を示すブロック図である。 従来のデータベース管理システムの一例を示すブロック図である。
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字の後にA、Bなどを付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。他方、同一部分または同様な機能を有する部分で、類似の符号(数字の後にA、Bなどを付しただけの符号)を付した場合であっても、類似の符号を付した部分についての区別が不要な場合には、類似の符号を省略する。例えば、クライアント端末について、区別が不要な場合には、単に「クライアント端末」と表記する。
<第1実施形態>
[D/Rシステムの構成]
図1を用いて、D/Rシステム(Disaster Recover System)の概要を説明する。図1は、本発明の一実施形態に係るD/Rシステムの構成の一例を示すブロック図である。D/Rシステムは、本番システム30と遠隔地にある災害対策システム50とから構成される。本番システム30では、データの記録、検索等の業務を行う。他方、災害対策システム50は、本番システム30と同一の内容を記憶しており、本番システム30のバックアップとしての役割を果たす。なお、本番システム30も災害対策システム50も、正系と副系で構成される(図示せず)。例えば、障害によって、本番システムの正系が停止した場合には、本番システムの副系に切り替わるといった動作をする。他方、大規模災害等によって、本番システム30の正系及び副系の両系が停止した場合、すなわち、本番システム30が停止した場合には、災害対策システム50に切り替わる。以下では、本番システム30が停止し、災害対策システム50に切り替わる場合について説明する。
本番システム30は、本番Web/アプリケーション(AP)サーバ32と、本番データベース(DB)サーバ34とを備え、災害対策システム50は、災害対策Web/アプリケーション(AP)サーバ52と、災害対策データベース(DB)サーバ54とを備える。本番システム30に対して、災害対策システム50は、遠隔地に設置されており、両システム間は専用回線で接続されている。この例では、本番システムも災害対策システムも、Web/APサーバとDBサーバというWeb2階層システムであるが、これに限定されるものではなく、Webサーバ、APサーバ、DBサーバというWeb3階層システムであっても、Webサーバ、APサーバ及びDBサーバを1つにまとめた1階層システムであってもよい。
平常時においては、ネットワーク27経由でクライアント端末20aからリクエストが送信されると、本番Web/APサーバ32に当該リクエストが転送される。これを受信した本番Web/APサーバ32は、リクエストの内容に応じた処理を実行し、処理結果を本番DBサーバ34に送信する。本番DBサーバは、本番Web/APサーバ32から受け取った処理結果のデータに基づいて対応のテーブルを更新する。本番システム30は、処理結果であるデータを、何らかのタイミングで災害対策システム50の災害対策データベース(DB)サーバ54に転送しておく。災害対策DBサーバ54は、受け取った処理結果であるデータに基づいて、対応のテーブルを更新する。障害が発生した場合は、システムを切り替え、バックアップサイトであった災害対策システム50が業務を引き継いで実行する。この点については、従来の技術と同じである。
本番システム30は、クライアント端末20それぞれがネットワークを介して本番サーバ32に接続する。また、本番サーバ32は、クライアント端末20からデータを受信し、ネットワーク27を介して本番データベース34の更新を行う。
ネットワーク27は、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)やインターネット等のネットワークであり、無線/有線回線、専用回線等を問わず、クライアント端末20が本番サーバ32に接続可能なネットワーク環境が適用される。
また、クライアント端末20は、多機能携帯電話、携帯電話やPDA(Personal Digital Assistant)等の移動通信端末装置、パーソナルコンピュータなどの通信機能及び演算機能を備えた情報処理端末装置等が含まれる。また、本番サーバ32が提供する画面を表示する表示制御機能としてブラウザを備え、CPU、メモリ及び本番サーバとの間の通信制御を遂行する通信制御部等を含む。さらに、マウスやキーボード、タッチパネル等の操作入力装置及び表示装置を備えることができる。
[データ処理装置の構成]
図2を用いて、データ処理装置52について説明する。図2は、本発明の一実施形態に係るデータ処理装置の構成の一例を示すブロック図である。データ処理装置(災害対策サーバ)は、第1受信部521、第2受信部522、照合部523、電文生成部525、検知部526、切替部527、一時テーブル541、トランザクション実行テーブル543及びリカバリーテーブル545を含む。
第1受信部521は、クライアント端末20が本番DBサーバ34の更新を要求するために本番Web/APサーバ34へ送信するリクエストデータ(第1電文)のコピーを全量受信する。具体的には、クライアントが、クライアント端末20のブラウザ等の画面入力により、例えば、資金異動のリクエストデータを送信する場合、送信されたリクエストデータは、ネットワーク27を介して、本番システム30の本番Web/APサーバ32にて取得される。このときに、ネットワーク27から資金異動のリクエストデータのコピーが転送されて、データ処理装置52の第1受信部521が、これを受信するのである。なお、リクエストデータについての詳細は後述する。
第2受信部522は、本番Web/APサーバ32がリクエストデータ(第1電文)から本番DBサーバ34を更新するためのSQL文(データベース操作文)を生成するための電文(ステートメント文)を生成し、本番DB34の変更の操作を実行した結果をクライアント端末20に返信するレスポンスデータ(第2電文)のコピーを、ネットワーク27を介して受信する。具体的には、例えば、クライアント端末20から、資金異動のリクエストがされた場合、本番Web/APサーバ32は、このリクエストデータからステートメント文及びリストデータを生成する。そして、本番Web/APサーバ32から、ステートメント文及びリストデータが本番DBサーバ34に送信され、本番DBサーバ34において、ステートメント文及びリストデータからSQL文が生成及び実行される。SQL文が実行されると、資金異動について、本番DBサーバ34の対応のテーブルが更新される。その後、本番Web/APサーバ32は、本番DBサーバ34によって更新された結果を受け取り、レスポンスデータをクライアント端末20へ送信する。なお、レスポンスデータ、ステートメント文及びリストデータについての詳細は後述する。
トランザクション実行テーブル(コピー記憶部)543は、本番Web/APサーバ32がリクエストデータ(第1電文)から本番DBサーバ34を更新するためのSQL文(データベース操作文)を生成するためのステートメント文及びリストデータを生成し、本番DBサーバ34の変更が成功した場合に、リクエストデータ(第1電文)のコピーを記憶する。具体的には、トランザクション実行テーブル543は、レスポンスデータ(第2電文)のコピーが本番DBサーバ34の変更の操作の成功を示す場合に、リクエストデータ(第1電文)のコピーを記憶する。
ここで、照合部523を説明する前提として、図3を用いて、リクエストデータのコピー及びレスポンスデータのコピーについて説明する。図3は、本発明の一実施形態に係るリクエストデータのコピー及びレスポンスデータのコピーのテーブルの一例を示す図である。第1受信部521が、リクエストデータのコピーを受信すると、一時テーブル541は、リクエストデータのコピーを時系列で分類して記憶する。また、第2受信部522が、レスポンスデータのコピーを受信すると、一時テーブル541は、レスポンスデータのコピーを時系列で分類して記憶する。リクエストデータのコピーを時系列で分類したテーブルが、図3(a)に示すテーブルであり、リクエストデータのコピーを時系列で分類したテーブルが、図3(b)である。リクエストデータのコピーを時系列で分類したテーブルには、リクエストデータのコピーのすべてが記憶され、レスポンスデータのコピーを時系列で分類したテーブルには、レスポンスデータのコピーのすべてが記憶される。いずれのデータのコピーも、ヘッダとボディから構成されるが、図3では、ヘッダのみ示す。
図3に示すように、リクエストヘッダテーブル110には、時刻111、IPアドレス112、リクエストの内容113とユーザ名(クライアント名)114及びユーザID(クライアントID)115が含まれる。リクエストヘッダテーブル121をみると、ユーザ名「株式会社A」、ユーザID「23451022」が、時刻「9:01」に、IPアドレス「192.168.236.61」から「振込承認画面」をリクエストしていることがわかる。また、リクエストヘッダテーブル122をみると、ユーザ名「山田太郎」、ユーザID「98765432」が、時刻「9:02」に、IPアドレス「192.168.1.70」から「残高照会」をリクエストしていることがわかる。
他方、レスポンスヘッダテーブル130には、時刻131、IPアドレス132、Status133、ユーザ名134、ユーザID135がある。レスポンスヘッダテーブル141をみると、時刻「9:02」に、ユーザ名「株式会社A」、ユーザID「23451022」、IPアドレス「192.168.236.61」に対して、「Status=200」とのレスポンスがなされていることがわかる。これは、本番サーバから、ブラウザ等にステータスコードを返していることを意味するが、ステータスコードが200番台であるときは、正常処理がなされたことを意味する。ただし、振込完了でも残高不足にて失敗でも正常処理であることには変わりないことから、ステータスコードが200であることをもって、資金異動が成功したかどうかは判断できない。資金異動が成功したかどうかを判断するには、振込完了を表わすトランザクション名や処理IDなどで判断することになる。
再び図2を用いて、データ処理装置52の構成について説明する。照合部523は、第1関連付部531、第1判別部533、第2関連付部535、第2判別部537を含む。
第1関連付部531は、第1受信部521が受信したリクエストデータ(第1電文)のコピーに、リクエストデータによる本番DBサーバ34のトランザクションと関連付ける。具体的には、例えば、リクエストデータのコピーにあるリクエストの内容に「振込承認画面」とあれば、リクエストデータによる本番DBサーバのトランザクションも「振込承認画面」であると関連付ける。
第1判別部533は、第2受信部522が受信したレスポンスデータ(第2電文)のコピーが本番データベース34のどのトランザクションにおける変更の操作を実行した結果を返信するものであるかを判別する。具体的には、上記のとおり、レスポンスヘッダテーブルには、ユーザ名やユーザIDがある。例えば、ユーザ名「株式会社A」、ユーザID「23451022」が、時刻「9:01」に、IPアドレス「192.168.236.61」から「振込承認画面」をリクエストしている。レスポンスヘッダに、ユーザ名「株式会社A」、ユーザID「23451022」があれば、「振込承認画面」というトランザクションにおける変更の操作を実行した結果を返信するものであることが判別できる。
そして、トランザクション実行テーブル543は、本番DBサーバの変更が成功した場合に、第1判別部533により判別されたレスポンスデータ(第2電文)のコピーのトランザクションに関連付けられるリクエストデータ(第1電文)のコピー又はレスポンスデータのコピーを記憶する。具体的には、リクエストデータのコピーを時系列で分類したテーブルから、リクエストデータのコピーが取り出され、更新、この例では、資金異動リクエストかどうかが解析される。そして、資金異動リクエストのコピーである場合には、これに対応するレスポンスデータのコピーに振込完了を表わすトランザクション名や処理IDがあれば、資金異動が完了したものと判断され、トランザクション実行テーブル543は、資金異動リクエストデータのコピー又は資金異動リクエストデータに対応するレスポンスデータのコピーをテーブルに記憶する。他方、資金異動リクエストかどうかが解析されて、資金異動リクエストではないと判断されたリクエストデータのコピー及びこれに対応するレスポンスデータのコピーは、一時テーブル(図3のテーブル)541から、削除される。ここでは、一時的に記憶されることから、一時テーブルと呼ぶ。
第2関連付部535は、第1受信部521が受信したリクエストデータ(第1電文)のコピーに、送信元のクライアント端末20の識別子を関連付ける。具体的には、上記のように、リクエストヘッダテーブル110には、IPアドレス(クライアント端末の識別子)やブラウザ情報(図示せず)が含まれている。例えば、ユーザ名「株式会社A」、ユーザID「23451022」が、時刻「9:01」に、IPアドレス「192.168.236.61」から「振込承認画面」をリクエストしている。そこで、第2関連付部535は、第1受信部521が受信したリクエストデータのコピーに、このIPアドレス「192.168.236.61」を関連付けるのである。
また、第2関連付部535は、リクエストデータ(第1電文)のコピーが受信された時刻をさらに関連付ける。具体的には、リクエストヘッダテーブル110には、時刻のデータが含まれる。例えば、ユーザ名「株式会社A」、ユーザID「23451022」が、時刻「9:01」に、IPアドレス「192.168.236.61」から「振込承認画面」をリクエストしている。そこで、第2関連付部535は、第1受信部が受信したリクエストデータのコピーに、時刻「9:01」を関連付けるのである。
第2判別部537は、第2受信部522が受信したレスポンスデータ(第2電文)の送信先のクライアント端末20の識別子を判別する。具体的には、レスポンスヘッダテーブル130には、レスポンスの送信先のクライアント端末20のIPアドレス(識別子)が含まれる。例えば、レスポンスヘッダテーブル141をみると、時刻「9:02」に、IPアドレス「192.168.236.61」に対して、「Status=200」とのレスポンスがなされており、IPアドレス「192.168.236.61」が含まれている。第2判別部は、このIPアドレス「192.168.236.61」を判別するのである。
そして、トランザクション実行テーブル543は、本番DBサーバの変更が成功した場合に、第2判別部537による判別により判別されたレスポンスデータのコピーのトランザクションに関連付けられるリクエストデータのコピー又はレスポンスデータのコピーを記憶する。例えば、第2判別部537は、レスポンスヘッダのIPアドレス「192.168.236.61」やユーザIDを判別する。リクエストデータのコピーを時系列で分類したテーブルから、リクエストデータのコピーが取り出され、更新、この例では、資金異動リクエストかどうかが解析される。そして、資金異動リクエストのコピーである場合には、これに対応するレスポンスデータのコピーに振込完了を表わすトランザクション名や処理IDなどがあれば、資金異動が完了したものと判断され、トランザクション実行テーブル543は、資金異動リクエストデータのコピー又は資金異動リクエストデータに対応するレスポンスデータのコピーをテーブルに記憶する。他方、資金異動リクエストかどうかが解析されて、資金異動リクエストではないと判断されたリクエストデータのコピー及びこれに対応するレスポンスデータのコピーは、一時テーブル(図3のテーブル)541から、削除される。
トランザクション実行テーブル543は、また、本番DBサーバの変更が成功した場合に、第2判別部537による上記の判別に加え、リクエストデータのコピーが受信された時刻とレスポンスデータのコピーが受信された時刻とに基づいて、リクエストデータのコピー又はレスポンスデータのコピーを記憶してもよい。具体的には、リクエストヘッダテーブル121が示すように、ユーザ名「株式会社A」、ユーザID「23451022」が、時刻「9:01」に、IPアドレス「192.168.236.61」から「振込承認画面」をリクエストしている。他方、レスポンスヘッダテーブル141が示すように、時刻「9:02」に、ユーザ名「株式会社A」、ユーザID「23451022」、IPアドレス「192.168.236.61」に対して、「Status=200」とのレスポンスがなされている。
また、リクエストヘッダテーブル121とレスポンスヘッダテーブル141を対照すると、同じユーザ名「株式会社A」、ユーザID「23451022」、IPアドレス「192.168.236.61」があることから、ユーザ名「株式会社A」、ユーザID「23451022」による資金異動のリクエストが処理成功であったということがわかる。トランザクション実行テーブル543は、この例のように、レスポンスデータのコピーが本番データベースの変更の操作の成功を示す場合に、リクエストデータのコピー又はレスポンスデータのコピーを記憶してもよい。
図4を用いて、ステートメント文及びリストデータについて説明する。図4は、本発明の一実施形態に係るステートメント文及びリストデータの一例を示す図である。電文生成部525は、トランザクション実行テーブル543に記憶されたリクエストデータ(第1電文)のコピー又はレスポンスデータ(第2電文)のコピーから、本番Web/APサーバ32が生成したSQL文を生成するためのステートメント文及びリストデータを生成する。図4に示すように、ステートメント文及びリストデータには、「YOFFKFKM0601P」というデータが含まれているが、これは、振込を示すデータである。また、図4(a)及び(b)を対照すると明らかなとおり、ステートメント文及びリストデータには、同じ「2015 08/26 15:44:26 7800067760admin001 YOFFKFKM0601P 5171318f―9eba―4226―ae67―063dfe1370c2」というデータがあり、このデータによって、ステートメント文とリストデータを紐づけることが可能となる。
リクエストデータのコピーからステートメント文及びリストデータを作成する場合、具体的には、プログラムで、トランザクション実行テーブル543から、仕向け情報、被仕向け情報及び金額情報を取得し、振込サービスプログラムを呼び出し、仕向け情報、被仕向け情報及び金額情報をパラメータとして渡して、実行する。ここで、振込サービスプログラムは、本番システムにおいても同一のプログラムが用いられているが、本実施形態では、本番システムと異なり、データ処理装置(災害対策Web/APサーバ)は、災害対策DBサーバに接続されていない。そのため、振込サービスプログラムは、災害対策DBサーバに接続前に停止し、停止した時点で、処理結果を出力する。この処理結果が、図4に示すようなステートメント文及びリストデータである。そして、リカバリーテーブル(電文記憶部)545は、このステートメント文及びリストデータをそれぞれ記憶する。なお、図4(a)に示すように、災害対策DBサーバに接続前に停止した時点における処理結果であるので、ステートメント文は、「CRP_NO=?」のように、「?」が入っており、SQL文にはなっていない。
レスポンスデータのコピーからステートメント文及びリストデータを作成する場合、レスポンスデータのコピーには、仕向け情報、被仕向け情報、金額情報及び振込完了情報が含まれていることから、リクエストデータのコピーからステートメント文及びリストデータを作成する場合と同様に、プログラムで、トランザクション実行テーブル543から、仕向け情報、被仕向け情報及び金額情報を取得し、振込サービスプログラムを呼び出し、仕向け情報、被仕向け情報及び金額情報をパラメータとして渡して、実行する。その結果、ステートメント文及びリストデータが得られ、リカバリーテーブル545は、このステートメント文及びリストデータをそれぞれ記憶する。
検知部526は、本番Web/APサーバを含む本番システムに障害(災害)が発生したことを検知する。具体的には、災害対策システム50のデータ処理装置52の検知部526が本番システム30に対して、常に信号を送信し、これに対して、本番システム30が検知部526に対して、応答信号を送信しているところ、この応答信号がなくなったときに、検知部526は、災害が発生したものとみなすのである。
切替部527は、検知部526が本番Web/APサーバ32に障害(災害)が発生したことを検知すると、データ処理装置(災害対策Web/APサーバ)52を本番Web/APサーバ32として動作することに切り替える。また、切替部527は、本番Web/APサーバ32に障害が発生すると、クライアント端末20から本番Web/APサーバ32への経路情報を更新する。すなわち、DNSサーバ(図示せず)の設定変更によって、クライアント端末20の接続先が、災害対策Web/APサーバに切り替わるのである。また、本番Web/APサーバ32に障害が発生すると、本番DBサーバ34のデータが非同期で災害対策DBサーバ54にコピーされることが止まる。
ここで、上記の切り替えを行った後、リカバリーテーブル545から災害対策DBサーバ54にステートメント文及びリストデータを転送するときに、転送するステートメント文及びリストデータは限られる。すなわち、平常時は、本番DBサーバ34から災害対策DBサーバ54にデータが非同期で転送されているため、未だ転送されていないデータに対応するステートメント文及びリストデータだけ転送すればよい。そこで、リカバリーテーブル545のデータと災害対策DBサーバ54のデータとを突合して、未だ転送されていないデータに対応するステートメント文及びリストデータが、災害対策DBサーバ54に転送されることになる。具体的には、リカバリーテーブル545の時刻情報とユーザ名又はユーザIDの情報と災害対策DBサーバ54の時刻情報とユーザ名又はユーザIDの情報とを突合して、未だ転送されていないデータを転送するのである。なお、未だ転送されていないデータを転送する方法としては、以下の方法が考えられる。すなわち、平常時に本番DBサーバ34から災害対策DBサーバ54にデータが非同期で転送したタイミングで、転送が完了したこと表わす信号をデータ処理装置に送信する。そして、この信号を受信したデータ処理装置がリカバリーテーブル545に記憶されているデータを破棄しておく。その後、検知部526が、災害が発生したことを検知したときまでにリカバリーテーブル545に記憶されるデータが未だ転送されていないデータとなるから、これを災害対策DBサーバ54に転送するのである。
従来の技術では、平常時においては、データ処理装置(災害対策Web/APサーバ)52は、特段、活用されていない。他方、本実施形態によれば、平常時において、データ処理装置(災害対策Web/APサーバ)の一時テーブル541は、上記のとおり、リクエストデータのコピー及びレスポンスデータのコピーを記憶する。そして、トランザクション実行テーブル543は、リクエストデータが、資金異動リクエストの場合、レスポンスデータのコピーが振込完了を表わすトランザクション名や処理IDなどを含んでいれば、資金異動が完了したものと判断し、当該リクエストデータのコピー及びレスポンスデータのコピーを記憶する。このトランザクション実行テーブル543から特定のデータを取得して、振込サービスプログラムを実行して、ステートメント文及びリストデータを作成し、リカバリーテーブル545に記憶する。その後、未だ災害対策DBサーバ54に転送されていないデータに対応するステートメント文及びリストデータが、災害対策DBサーバを更新するために用いられるといったように有効活用されるという効果を奏する。
また、本実施形態では、トランザクションには、複数の種類がある。例えば、「振込承認画面」、「残高照会」、「ファイルアップロード」、「TOP」などである。このトランザクションのうち、「振込承認画面」の場合には、リクエストデータが資金異動であることから、本番DBサーバ34のデータは更新される。他方、トランザクションが「残高照会」の場合には、本番DBサーバ34のデータは更新されない。そして、本実施形態では、トランザクション実行テーブル543は、レスポンスデータのコピーが本番データベース34の変更の操作の成功を示す場合、例えば、資金異動の場合に、リクエストデータのコピー又はレスポンスデータのコピーを記憶する。そのため、リクエストデータのコピー又はレスポンスデータのコピーのいずれか1つのデータから、資金異動のような更新のみをデータとして復元することができるという効果を奏する。
また、従来の技術では、人が、災害が発生したことを認識した上で、データ処理装置(災害対策Web/APサーバ)52を本番Web/APサーバ32として動作することに切り替えることを手動で行っていた。そして、この切り替えを手動で行うには、時間を要していた。他方、本実施形態によれば、検知部が、本番Web/APサーバを含む本番システムに障害(災害)が発生したことを検知すると、切替部は、データ処理装置(災害対策Web/APサーバ)52を本番Web/APサーバ32として動作することに自動的に切り替える。したがって、本実施形態によれば、データ処理装置(災害対策Web/APサーバ)52を本番Web/APサーバ32として動作することに切り替えることに要する時間が短くなるという効果を奏する。
また、本実施形態によれば、データ処理装置(災害対策Web/APサーバ)52は、上記のとおり、トランザクション実行テーブル543に記憶されたリクエストデータのコピー又はレスポンスデータのコピーから、ステートメント文及びリストデータを生成し、リカバリーテーブル545は、ステートメント文及びリストデータを記憶する。そして、本番Web/APサーバ32を含む本番システムに障害(災害)が発生した場合、データ処理装置52は、ステートメント文及びリストデータのうち、平常時に転送されていなかったデータに対応するステートメント文及びリストデータが、災害対策DBサーバ54に転送される。そして、災害対策DBサーバ54で、転送されたステートメント文及びリストデータから、SQL文が生成、実行され、災害対策DBサーバのデータが更新される。そのため、平常時は本番DBサーバ34のデータが非同期で災害対策DBサーバ54にコピーされる場合であっても、クライアント端末20やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止することができる。
さらに、リクエストデータには、例えば、クライアントIDやパスワードのデータ(図3には図示せず)も含まれる。例えば、資金異動などのリクエストデータがあり、本番DBサーバが更新され、その後、本番DBサーバに障害が発生し、しかも、その資金異動などのリクエストデータについて、本番DBサーバから災害対策DBサーバにデータの転送がされていなかった場合には、クライアントIDやパスワードのデータを利用することができる。具体的には、クライアントIDやパスワードのデータから、ダミークライアントを生成し、ログインして、資金異動などの取引を行うことによって、取引を復元して、災害対策DBサーバを更新することができる。
<第2実施形態>
図5及び図6を用いて、履歴管理部を備えるデータ処理装置について説明する。図5は、本発明の一実施形態に係るデータ処理装置の構成の一例を示すブロック図である。図6は、本発明の一実施形態に係るリクエストデータ及びレスポンスデータにデータベースの変更の操作の成功を示す制御情報を付加したことを示す図である。本実施形態は、第1実施形態と概ね同じである。そこで、重複する部分についての説明は省略し、異なる点を説明する。本実施形態に係るデータ処理装置52Cは、第1実施形態と異なり、履歴管理部530を備える。また、本実施形態に係るデータ処理装置52Cのコピー記憶部551は、すべてのリクエストデータ(第1電文)のコピー及びレスポンスデータ(第2電文)のコピーを記憶する。
履歴管理部530は、本番Web/APサーバがリクエストデータから本番DBサーバを更新するためのSQL文(データベース操作文)を生成するためのステートメント文及びリストデータを生成し、このステートメント文及びリストデータを基に本番DBサーバの変更が成功した場合に、この成功にかかるリクエストデータのコピーに本番DBサーバの変更の成功を示す制御情報を付加する。図6に示すように、リクエストヘッダテーブル121の制御情報116は、本番DBサーバの変更が成功したことを示す制御情報が入力されている。他方、リクエストヘッダテーブル122乃至124には、このような制御情報が入力されない。残高照会やTOP画面、ファイルアップロードでは、本番DBサーバが変更されないからである。
また、履歴管理部530は、レスポンスデータのコピーが本番DBサーバの変更が成功した場合に、リクエストデータのコピー及びレスポンスデータのコピーに本番DBサーバの変更の成功を示す制御情報を付加してもよい。図6に示すように、リクエストヘッダテーブル121の制御情報116及びレスポンスヘッダテーブル141の制御情報137は、本番DBサーバの変更が成功したことを示す制御情報が入力されている。
電文生成部525は、本番DBサーバの変更の成功を示す制御情報を付加されたリクエストデータのコピーまたはレスポンスデータのコピーから、本番Web/APサーバが生成したSQL文を生成するためのステートメント文及びリストデータを生成する。すなわち、電文生成部525は、コピー記憶部551に記憶されたすべてのリクエストデータのコピーまたはレスポンスデータのコピーのうち、図6に示すような本番DBサーバの変更の成功を示す制御情報を付加されたリクエストデータのコピーまたはレスポンスデータのコピーに限って、これらのデータのコピーからステートメント文及びリストデータを生成するのである。
電文記憶部553は、電文生成部525で生成されたステートメント文及びリクエストデータを記憶する。
本実施形態でも、第1実施形態と同様に、平常時においては、特段活用されていないデータ処理装置(災害対策Web/APサーバ)を有効活用することができるという効果を奏する。また、本実施形態でも、第1実施形態と同様に、データ処理装置を本番Web/APサーバとして動作することに切り替えることに要する時間が短くなるという効果を奏する。さらに、本実施形態でも、第1実施形態と同様に、平常時は本番DBサーバのデータが非同期で災害対策DBサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止することができる。
また、本実施形態でも、第1実施形態と同様に、リクエストデータのコピー又はレスポンスデータのコピーのいずれか1つのデータから、資金異動のような更新のみをデータとして復元することができる。
さらに、本実施形態でも、第1実施形と同様に、リクエストデータ中のクライアントIDやパスワードのデータから、ダミークライアントを生成し、ログインして、資金異動などの取引を行うことによって、取引を復元して、災害対策データベースを更新することができる。
<第3実施形態>
図7は、本発明の他の実施形態に係るD/Rシステムの構成の一例を示すブロック図である。本実施形態は、第1実施形態と概ね同じである。そこで、重複する部分についての説明は省略し、異なる点を説明する。本実施形態は、第1実施形態の検知部526がデータ処理装置(災害対策Web/APサーバ)52の内部になく、外部に検知部36がある。この検知部36が災害を検知して、災害であることを表わす信号をデータ処理装置52に送信する。本実施形態に係るデータ処理装置には、第1実施形態のデータ処理装置と異なり、検知部36が送信するデータを受信する災害情報データ受信部(図示せず)がある。
一例として、本番システム30が正系システム30a、副系システム30bを含み、正系システム30aと副系システム30bが互いを監視し、検知部36が統合監視をしている。正系システム30aと副系システム30bの監視が停止した場合、無通信となるので、そのタイミングで、検知部36は、災害が生じたことを示すデータをデータ処理装置52の災害情報データ受信部に送信する。災害情報データ受信部が、このデータを受信すると、切替部は、データ処理装置52を本番Web/APサーバ32として動作することに自動的に切り替える。なお、地震の検知には、地震計を併用してもよい。
また、別の例として、検知部36が、本番システム30の正系システム30a、副系システム30bを監視するシステム統合監視をし、統合監視で本番システム30のすべてが停止したと判断できた場合に、検知部36が、データ処理装置52の災害情報データ受信部に、災害であることを表わす信号を送信してもよい。この場合、検知部36は、地震が生じる前にこれから地震が生じることを検知して稼働するため、検知部36が停止する前に、災害情報データ受信部に災害であることを表わす信号を送信することは可能である。なお、地震の検知には、地震計を併用してもよい。
また、さらに別の例として、検知部36が、本番システム30の正系システム30a、副系システム30bを監視するシステム統合監視をし、統合監視で本番システム30のすべて又は一部が停止したと判断できた場合に、検知部36が、データ処理装置52の災害情報データ受信部に、災害であることを表わす信号を送信してもよい。
本実施形態でも、第1実施形態及び第2実施形態と同様に、平常時においては、特段活用されていないデータ処理装置(災害対策Web/APサーバ)を有効活用することができるという効果を奏する。また、本実施形態でも、第1実施形態及び第2実施形態と同様に、データ処理装置を本番Web/APサーバとして動作することに切り替えることに要する時間が短くなるという効果を奏する。さらに、本実施形態でも、第1実施形態及び第2実施形態と同様に、平常時は本番DBサーバのデータが非同期で災害対策DBサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止することができる。
また、本実施形態でも、第1実施形態及び第2実施形態と同様に、リクエストデータのコピー又はレスポンスデータのコピーのいずれか1つのデータから、資金異動のような更新のみをデータとして復元することができる。
さらに、本実施形態でも、第1実施形態及び第2実施形態と同様に、リクエストデータ中のクライアントIDやパスワードのデータから、ダミークライアントを生成し、ログインして、資金異動などの取引を行うことによって、取引を復元して、災害対策データベースを更新することができる。
<第4実施形態>
図8を用いて、クライアント端末20とネットワーク27の途中にデータ中継装置60がある場合について説明する。図8は、本発明の他の実施形態に係るD/Rシステムの構成の一例を示すブロック図である。データ中継装置60は、中継部601と生成部603とを含む。
中継部601は、クライアント端末20が本番データベース34の更新を要求するために本番Web/APサーバ32へ送信するリクエストデータを本番Web/APサーバ32へ中継する。中継部601は、例えば、インターネットサービスプロバイダである。
生成部603は、本番Web/APサーバ32がリクエストデータから本番DBサーバ34を更新するためのSQL文(データベース操作文)を生成するためのステートメント文及びリストデータを生成し本番データベース32の変更が成功した場合に、中継部601により中継されたリクエストデータのコピーを生成する。
本実施形態によれば、データ中継装置60を用いて、リクエストデータのコピーを生成することが可能となる。そして、第1実施形態乃至第3実施形態と同様に、リクエストデータ中のクライアントIDやパスワードのデータから、ダミークライアントを生成し、ログインして、資金異動などの取引を行うことによって、取引を復元して、災害対策DBサーバを更新することができる。本実施形態によれば、インターネットサービスプロバイダなどのデータ中継装置を用いて、契約企業と顧客データを転送・解析するようなサービスを提供することができる。
<第5実施形態>
上記の実施形態では、本番システムが単一のシステムからなる場合について説明したが、本番システムが複数のシステム又は複数のサービスからなり、かつ各システムが連携している場合もある。この場合も、上記実施形態と概ね同じであり、一部が異なる。そこで、ここでは、重複する箇所についての説明は省略する。
単一のシステムの場合、災害対策Web/APサーバは、記憶しているステートメント文及びリストデータを災害対策DBサーバに転送して、このステートメント文及びリストデータからSQL文を生成、実行して、災害対策DBサーバに記憶されているデータを更新することになるが、記憶しているステートメント文及びリストデータをすべて転送するわけではない。なぜなら、上記実施形態においても、非同期で本番DBサーバから災害対策DBサーバにデータが転送されているため、災害対策DBサーバに転送されていないデータに対応するステートメント文及びリストデータだけ転送した上で、災害対策DBサーバに記憶されているデータを更新すればよいからである。
図9に示すように、本番システムが複数のシステム又は複数のサービスからなり、かつ各システムが連携している場合についても、災害対策Web/APサーバに記憶しているステートメント文及びリストデータのすべてを災害対策DBサーバに転送して、災害対策DBサーバに記憶されているデータを更新するわけではない点では同じである。もっとも、本番システムが複数のシステム又は複数のサービスからなり、かつ各システムが連携している場合には、各システム内で、災害対策DBサーバに転送されていないステートメント文及びリストデータを突合後、システム間でも突合する。
具体的には、バックシステム70以外のフロントシステムが、バックシステム70と整合をとることになる。この例では、フロントシステムは、顧客との接点を取り持つシステムであり、例えば、インターネットバンキングシステムである。また、バックシステムは、約定した取引を記録し、その内容を元帳などに反映させるシステムであり、例えば、口座管理システムである。例えば、クライアントが、クライアント端末から、インターネットバンキングを利用して、振込を完了させた場合、当該クライアントからすると、振込が完了したものと認識される。ところが、口座管理システムにおいて、当該クライアントの振込が完了しないまま、災害が発生してしまう場合がある。この場合、フロントシステムとバックシステムで突合をとって、振込が完了したことを災害対策DBサーバのテーブルに反映する必要があるのである。
本実施形態でも、第1実施形態乃至第3実施形態と同様に、平常時においては、特段活用されていないデータ処理装置(災害対策Web/APサーバ)を有効活用することができるという効果を奏する。また、本実施形態でも、第1実施形態乃至第3実施形態と同様に、データ処理装置(災害対策Web/APサーバ)を本番Web/APサーバとして動作することに切り替えることに要する時間が短くなるという効果を奏する。さらに、本実施形態でも、第1実施形態乃至第3実施形態と同様に、平常時は本番DBサーバのデータが非同期で災害対策DBサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止することができる。
また、本実施形態でも、第1実施形態乃至第3実施形態と同様に、リクエストデータのコピー又はレスポンスデータのコピーのいずれか1つのデータから、資金異動のような更新のみをデータとして復元することができる。
さらに、本実施形態でも、第1実施形態乃至第4実施形態と同様に、リクエストデータ中のクライアントIDやパスワードのデータから、ダミークライアントを生成し、ログインして、資金異動などの取引を行うことによって、取引を復元して、災害対策データベースを更新することができる。
<第6実施形態>
図10は、本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。本実施形態は、第1実施形態と概ね同じである。そこで、重複する部分についての説明は省略し、異なる点を説明する。本実施形態に係るデータ処理装置52Dは、第1実施形態のデータ処理装置(災害対策Web/APサーバ)52の構成に加えて、セッション識別情報受信部528がある。
セッション識別情報受信部528は、本番Web/APサーバ32から、セッション識別情報を受信する。ここで、セッション識別情報とは、セッションを識別する情報をいう。この例では、クライアント端末20があるサービス(例えば、インターネットを介して振込を行うサービス)を利用するときに、クライアント端末20がログイン画面を開くと、本番Web/APサーバがログイン画面を返す。そして、クライアント端末20がログインすると、本番Web/APサーバ32は、セッション識別情報を発行し、次の画面を返すときにレスポンスにセッション識別情報を含める。続けて、クライアント端末20がリクエストデータ(例えば、資金異動のデータ)を本番Web/APサーバ32に送信するときに、渡されたセッション識別情報を含める。セッション識別情報受信部528は、本番Web/APサーバ32がクライアント端末20にレスポンスを返すときに、セッション識別情報のコピーを受信するが、これに限定されるものではなく、クライアント端末20がリクエストデータを本番Web/APサーバ32に送信するときに、セッション識別情報のコピーを受信してもよい。
従来技術では、クライアント端末からのリクエストデータ(第1電文)が本番Web/APサーバで処理はされたが、本番DBサーバでデータベースの更新がされる前に、本番システムに障害が生じた場合には、データベースの更新がなされないといった問題やクライアント端末がレスポンスデータ(第2電文)を受信できないといった問題がある。
他方、本実施形態によれば、クライアント端末20が本番DBサーバ34のデータベースの更新を要求するために本番Web/APサーバ32にリクエストデータを送信するときに、データ処理装置52Dの第1受信部521は、リクエストデータのコピーを受信し、コピー記憶部561は、このリクエストデータのコピーを記憶する。また、セッション情報受信部528は、セッション識別情報のコピーを受信し、コピー記憶部561は、セッション識別情報のコピーを記憶する。クライアント端末からのリクエストデータ(第1電文)が本番Web/APサーバで処理はされたが、本番DBサーバでデータベースの更新がされる前に、本番システムに障害が生じた場合、検知部526が、この障害を検知すると、切替部527は、データ処理装置52Dが、本番Web/APサーバとして動作することに切り替える。そして、検知部526が、障害を検知すると、電文生成部525は、ステートメント文及びリストデータを生成する。そして、ステートメント文及びリストデータからSQL文を生成・実行し、災害対策DBサーバ54のデータベースを更新する。その後、クライアント端末20にレスポンスデータ(第2電文)及びセッション識別情報のコピーを返信する。セッション識別情報のコピーがなければ、クライアント端末20は、レスポンスデータを受信できない。このように、本実施形態では、クライアント端末からのリクエストデータが本番Web/APサーバで処理はされたが、本番DBサーバでデータベースの更新がされる前に、本番システムに障害が生じた場合であっても、災害対策DBサーバのデータベースが更新され、クライアント端末がレスポンスデータを受信することができるという効果を奏する。
また、従来技術では、リクエストデータが本番Web/APサーバ32で処理され、本番DBサーバ34でデータベースの更新はされたものの、クライアント端末20がレスポンスデータを受信する前に、本番システム30に障害が生じた場合には、クライアント端末20がレスポンスデータを受信できないといった問題がある。なお、この問題が生じる場合としては、本番DBサーバ34でデータベースが更新され、かつ、災害対策DBサーバ54のデータベースが更新されていない場合と、本番DBサーバ34でデータベースが更新され、かつ、災害対策DBサーバ54のデータベースが更新されている場合がある。
他方、本実施形態では、本番DBサーバ34でデータベースが更新され、かつ、災害対策DBサーバ54のデータベースが更新されていない場合と、本番DBサーバ34でデータベースが更新され、かつ、災害対策DBサーバ54のデータベースが更新されている場合のいずれの場合であっても、上記問題は生じないという効果を奏する。
まず、本番DBサーバ34でデータベースが更新され、かつ、災害対策DBサーバ54のデータベースが更新されていない場合に、クライアント端末20が本番Web/APサーバ32からレスポンスデータを受信する前に、本番システム30に障害が生じたときには、コピー記憶部561に記憶されたリクエストデータのコピーとレスポンスデータのコピーとを突合する。すなわち、リクエストデータのコピーとレスポンスデータのコピーのユーザ名、ユーザID、IPアドレス等を突合すると、対応するレスポンスデータのコピーが存在しないリクエストデータのコピーが判明する。このリクエストデータに対応するレスポンスデータがクライアント端末20に返信されていないことがわかる。そこで、電文生成部525Cは、このリクエストデータのコピーからステートメント文及びリストデータを生成し、これらは、災害対策DBサーバ54に転送される。そして、災害対策DBサーバ54は、ステートメント文及びリストデータからSQL文を生成し、データベースを更新し、クライアント端末20にレスポンスデータを送信することになる。
次に、本番DBサーバ34でデータベースが更新され、かつ、災害対策DBサーバ54のデータベースが更新されている場合に、クライアント端末20が本番Web/APサーバ32からレスポンスデータを受信する前に、本番システム30に障害が生じたときに、コピー記憶部561に記憶されたリクエストデータのコピーとレスポンスデータのコピーとを突合すると、対応するレスポンスデータのコピーが存在しないリクエストデータのコピーが判明する。もっとも、対応するレスポンスデータのコピーが存在しないリクエストデータについても、災害対策DBサーバ54のデータベース自体は更新されてはいる。そのため、対応するレスポンスデータのコピーが存在しないリクエストデータからステートメント文及びリストデータを生成して、これらが災害対策DBサーバ54に転送されると、二重に更新されてしまうため、これを避ける必要がある。そこで、既に更新されたデータのうち、レスポンスデータが返信されていないデータをデータベースから抽出して、第2電文生成部529は、レスポンスデータを生成する。具体的には、対応するレスポンスデータのコピーが存在しないリクエストデータには、ユーザ名、ユーザID、IPアドレス、時刻などの情報があるので、災害対策DBサーバ54のデータベースから、対応するレスポンスデータのコピーが存在しないリクエストデータのユーザ名、ユーザID、IPアドレス等と合致するデータを抽出する。抽出したデータには、仕向け情報、被仕向け情報、金額情報、時刻等のデータがあるので、これらのデータから、第2電文生成部529は、レスポンスデータを生成するのである。
本実施形態でも、第1実施形態乃至第3実施形態と同様に、平常時においては、特段活用されていないデータ処理装置(災害対策Web/APサーバ)を有効活用することができるという効果を奏する。また、本実施形態でも、第1実施形態乃至第3実施形態と同様に、データ処理装置を本番Web/APサーバとして動作することに切り替えることに要する時間が短くなるという効果を奏する。さらに、本実施形態でも、第1実施形態乃至第3実施形態と同様に、平常時は本番DBサーバのデータが非同期で災害対策DBサーバにコピーされる場合であっても、クライアント端末やクライアントのSQL文やログ情報を利用することなく、データ転送処理による遅延に由来するデータ欠損が生じることを防止することができる。
また、本実施形態でも、第1実施形態乃至第3実施形態と同様に、リクエストデータのコピーから、資金異動のような更新のみをデータとして復元することができる。
さらに、本実施形態でも、第1実施形乃至第4実施形態と同様に、リクエストデータ中のクライアントIDやパスワードのデータから、ダミークライアントを生成し、ログインして、資金異動などの取引を行うことによって、取引を復元して、災害対策データベースを更新することができる。
<第7実施形態>
図11及び図12を用いて、本番Web/APサーバがデータ処理装置として機能する場合について説明する。図11は、本発明の他の実施形態に係るD/Rシステムの構成の一例を示すブロック図である。図12は、本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。第6実施形態では、本番システム全体に障害が生じた場合について説明したが、第7実施形態では、本番DBサーバ34cにのみ障害が生じ、本番Web/APサーバ32cには障害が生じない場合について説明する。
本実施形態では、図11に示すように、本番Web/APサーバ32cがデータ処理装置である。また、本番Web/APサーバ32cと災害対策DBサーバ54とがネットワーク43で接続されている。
データ処理装置(本番Web/APサーバ)32cは、第1受信部321、第2受信部322、第1電文記憶部324、電文生成部325、検知部326、送信部328及び第2電文生成部329を備える。
第1受信部321は、クライアントが本番DBサーバ34c(第1データベース)の更新を要求するために送信するリクエストデータ(第1電文)を受信する。第1電文記憶部324は、当該リクエストデータを記憶する。
検知部326は、本番DBサーバ34cに障害が発生したことを検知する。具体的には、検知部326が、本番DBサーバ34cに対して、常に信号を送信し、これに対して、本番DBサーバ34cが検知部326に対して、応答信号を送信しているところ、この応答信号がなくなったときに、検知部326は、災害が発生したものとみなすのである。
電文生成部325は、第1電文記憶部324に記憶されたリクエストデータから、SQL文を生成するためのステートメント文及びリストデータを生成する。具体的には、電文生成部325は、第1電文記憶部324に記憶されたリクエストデータのうち、未だクライアントにレスポンスデータの返信がないデータについてのみ、ステートメント文及びリストデータを生成する。
送信部328は、ネットワーク43を介して、災害対策DBサーバ54(第2データベース)に電文生成部325が生成したステートメント文及びリストデータを送信する。ステートメント文及びリストデータを受信した災害対策DBサーバ54は、これらを基にSQL文を生成・実行し、その結果をデータ処理装置32cに送信する。
第2受信部322は、災害対策DBサーバ54の変更が成功したことを示す情報を受信する。
第2電文生成部329は、クライアントへ返信するレスポンスデータ(第2電文)を生成する。第2電文生成部329は、検知部326が本番DBサーバ34cに障害が発生したことを検知した後に、レスポンスデータを生成する。第2電文生成部329は、災害対策DBサーバ54の変更が成功したことを示す情報を基にレスポンスデータを生成する。
従来の技術では、クライアントがリクエストデータを送信した後、本番DBサーバ34cに障害が発生した場合、レスポンスデータが返信されることはない。しかし、本実施形態では、クライアントがリクエストデータを送信した後に本番DBサーバ34cに障害が発生した場合でも、第1電文記憶部324に記憶されたリクエストデータからステートメント文及びリストデータを生成し、これらを災害対策DBサーバ54に送信し、災害対策DBサーバ54でSQL文を生成・実行した後、災害対策DBサーバ54の変更が成功したことを示す情報が返信され、その情報を基にレスポンスデータが生成され、クライアントに返信される。そのため、クライアントにとって、有益なサービスを提供することができるという効果を奏する。
<第8実施形態>
図13は、本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。データ処理装置62は、受信部621、照合部623、基礎情報記憶部624及び送信部625を含む。
基礎情報記憶部624は、クライアントから本番Web/Apサーバ(図示せず)に送信するリクエストデータ(第1電文)を記憶し、本番DBサーバのデータベースでの更新処理結果をクライアントに対して返信するレスポンスデータ(第2電文)を記憶する。
また、基礎情報記憶部624は、リクエストデータまたはレスポンスデータから生成されるSQL文の生成の基礎となる情報を記憶する。具体的には、基礎情報記憶部624は、ステートメント文及びリストデータを記憶する。この例では、基礎情報記憶部624は、災害対策DBサーバ54のデータベースの更新に関する情報のみを記憶する。データベースの更新に関する情報は、例えば、資金異動に関するデータである。したがって、基礎情報記憶部624は、資金異動に関するデータのステートメント文及びリストデータを記憶する。
受信部621は、稼働系の切替通知を受信する。例えば、本番システム(図示せず)の本番Web/APサーバや本番DBサーバに災害などによって障害が生じた場合に、受信部621は、本番システムから切り替えるための通知を受信する。
照合部623は、リクエストデータとレスポンスデータとが対応付けられるか否かを照合する。具体的には、基礎情報記憶部624に記憶されたリクエストデータとレスポンスデータとを突合すると、対応するレスポンスデータが存在しないリクエストデータが判明する。リクエストデータとレスポンスデータとが不照合である場合とは、対応するレスポンスデータが存在しないリクエストデータがある場合をいう。
送信部625は、受信部621により受信された切替通知に基づき、リクエストデータとレスポンスデータとが不照合である場合に、基礎情報記憶部624に記憶されているSQL文の生成の基礎となる情報、例えば、資金異動に関するデータのステートメント文及びリストデータを災害対策DBサーバ54のデータベースに送信する。すなわち、対応するレスポンスデータが存在しないリクエストデータから生成したステートメント文及びリストデータを災害対策DBサーバ54のデータベースに送信する。
従来の技術では、平常時においては、データ処理装置(災害対策Web/Apサーバ)は、特段、活用されていない。他方、本実施形態によれば、データ処理装置の基礎情報記憶部624は、資金異動に関するデータのステートメント文及びリストデータを記憶し、この資金異動テーブルから、未だ本番DBサーバから災害対策DBサーバに転送されていないデータに対応するステートメント文及びリストデータを作成し、記憶し、その後、ステートメント文及びリストデータは、災害対策DBを更新するために用いられるといったように有効活用されるという効果を奏する。また、本実施形態によれば、切替通知を受信したことをトリガーとして、データ処理装置の基礎情報記憶部624に記憶されていた資金異動に関するデータのステートメント文及びリストデータのみが災害対策DBサーバに送信され、SQL文が生成・実行されるという効果を奏する。
<第9実施形態>
図14は、本発明の他の実施形態に係るデータ処理装置の構成の一例を示すブロック図である。本実施形態は、第8実施形態と概ね同じであるが、一部が異なる。そこで、重複する部分についての説明は省略し、異なる点を説明する。本実施形態に係るデータ処理装置62aは、第8実施形態のデータ処理装置62の構成に加えて、抽出部626を含む。
基礎情報記憶部624は、クライアントから本番Web/Apサーバ(図示せず)に送信するリクエストデータ(第1電文)を記憶し、本番DBサーバのデータベースでの更新処理結果をクライアントに対して返信するレスポンスデータ(第2電文)を記憶する。そして、リクエストデータまたはレスポンスデータからSQL文の生成の基礎となる情報を生成し、記憶する。具体的には、記憶部624は、ステートメント文及びリストデータを記憶する。
抽出部626は、基礎情報記憶部624に記憶されたステートメント文及びリストデータのうち、データベースの更新に関する情報、すなわち、資金異動に関するデータのステートメント文及びリストデータを抽出する。
そして、送信部625は、受信部621により受信された切替通知に基づき、リクエストデータとレスポンスデータとが不照合である場合に、基礎情報記憶部624に記憶されているSQL文の生成の基礎となる情報、例えば、資金異動に関するデータのステートメント文及びリストデータを災害対策DBサーバ54のデータベースに送信する。
本実施形態も、第8実施形態と同様に、データ処理装置の基礎情報記憶部624は、ステートメント文及びリストデータを記憶し、その後、ステートメント文及びリストデータは、災害対策DBを更新するために用いられるといったように有効活用されるという効果を奏する。また、本実施形態によれば、切替通知を受信したことをトリガーとして、データ処理装置の基礎情報記憶部624に記憶されていた資金異動に関するデータのステートメント文及びリストデータのみが災害対策DBサーバに送信され、SQL文が生成・実行されるという効果を奏する。
なお、上記では、具体例として、資金異動や残高照会など金融機関を前提とした説明をした。もっとも、本発明は、金融機関におけるシステムに限定されるものではなく、他の会社や機関におけるシステムであってもよい。この場合には、本番データベースの更新が必要なトランザクションは、各会社や機関によって異なる。
また、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
20:クライアント端末 27:ネットワーク
30:本番システム 30a:本番システムの正系システム
30b:本番システムの副系システム 32:本番Web/APサーバ
34:本番データベースサーバ 36:検知部
42:サーバ間ネットワーク 43:ネットワーク
44:データベースサーバ間ネットワーク
50:災害対策システム 50a:災害対策システムの正系システム
50b:災害対策システムの副系システム
52:災害対策Web/APサーバ
54:災害対策データベースサーバ 60:中継装置
70:バックシステム 72:バックシステムのWeb/APサーバ
74:バックシステムのデータベースサーバ
80:フロントシステム 82:フロントシステムのWeb/APサーバ
84:フロントシステムのデータベースサーバ
110:リクエストテーブル 111:時刻 112:IPアドレス
113:POSTデータ 113:リクエストの内容
114:ユーザ名 115:ユーザID
121、122、123、124:リクエストヘッダテーブル
130:レスポンスヘッダテーブル 131:時刻 132:IPアドレス
133:Status 134:ユーザ名 135:ユーザID
141、142、143、144:レスポンスヘッダテーブル
321:第1受信部 322:第2受信部 324:第1電文記憶部
325:電文生成部 326:検知部
送信部:328 329:第2電文生成部
521:第1受信部 522:第2受信部 523:照合部
525:電文生成部 526:検知部
527:切替部 531:第1関連付部
533:第1判別部 535:第2関連付部 537:第2判別部
541:一時テーブル 543:トランザクション実行テーブル
545:リカバリーテーブル
551:コピー記憶部 553:電文記憶部
561:コピー記憶部
601:中継部 603:生成部 621:受信部 623:照合部 624:基礎情報記憶部 625:送信部
626:抽出部 720:クライアント端末 727:ネットワーク
730:本番システム 732:本番Web/APサーバ
734:本番データベースサーバ
742:サーバ間ネットワーク 744:データベース間ネットワーク
750:災害対策システム 752:災害対策Web/APサーバ
754:災害対策データベースサーバ
820:クライアント端末 827:ネットワーク
823:クライアントトランザクションログ 832:サーバ
834:サーバトランザクションログ 836:バックアップデータ
838:DBMS

Claims (27)

  1. クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、
    前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に前記電文を記憶する電文記憶部と、
    を有するデータ処理装置。
  2. 前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更の操作を実行した結果を前記クライアントへ返信する第2電文のコピーを受信する第2受信部と、
    前記第1電文のコピーまたは前記第2電文のコピーから、前記電文を生成する電文生成部をさらに有することを特徴とする請求項1に記載のデータ処理装置。
  3. クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、
    前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に該成功にかかる前記第1電文のコピーを記憶するコピー記憶部と
    を有するデータ処理装置。
  4. 前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更の操作を実行した結果を前記クライアントへ返信する第2電文のコピーを受信する第2受信部を有し、
    前記コピー記憶部は、前記第2電文のコピーが前記データベースの変更の操作の成功を示す場合に該成功にかかる前記第1電文のコピー又は第2電文のコピーを記憶することを特徴とする請求項3に記載のデータ処理装置。
  5. 前記記憶部に記憶された第1電文のコピー又は第2電文のコピーから、前記サーバが生成したデータベース操作文を生成するための電文を生成する電文生成部を有する、請求項3または4に記載のデータ処理装置。
  6. クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、
    前記第1電文のコピーを記憶するコピー記憶部と、
    前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に、該成功にかかる第1電文のコピーにデータベースの変更の操作の成功を示す制御情報を付加する履歴管理部と、
    を有するデータ処理装置。
  7. 前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更の操作を実行した結果を前記クライアントへ返信する第2電文のコピーを受信する第2受信部を有し、
    前記コピー記憶部は、第2電文のコピーを記憶し、
    前記履歴管理部は、前記第2電文のコピーが前記データベースの変更の操作の成功を示す場合に、前記第1電文のコピー及び前記第2電文のコピーにデータベースの変更の操作の成功を示す制御情報を付加することを特徴とする請求項6に記載のデータ処理装置。
  8. 前記成功を示す制御情報を付加された第1電文のコピー又は第2電文のコピーから、前記サーバが生成したデータベース操作文を生成するための電文を生成する電文生成部と、
    前記電文を記憶する電文記憶部と、
    をさらに有する、請求項6または7に記載のデータ処理装置。
  9. 前記サーバに障害が発生したことを検知する検知部を有する、請求項2、5または8に記載のデータ処理装置。
  10. 前記サーバに障害が発生すると、前記サーバとして動作する切替部を有する、請求項5、8または9に記載のデータ処理装置。
  11. 前記切替部は、前記サーバに障害が発生すると、前記クライアントから前記サーバへの経路情報を更新する請求項10に記載のデータ処理装置。
  12. 前記第1受信部が受信した第1電文のコピーに、前記第1電文による前記データベースのトランザクションと関連付ける第1関連付部と、
    前記第2受信部が受信した第2電文のコピーが前記データベースのどのトランザクションにおける変更の操作を実行した結果を返信するものであるかを判別する第1判別部と、
    を有し、
    前記コピー記憶部は、前記第1判別部により判別された前記第2電文のコピーのトランザクションに関連づけられる第1電文のコピー又は第2電文のコピーを記憶する、請求項4または8に記載のデータ処理装置。
  13. 前記第1受信部が受信した第1電文のコピーに、送信元のクライアントの識別子を関連付ける第2関連付部と、
    前記第2受信部が受信した第2電文の送信先のクライアントの識別子を判別する第2判別部と、
    を有し、
    前記コピー記憶部は、前記第2判別部により判別された前記第2電文のコピーのトランザクションに関連づけられる第1電文のコピー又は第2電文のコピーを記憶する、請求項4または8に記載のデータ処理装置。
  14. 前記第2関連付部は、前記第1電文のコピーが受信された時刻をさらに関連付け、
    前記コピー記憶部は、前記第2判別部による判別に加え、前記第2関連付部により関連づけられた時刻と前記第2電文のコピーが受信された時刻とに基づいて、前記第1電文のコピー又は前記第2電文のコピーを記憶する、請求項13に記載のデータ処理装置。
  15. クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文のコピーを受信する第1受信部と、
    前記サーバから前記クライアントに送信するセッション識別情報のコピーを受信するセッション識別情報受信部と、
    前記第1電文のコピー及び前記セッション識別情報のコピーを記憶するコピー記憶部と、
    前記コピー記憶部に記憶された前記第1電文のコピー及び前記セッション識別情報のコピーから、クライアントへ返信する第2電文を生成する第2電文生成部と、
    前記サーバに障害が発生したことを検知する検知部を有し、
    前記第2電文生成部は、前記検知部が前記サーバに障害が発生したことを検知した後に、前記第2電文を生成することを特徴とするデータ処理装置。
  16. 前記第2電文及び前記セッション識別情報をクライアントに返信することを特徴とする請求項15に記載のデータ処理装置。
  17. 前記コピー記憶部に記憶された第1電文のコピーから、前記サーバが生成したデータベース操作文を生成するための電文を生成する電文生成部をさらに有し、
    前記電文生成部は、前記検知部が前記サーバに障害が発生したことを検知したときに、前記電文を生成することを特徴とする請求項12または請求項16に記載のデータ処理装置。
  18. 前記サーバに障害が発生すると、前記サーバとして動作する切替部を有する、請求項15乃至請求項17のいずれか一に記載のデータ処理装置。
  19. クライアントが第1データベースの更新を要求するために送信する第1電文を受信する第1受信部と、
    前記第1電文を記憶する第1電文記憶部と、
    前記クライアントへ返信する第2電文を生成する第2電文生成部と、
    前記第1データベースに障害が発生したことを検知する検知部を有し、
    前記第2電文生成部は、前記検知部が前記第1データベースに障害が発生したことを検知した後に、前記第2電文を生成することを特徴とするデータ処理装置。
  20. 前記第1電文記憶部に記憶された第1電文から、データベース操作文を生成するための電文を生成する電文生成部と、
    前記データベース操作文を生成するための電文を第2データベースに送信する送信部をさらに有し、
    前記電文生成部は、前記検知部が前記サーバに障害が発生したことを検知したときに、前記電文を生成することを特徴とする請求項19に記載のデータ処理装置。
  21. 前記電文を受信した前記第2データベースの変更が成功したことを示す情報を受信する第2受信部をさらに有し、
    前記第2電文生成部は、前記第2データベースの変更が成功したことを示す情報を基に第2電文を生成することを特徴とする請求項20に記載のデータ処理装置。
  22. データベース操作文の生成の基礎となる情報を記憶する基礎情報記憶部と、
    稼動系の切替通知を受信する受信部と、
    前記受信部により受信された前記切替通知に基づき、前記基礎情報記憶部に記憶されている前記データベース操作文の生成の基礎となる情報をデータベースに対して送信する送信部と、
    を備えるデータ処理装置。
  23. 前記基礎情報記憶部は、データベースの更新に関する情報のみを記憶する、請求項22に記載のデータ処理装置。
  24. 前記基礎情報記憶部よりデータベースの更新に関する情報のみを抽出して、前記送信部に伝達する抽出部をさらに備える、請求項22に記載のデータ処理装置。
  25. 前記基礎情報記憶部は、前記データベースの更新処理結果をクライアントに対して返信する第2電文と、前記データベース操作文の生成の基礎となる情報に対応するクライアントより受信する第1電文とを記憶し、
    前記第1電文と前記第2電文とが対応付けられるか否かを照合する照合部をさらに備える、請求項23または24に記載のデータ処理装置。
  26. 前記送信部は、前記照合部において前記第1電文と前記第2電文とが不照合であった場合に、前記データベース操作文の生成の基礎となる情報をデータベースに対して送信する、請求項25に記載のデータ処理装置。
  27. クライアントがデータベースの更新を要求するためにサーバへ送信する第1電文を前記サーバへ中継する中継部と、
    前記サーバが前記第1電文から前記データベースを更新するためのデータベース操作文を生成するための電文を生成し前記データベースの変更が成功した場合に、前記中継部により中継された第1電文のコピーを生成する生成部と
    を有するデータ中継装置。
JP2015232211A 2015-11-27 2015-11-27 データ処理装置 Active JP6676352B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015232211A JP6676352B2 (ja) 2015-11-27 2015-11-27 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015232211A JP6676352B2 (ja) 2015-11-27 2015-11-27 データ処理装置

Publications (2)

Publication Number Publication Date
JP2017097791A true JP2017097791A (ja) 2017-06-01
JP6676352B2 JP6676352B2 (ja) 2020-04-08

Family

ID=58803976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015232211A Active JP6676352B2 (ja) 2015-11-27 2015-11-27 データ処理装置

Country Status (1)

Country Link
JP (1) JP6676352B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018235348A1 (ja) * 2017-06-20 2018-12-27 株式会社東芝 データベースサーバ、データベース管理方法、および記憶媒体
CN111723146A (zh) * 2019-03-18 2020-09-29 北京沃东天骏信息技术有限公司 监测数据库的方法、管理系统及存储介质
JP6999584B2 (ja) 2019-01-18 2022-01-18 三菱電機株式会社 監視制御システム、監視制御システムの運用方法及び制御システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110269A (ja) * 1997-10-01 1999-04-23 Toshiba Corp データ通信システム、データ通信方法および記録媒体
WO2000017755A2 (en) * 1998-09-24 2000-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Protocol for replicated servers
JP2001265635A (ja) * 2000-03-21 2001-09-28 Toshiba Corp Sql文によるデータベース更新方法
JP2008033778A (ja) * 2006-07-31 2008-02-14 Nec Corp コンピュータシステム、データベース復旧方法、データベース復旧プログラム
JP2014048969A (ja) * 2012-08-31 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> サーバ、ファイル管理システム、ファイル管理方法およびファイル管理プログラム
JP2015153285A (ja) * 2014-02-18 2015-08-24 日本電信電話株式会社 冗長化データベースシステム、データベース装置及びマスタ交代方法
US20150278333A1 (en) * 2014-03-28 2015-10-01 Fujitsu Limited Information processing apparatus and control method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110269A (ja) * 1997-10-01 1999-04-23 Toshiba Corp データ通信システム、データ通信方法および記録媒体
WO2000017755A2 (en) * 1998-09-24 2000-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Protocol for replicated servers
JP2002525748A (ja) * 1998-09-24 2002-08-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 複製サーバのためのプロトコル
JP2001265635A (ja) * 2000-03-21 2001-09-28 Toshiba Corp Sql文によるデータベース更新方法
JP2008033778A (ja) * 2006-07-31 2008-02-14 Nec Corp コンピュータシステム、データベース復旧方法、データベース復旧プログラム
JP2014048969A (ja) * 2012-08-31 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> サーバ、ファイル管理システム、ファイル管理方法およびファイル管理プログラム
JP2015153285A (ja) * 2014-02-18 2015-08-24 日本電信電話株式会社 冗長化データベースシステム、データベース装置及びマスタ交代方法
US20150278333A1 (en) * 2014-03-28 2015-10-01 Fujitsu Limited Information processing apparatus and control method
JP2015191451A (ja) * 2014-03-28 2015-11-02 富士通株式会社 情報処理装置、制御方法および制御プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018235348A1 (ja) * 2017-06-20 2018-12-27 株式会社東芝 データベースサーバ、データベース管理方法、および記憶媒体
JP2019003584A (ja) * 2017-06-20 2019-01-10 株式会社東芝 データベースサーバ、データベース管理方法、およびプログラム
JP6999584B2 (ja) 2019-01-18 2022-01-18 三菱電機株式会社 監視制御システム、監視制御システムの運用方法及び制御システム
CN111723146A (zh) * 2019-03-18 2020-09-29 北京沃东天骏信息技术有限公司 监测数据库的方法、管理系统及存储介质

Also Published As

Publication number Publication date
JP6676352B2 (ja) 2020-04-08

Similar Documents

Publication Publication Date Title
US5805798A (en) Fail-safe event driven transaction processing system and method
CN108833479B (zh) 一种数据同步方法和装置
CA2971679C (en) A system, method and computer program product for receiving electronic messages
US20060129772A1 (en) Data processing method and system
JP2019133696A (ja) 電子メッセージの転送を制御するためのインターフェース、システム、方法及びコンピュータプログラム製品
JP2014532932A (ja) 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム
US11086902B2 (en) Method and system for implementing a redo repeater
GB2533432A (en) A device system, method and computer program product for processing electronic transaction requests
JP6676352B2 (ja) データ処理装置
CN108958984A (zh) 基于ceph的双活同步在线热备方法
WO2014152076A1 (en) Retry and snapshot enabled cross-platform synchronized communication queue
US9069632B2 (en) Message processing
JP6549245B2 (ja) データ管理システム
KR101270760B1 (ko) 자동 이체 관리 시스템 및 그 관리 방법
CN116414628A (zh) 一种新旧系统切换过程中交易请求的处理方法和装置
JP3572928B2 (ja) バックアップ機能付オンラインデータベース情報処理システム
JP2005128811A (ja) 無停止型取引システム、取引端末およびバックアップ地区システム
CN115698955A (zh) 事务镜像的容错
CN112380054A (zh) 基于灾备实时挂载的方法
JP5106648B2 (ja) 複数のインターネットサービスを多重化するサービス中継装置及びサービス中継方法
KR20010039125A (ko) 트랜잭션 송신을 통한 분산 데이터베이스의 동기화 시스템
KR101093128B1 (ko) 무중단 코어뱅킹 시스템
Ali et al. Actor-oriented approach for fault tolerance in e-commerce events
WO2017077643A1 (ja) データ管理システム
US20130282667A1 (en) Method and system for implementing a conditional redo repeater

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20151211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200312

R150 Certificate of patent or registration of utility model

Ref document number: 6676352

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250