JP2017524190A - データベース障害時のデータ記憶 - Google Patents

データベース障害時のデータ記憶 Download PDF

Info

Publication number
JP2017524190A
JP2017524190A JP2017503894A JP2017503894A JP2017524190A JP 2017524190 A JP2017524190 A JP 2017524190A JP 2017503894 A JP2017503894 A JP 2017503894A JP 2017503894 A JP2017503894 A JP 2017503894A JP 2017524190 A JP2017524190 A JP 2017524190A
Authority
JP
Japan
Prior art keywords
database
data value
stored
transaction
transaction identification
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
JP2017503894A
Other languages
English (en)
Other versions
JP6557323B2 (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2017524190A publication Critical patent/JP2017524190A/ja
Application granted granted Critical
Publication of JP6557323B2 publication Critical patent/JP6557323B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1次データベースに記憶されるデータ値は、読出しデータベースにM秒以内に同期される。1次データベースの障害時に、トランザクション処理サーバは、M秒以内のトランザクション要求を特定し、トランザクション要求のトランザクション処理を実行して対応トランザクション識別とデータ変動値とを取得し、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定し、記憶されていない場合、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定し、待機データベースに記憶されているデータ値に基づいてサービスを提供するために、トランザクション識別と正確なデータ値とを待機データベースに記憶する。本開示の技術は、トランザクションが中断されることを防ぎ、ユーザ体験を向上する。

Description

関連出願の相互参照
本出願は、2014年8月8日に出願された“METHOD AND APPARATUS FOR DATA STORAGE UPON DATABASE FAILURE”と題する中国特許出願第201410389882.5号に対する外国優先権を主張し、その全体が参照により本明細書に組み込まれるものとする。
本開示はインターネット技術に関し、より詳細にはデータ記憶の方法とデバイス、特にデータベースの障害時におけるデータ記憶の方法及びデバイスに関する。
トランザクション処理サーバは、上流サーバからのトランザクション要求を受信すると、トランザクション要求のトランザクション処理を実行し、トランザクション処理の結果を使用して1次データベースに記憶されているデータ値を更新する。例えば、1次データベースが主に勘定残高を記憶するために使用され、かつ上流サーバがユーザの支払行為を処理するために使用される時、ユーザAの支払行為が$100を支払うことだとすると、上流サーバはトランザクション処理サーバに対し、ユーザAの勘定残高から$100を差し引くよう要求するために使用されるトランザクション要求を送信する。トランザクション処理サーバは、トランザクション要求を受信すると、トランザクション要求を使用して、ユーザAの勘定残高から$100を差し引くトランザクション処理を実行する。さらに、1次データベースにおけるユーザAの対応勘定残高が$1000だとすると、トランザクション処理サーバは、1次データベースに記憶されているユーザAの勘定残高$1000から$100を差し引いて、1次データベースに記憶されているユーザAの勘定残高を$900に更新する必要がある。
既存の技術では、1次データベースの障害時に1次データベースはサービスの提供を停止し、そして1次データベースがデータの正確性を保証できるように復旧されて初めて、1次データベースは引き続きサービスを提供する。しかしながら、1次データベースの障害時に、トランザクション処理サーバは、1次データベース内のデータ値を取得して、1次データベースに記憶されているデータ値に基づいてトランザクション処理を実行することができないため、トランザクションは中断され、ユーザ体験に影響を及ぼす。
当概要は、発明を実施するための形態においてさらに後述される概念の精選を、簡潔な形式で紹介するために提供される。当概要には、請求内容の全ての主要な特徴または重要な特徴を特定する意図はなく、また請求内容の範囲の特定を補助するものとして単独で用いられる意図もない。用語「技術(複数可)または技術的解決策(複数可)」は例えば、前述の文脈により、また本開示を通して許容されているように、装置(複数可)、システム(複数可)、方法(複数可)、及び/またはコンピュータ可読命令を指し得る。
本開示は、1次データベースの障害時にトランザクションが中断されることを防ぎ、ユーザ体験を向上する、データベースの障害時におけるデータ記憶の方法及びデバイスを提供する。
本開示は、データベースの障害時におけるデータ記憶の例示的方法を提供し、1次データベースに記憶されるデータ値は、読出しデータベースにM秒以内に同期されなければならない。方法は以下の動作、1次データベースの障害時に、トランザクション処理サーバにより、M秒以内のトランザクション要求を特定し、トランザクション要求のトランザクション処理を実行して対応トランザクション識別とデータ変動値とを取得することと、トランザクション処理サーバにより、トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかを判定することと、記憶されていない場合、トランザクション処理サーバにより、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定することと、待機データベースに記憶されているデータ値に基づいてサービスを提供するために、トランザクション処理サーバにより、トランザクション識別と正確なデータ値とを待機データベースに記憶することを含み得る。
例えば、トランザクション処理サーバによりM秒以内のトランザクション要求を特定することは以下の動作、上流サーバがM秒以内に既に発信済みのトランザクション要求を再送するように、トランザクション処理サーバにより上流サーバに対し、M秒以内に発信したトランザクション要求を再発信するように通知することと、トランザクション処理サーバにより、上流サーバからのトランザクション要求を受信し、当該トランザクション要求が、上流サーバにより再送されたM秒以内に既に発信済みのトランザクション要求であると判断することを含み得る。
トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかをトランザクション処理サーバが判定する前に、方法はさらに以下の動作、トランザクション識別に対応するデータ値が読出しデータベースに記憶されているか否かをトランザクション処理サーバにより判定することと、トランザクション識別に対応するデータ値が既に記憶されている場合は、トランザクション識別に対応する正確なデータ値が読出しデータベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄することと、トランザクション識別に対応するデータ値が記憶されていない場合は、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定するステップを実行することを含み得る。
トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかをトランザクション処理サーバが判定した後、方法はさらに以下の動作、トランザクション識別に対応するデータ値が待機データベースに既に記憶されている場合は、トランザクション処理サーバにより、トランザクション識別に対応する正確なデータ値が待機データベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄することを含み得る。
例えば、トランザクション処理サーバにより、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定することは、具体的には以下の動作、トランザクション識別に対応するデータ値が読出しデータベースに記憶されていない場合は、トランザクション処理サーバにより、読出しデータベースにおけるトランザクション要求により要求されるデータ値を取得し、読出しデータベースにおけるトランザクション要求により要求されるデータ値とデータ変動値との合計または組み合わせが、トランザクション識別に対応する正確なデータ値であると判断すること、または、トランザクション識別に対応するデータ値が読出しデータベースに既に記憶されている場合は、トランザクション処理サーバにより、読出しデータベースに記憶されているトランザクション識別に対応するデータ値が、トランザクション識別に対応する正確なデータ値であると判断することを含み得る。
トランザクション処理サーバがトランザクション識別と正確なデータ値とを待機データベースに記憶した後、方法はさらに以下の動作、1次データベースの障害が回復すると、トランザクション処理サーバにより、待機データベースに記憶されているデータ値を1次データベースに復元し、1次データベースに記憶されているデータ値に基づいてサービスを提供することを含み得る。
本開示はまた、例示的トランザクション処理サーバも提供する。1次データベースに記憶されるデータ値は、読出しデータベースにM秒以内に同期されなければならない。トランザクション処理サーバは以下のモジュール、1次データベースの障害時に、M秒以内のトランザクション要求を特定し、トランザクション要求のトランザクション処理を実行して対応トランザクション識別とデータ変動値とを取得する取得モジュールと、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する判定モジュールと、判定モジュールからの判定結果が否定的である場合に、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定する特定モジュールと、待機データベースに記憶されているデータ値に基づいてサービスを提供するために、トランザクション識別と正確なデータ値とを待機データベースに記憶する記憶モジュールを含み得る。
例えば、取得モジュールは、M秒以内のトランザクション要求を特定する時、上流サーバがM秒以内に既に発信済みのトランザクション要求を再送するように、上流サーバに対し、M秒以内に発信したトランザクション要求を再発信するように通知し、上流サーバからのトランザクション要求を受信し、当該トランザクション要求が、上流サーバにより再送されたM秒以内に既に発信済みのトランザクション要求であると判断する。
例えば、判定モジュールはさらに、トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかを判定する前に、トランザクション識別に対応するデータ値が読出しデータベースに記憶されているか否かを判定し、トランザクション識別に対応するデータ値が既に記憶されている場合は、トランザクション識別に対応する正確なデータ値が読出しデータベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄し、トランザクション識別に対応するデータ値が記憶されていない場合は、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定するプロセスを実行する。
例えば、判定モジュールはさらに、トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかを判定した後、トランザクション識別に対応するデータ値が待機データベースに既に記憶されている場合は、トランザクション識別に対応する正確なデータ値が待機データベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄する。
例えば、特定モジュールは、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定する時に、トランザクション識別に対応するデータ値が読出しデータベースに記憶されていない場合は、読出しデータベースにおけるトランザクション要求により要求されるデータ値を取得し、読出しデータベースにおけるトランザクション要求により要求されるデータ値とデータ変動値との合計または組み合わせが、トランザクション識別に対応する正確なデータ値であると判断し、または、トランザクション識別に対応するデータ値が読出しデータベースに既に記憶されている場合は、読出しデータベースに記憶されているトランザクション識別に対応するデータ値が、トランザクション識別に対応する正確なデータ値であると判断する。
記憶モジュールはさらに、トランザクション識別と正確なデータ値とを待機データベースに記憶した後、1次データベースの障害が回復すると、待機データベースに記憶されているデータ値を1次データベースに復元し、1次データベースに記憶されているデータ値に基づいてサービスを提供するために使用される。
既存の技術と比較すると、本開示の技術は少なくとも以下の技術的利点を有する。1次データベースの障害時に、トランザクション処理サーバは、読出しデータベースに記憶されているデータ値を介して正確なデータ値を特定し、正確なデータ値を待機データベースに記憶する。従って1次データベースに障害が発生し1次データベースが復旧を待つ時には、待機データベースに記憶されているデータ値に基づいてサービスが提供される。よってトランザクション処理サーバは、待機データベースから正確なデータ値を取得してトランザクション処理を実行し、これによりトランザクションが中断されることが防がれ、ユーザ体験が向上する。
本開示の例示的実施形態における技術的解決策をより明確に説明するために、下記において、本開示の例示的実施形態を説明する添付図面が簡単に紹介される。明らかに、添付図面は、本開示のいくつかの例示的実施形態を示すにすぎず、当業者は創意的な努力なしに本開示の例示的実施形態のこれらの添付図面から、さらに他の図面を引き出し得る。
本開示による、例示的アプリケーションシナリオの模式図である。 本開示の第1実施形態による、データベースの障害時におけるデータ記憶の例示的方法のフローチャートである。 本開示の第2例示的実施形態による、例示的トランザクション処理サーバの構造的模式図である。
本開示の例示的実施形態における技術的解決策が、添付図面を参照しながら下記において説明される。明らかに、説明される例示的実施形態は、本開示の実施形態の全てではなく一部を表すにすぎない。本開示により創意的な努力なしに当業者が得る全ての他の実施形態は、本開示の保護範囲に属するものとする。
本開示の第1例示的実施形態が、下記において説明される。既存技術における問題を解決するために、本開示の例示的実施形態は、データベースの障害時におけるデータ記憶の方法を提供する。本開示の例示的実施形態による例示的アプリケーションシナリオの模式図である図1を参照すると、トランザクション処理サーバ102と、1つまたは複数の上流サーバ104(1)、104(2)、・・・、104(m)と、少なくとも3つのデータベースとを含むシステム100に方法が適用される。上流サーバの数は1つまたは複数であり得、そしてmは任意の整数であり得る。3つのデータベースは、1次データベース106と、読出しデータベース108と、待機データベース110とを含み、読出しデータベース108は、1次データベースとの同期遅延が小さいデータベースである。
図1に示されるように、トランザクション処理サーバ102は、1次データベース106、読出しデータベース108、及び待機データベース110とそれぞれ接続されている。1次データベース106は、読出しデータベース108、及び待機データベース110と接続されている。
1次データベース106に障害がない時、読出し及び書込みサービスは、1次データベース106により提供される。すなわちトランザクション処理サーバ102は、1次データベース106にデータを書込むか、または1次データベース106からデータを読出す。1次データベース106の障害時には、読出し及び書込みサービスは、待機データベース110により提供される。すなわちトランザクション処理サーバ102は、待機データベース110にデータを書込むか、または待機データベース110からデータを読出す。
例えば、読出しデータベース108は、1次データベース106のバックアップデータベースとして使用される。1次データベース106に障害がない時、1次データベース106内のデータは読出しデータベース108に同期され、読出しデータベース108は読出しサービスのみを提供し得る。すなわちトランザクション処理サーバ102は、読出しデータベース108からデータを読出し得るが、読出しデータベース108にデータを書込むことはできない。例えば、読出しデータベース108は、1次データベース106のバックアップ機能を提供し、かつ読出しサービスのみを提供するデータベースである。
本開示の例示的実施形態において、1次データベース106に障害がない時、1次データベース106に記憶されているデータ値を使用してサービスは提供され、そして1次データベース106に記憶される全てのデータ値は読出しデータベース108に同期される。1次データベース106に記憶されるデータ値が読出しデータベース108に同期される時、1次データベースに記憶されるデータ値は、読出しデータベースにM秒以内に同期されなければならない。すなわち、新たなデータ値が1次データベース106に記憶された後、または1次データベース106に記憶されているデータ値が変更した後、1次データベース106は、記憶された新たなデータ値または変更したデータ値を、読出しデータベース108にM秒以内に同期する。従って、1次データベース106内のデータ値と読出しデータベース108内のデータ値間の不一致期間は最大M秒であり、1次データベース106内のデータ値は最終的に読出しデータベース108内のデータ値と一致する。
例えば、M秒の値は、通常1秒である。勿論、異なるアプリケーションシナリオの下、M秒の値は、1次データベースの性能を含み得る様々な要素に依存するが、本明細書においては詳述されない。
本開示の例示的実施形態において、1次データベース106の障害時には、1次データベース106の障害が回復されるまで、データ値は待機データベース110を使用して記憶され、そして待機データベース110に記憶されているデータ値を使用してサービスが提供される。
前述のアプリケーションシナリオの下、図2に示されるように、本開示の例示的実施形態によるデータベースの障害時におけるデータ記憶の例示的方法は、1次データベースの障害時に以下の動作を含み得る。
202において、トランザクション処理サーバは、M秒以内(1次データベースの障害の発生するM秒前等)のトランザクション要求を特定し、トランザクション要求のトランザクション処理を実行して対応トランザクション識別とデータ変動値とを取得する。
本開示の例示的実施形態において、トランザクション処理サーバによりM秒以内に起こったトランザクション要求を特定することは、以下の動作を非限定的に含み得る。
上流サーバがM秒以内に既に発信済みのトランザクション要求を再送するように、トランザクション処理サーバは上流サーバに対し、M秒以内に発信したトランザクション要求を再発信するように通知し、そして、トランザクション処理サーバは、上流サーバからのトランザクション要求を受信し、当該トランザクション要求が、上流サーバにより再送されたM秒以内に既に発信済みのものと判断する。
1次データベースの障害時に、トランザクション処理サーバは、トランザクション処理サーバと対話する全ての上流サーバに対し(すなわちトランザクション処理サーバに接続されている全ての上流サーバに対し)、M秒以内に発信したトランザクション要求を再発信するように通知する。上流サーバは、通知を受信すると、どのトランザクション要求が上流サーバからトランザクション処理サーバへM秒以内に送信されたか照会し、M秒以内に既に発信済みのトランザクション要求をトランザクション処理サーバへ再送する。例えば、上流サーバがトランザクション要求1をトランザクション処理サーバへM秒以内に送信したとすると、上流サーバは、トランザクション要求1をトランザクション処理サーバへ再送する。そして、トランザクション処理サーバは、上流サーバから再送されたM秒以内に既に発信済みのトランザクション要求1を受信する。
本開示の例示的実施形態において、トランザクション処理サーバがトランザクション要求のトランザクション処理を実行する度に、トランザクション処理サーバは、トランザクション要求に対応するトランザクション識別(トランザクション番号等)とデータ変動値とを取得し、トランザクション要求に対応するトランザクション識別は冪等制御信号とも称され得る。
例えば、1次データベースが主に勘定残高を記憶するために使用され、かつ上流サーバがユーザの支払行為を処理するために使用される時、ユーザAの支払行為が$100を支払うことだとすると、上流サーバはトランザクション処理サーバに対し、ユーザAの勘定残高から$100を差し引くために使用されるトランザクション要求1を送信する。トランザクション処理サーバは、トランザクション要求1を受信すると、トランザクション要求1を使用して、ユーザAの勘定残高から$100を差し引くトランザクション処理を実行する。当該トランザクション処理に対応するトランザクション識別は、123456と仮定する。さらに、1次データベースにおけるユーザAの対応勘定残高が$1000だとすると、トランザクション処理サーバは、1次データベースに記憶されているユーザAの勘定残高$1000から$100を差し引き、1次データベースに記憶されているユーザAの勘定残高を$900に更新し、トランザクション処理に対応する123456等のトランザクション識別を1次データベースに記録する。
1次データベースの障害時に、トランザクション処理サーバは全ての上流サーバに対し、1次データベースの障害が発生するM秒前以内に発信されたトランザクション要求を再発信するように通知する。上流サーバは、通知を受信すると、ユーザAの勘定残高から$100を差し引くために使用されるトランザクション要求1を、トランザクション処理サーバへ再送する。トランザクション処理サーバは、上流サーバにより再送されたトランザクション要求1を受信すると、トランザクション要求1を使用して、ユーザAの勘定残高から$100を差し引くトランザクション処理を実行する。トランザクション要求を使用してトランザクション処理を実行するプロセスにおいて、トランザクション処理サーバにより取得される対応トランザクション識別は123456であり、トランザクション処理サーバにより取得される対応データ変動値は$100の差し引きである。
204において、トランザクション処理サーバは、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する。記憶されている場合には、206における動作が実行され、記憶されていない場合には、208における動作が実行される。
本開示の例示的実施形態において、1次データベースの障害時には、データ値を記憶するのに待機データベースが使用され、そして待機データベースに記憶されているデータ値を使用してサービスが提供される。従って、トランザクション処理サーバがトランザクション要求のトランザクション処理を実行して対応トランザクション識別及びデータ変動値を取得した後、トランザクション処理サーバは、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する。トランザクション識別に対応するデータ値が待機データベースに記憶されている場合は、トランザクション識別に対応する正確なデータ値が待機データベースに既に記憶されているため、206における動作が実行され、トランザクション識別に対応するデータ値が待機データベースに記憶されていない場合は、トランザクション識別に対応する正確なデータ値が待機データベースに記憶されていないため、208における動作が実行される。例えば、トランザクション処理サーバは、トランザクション識別123456に対応するデータ値が待機データベースに記憶されているか否かを判定し、記憶されている場合には、206における動作が実行され、記憶されていない場合には、208における動作が実行される。
本開示の例示的実施形態において、トランザクション識別(123456等)に対応するデータ値が待機データベースに記憶されているか否かをトランザクション処理サーバが判定する前に、トランザクション処理サーバはさらに、トランザクション識別(123456等)に対応するデータ値が読出しデータベースに記憶されているか否かを判定し得る。トランザクション識別に対応するデータ値が読出しデータベースに既に記憶されている場合は、トランザクション識別に対応する正確なデータ値が読出しデータベースに既に記憶されていると判断される。従って、トランザクション処理サーバは、現在取得されているトランザクション識別及びデータ変動値を直接破棄し、そして204における動作は実行されず、トランザクション要求の処理は終了する。あるいは、トランザクション処理サーバは、「トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する」動作を実行する、すなわち上述の204を実行する。トランザクション識別に対応するデータ値が読出しデータベースに記憶されていない場合には、トランザクション処理サーバは、「トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する」動作を実行しなければならない、すなわち上述の204を実行する。
206において、トランザクション処理サーバは、トランザクション識別に対応する正確なデータ値が待機データベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄する。
本開示の例示的実施形態において、トランザクション識別に対応するデータ値が待機データベースに既に記憶されている場合は、トランザクション識別に対応する正確なデータ値が待機データベースに既に記憶されている、すなわち正確なデータ値とトランザクション識別とが待機データベースに既に記憶されていることが示される。従って、トランザクション処理サーバが、トランザクション識別と対応する正確なデータ値とを待機データベースに記憶する必要はなくなり、そしてトランザクション処理サーバは、現在取得されているトランザクション識別及びデータ変動値を直接破棄し得る。
208において、トランザクション処理サーバは、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定し、そして待機データベースに記憶されているデータ値に基づいてサービスを提供するために、トランザクション識別と正確なデータ値とを待機データベースに記憶する。
本開示の例示的実施形態において、1次データベースに障害がない時、1次データベースに記憶されるデータ値は読出しデータベースにM秒以内に同期されなければならないため、1次データベースの障害が発生するM秒前より前に記憶された全データ値は読出しデータベースに既に同期されており、これらのデータ値が待機データベースに記憶される必要はもうない。1次データベースの障害が発生するM秒前以内に記憶されたデータ値に関して、当該データ値は、読出しデータベースに既に同期された可能性がある、または読出しデータベースに同期されなかった可能性がある。従って、待機データベースを通して正確なデータ値を提供するために、1次データベースの障害が発生するM秒前以内に記憶されたデータ値は、待機データベースに記憶されなければならない。1次データベースの障害が発生するM秒前以内のデータ値を待機データベースに記憶するために、204から208までの上述の動作が実行され、最終的にトランザクション識別と正確なデータ値とが待機データベースに記憶される。
本開示の例示的実施形態において、1次データベースの障害時に、1次データベースの障害後に作成されたデータ値に関して、トランザクション処理サーバは、対応するデータ値を直接待機データベースに記憶する。
本開示の例示的実施形態において、トランザクション処理サーバにより、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定することは、以下の動作を非限定的に含み得る。
トランザクション識別に対応するデータ値が読出しデータベースに記憶されていない場合には、トランザクション処理サーバは、読出しデータベースにおけるトランザクション要求により要求されるデータ値を取得し、読出しデータベースにおけるトランザクション要求により要求されるデータ値とデータ変動値との合計または組み合わせが、トランザクション識別に対応する正確なデータ値であると判断する。あるいは、トランザクション識別に対応するデータ値が読出しデータベースに既に記憶されている場合には、トランザクション処理サーバは、読出しデータベースに記憶されているトランザクション識別に対応するデータ値が、トランザクション識別に対応する正確なデータ値であると判断する。
例えば、トランザクション処理サーバは123456という対応トランザクション識別と、$100を差し引く対応データ変動値とを取得した後、トランザクション処理サーバは第1に、トランザクション識別123456に対応するデータ値が待機データベースに記憶されているか否かを判定する。202の前にトランザクション要求1に対しトランザクション処理が既に実行され、かつトランザクション処理後に取得されたトランザクション識別123456及びデータ値が待機データベースに記憶された場合には、トランザクション識別123456に対応するデータ値が待機データベースに記憶された状態で存在し、そうでなければ、トランザクション識別123456に対応するデータ値は待機データベースに存在しない。
第2に、トランザクション識別123456に対応するデータ値が待機データベースに存在しないとすると、トランザクション処理サーバは、トランザクション識別123456に対応するデータ値が読出しデータベースに記憶されているか否かを判定する。トランザクション識別123456に対応するデータ値が読出しデータベースに記憶されていない場合には、トランザクション処理サーバは、読出しデータベースにおけるトランザクション要求により要求されるデータ値、すなわちユーザAの勘定残高が$1000であることを取得し、読出しデータベースにおけるトランザクション要求に対応するデータ値($1000)とデータ変動値(−100)との合計または組み合わせが、トランザクション識別123456に対応する正確な値である、すなわち正確なデータ値は$900であると判断する。トランザクション識別123456に対応するデータ値が読出しデータベースに既に記憶されている場合には、トランザクション処理サーバは、読出しデータベースに記憶されているトランザクション識別123456に対応するデータ値(すなわちユーザAの勘定残高は$900)が、トランザクション識別123456に対応する正確なデータ値である、すなわち正確なデータ値は$900であると判断する。それからトランザクション処理サーバは、トランザクション識別123456と正確なデータ値$900を待機データベースに記憶する。
本開示の例示的実施形態において、トランザクション処理サーバがトランザクション識別と正確なデータ値とを待機データベースに記憶した後、1次データベースの障害が回復すると、トランザクション処理サーバは、待機データベースに記憶されているデータ値を1次データベースに復元し、1次データベースに記憶されているデータ値に基づいてサービスが提供される。
概して、本開示の技術は少なくとも以下の技術的利点を有する。1次データベースの障害時に、トランザクション処理サーバは、読出しデータベースに記憶されているデータ値を介して正確なデータ値を特定し、正確なデータ値を待機データベースに記憶し得る。従って1次データベースに障害が発生し1次データベースが復旧を待つ時には、待機データベースに記憶されているデータ値に基づいてサービスが提供され得る。よってトランザクション処理サーバは、待機データベースから正確なデータ値を取得してトランザクション処理を実行し得るため、これによりトランザクションが中断されることが防がれ、ユーザ体験が向上する。
本開示の第2例示的実施形態が、下記において説明される。
上述の方法と同じ概念に基づいて、本開示はさらに例示的トランザクション処理サーバを提供する。1次データベースに記憶されるデータ値は、読出しデータベースにM秒以内に同期される。図3に示されるように、トランザクション処理サーバ300は、1つまたは複数のプロセッサ302もしくはデータ処理ユニットと、メモリ304とを含む。トランザクション処理サーバ300はさらに、1つまたは複数の入出力装置と、ネットワークインターフェースを含み得る(図3に図示せず)。メモリ304は、コンピュータ可読媒体の実施例である。
コンピュータ可読媒体には、情報記憶を実施するための任意の方法または技術を使用し得る永続的及び非永続的、取り外し可能及び取り外し不可能な媒体が含まれる。情報は、コンピュータ可読命令、データ構造、ソフトウェアモジュール、または任意のデータであり得る。コンピュータ記憶媒体の例には、相変化メモリ(PCM)、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、他の種類のRAM、ROM、電気的消去可能プログラマブル読出専用メモリ(EEPROM)、フラッシュメモリ、内部メモリ、CD−ROM、DVD、光学メモリ、磁気テープ、磁気ディスク、その他の磁気記憶装置、またはコンピューティングデバイスによりアクセス可能な情報を記憶し得るその他の非通信媒体が含まれ得るが、これに限定されない。本明細書において定義されるように、コンピュータ可読媒体には、変調データ信号及び搬送波等の一時的媒体は含まれない。
メモリ304は中に、複数のモジュールまたはユニットを格納し得る。当該複数のモジュールまたはユニットには、1次データベースの障害時に、M秒以内のトランザクション要求を特定し、トランザクション要求のトランザクション処理を実行して対応トランザクション識別とデータ変動値とを取得する取得モジュール306と、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する判定モジュール308と、判定結果が否定的である場合に、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定する特定モジュール310と、待機データベースに記憶されているデータ値に基づいてサービスを提供するために、トランザクション識別と正確なデータ値とを待機データベースに記憶する記憶モジュール312とが含まれる。
例えば、取得モジュール306は、M秒以内のトランザクション要求を特定する時、さらに、上流サーバがM秒以内に既に発信済みのトランザクション要求を再送するように、上流サーバに対し、M秒以内に発信したトランザクション要求を再発信するように通知し、上流サーバからのトランザクション要求を受信し、当該トランザクション要求が、上流サーバにより再送されたM秒以内に既に発信済みのトランザクション要求であると判断する。
例えば、判定モジュール308は、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定する前に、さらに、トランザクション識別に対応するデータ値が読出しデータベースに記憶されているか否かを判定し、トランザクション識別に対応するデータ値が既に記憶されている場合は、トランザクション識別に対応する正確なデータ値が読出しデータベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄し、トランザクション識別に対応するデータ値が記憶されていない場合は、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かを判定するプロセスを実行する。
例えば、判定モジュール308は、トランザクション識別に対応するデータ値が待機データベースに記憶されているか否かの判定後、トランザクション識別に対応するデータ値が待機データベースに既に記憶されている場合は、さらに、トランザクション識別に対応する正確なデータ値が待機データベースに既に記憶されていると判断し、現在取得されているトランザクション識別及びデータ変動値を破棄する。
例えば、特定モジュール310は、読出しデータベースに記憶されているデータ値とデータ変動値とを使用してトランザクション識別に対応する正確なデータ値を特定する時に、トランザクション識別に対応するデータ値が読出しデータベースに記憶されていない場合は、さらに、読出しデータベースにおけるトランザクション要求により要求されるデータ値を取得し、読出しデータベースにおけるトランザクション要求により要求されるデータ値とデータ変動値との合計または組み合わせが、トランザクション識別に対応する正確なデータ値であると判断し、あるいは、トランザクション識別に対応するデータ値が読出しデータベースに既に記憶されている場合は、読出しデータベースに記憶されているトランザクション識別に対応するデータ値が、トランザクション識別に対応する正確なデータ値であると判断する。
例えば、記憶モジュール312は、トランザクション識別と正確なデータ値とを待機データベースに記憶した後、1次データベースの障害が回復すると、さらに、待機データベースに記憶されているデータ値を1次データベースに復元し、1次データベースに記憶されているデータ値に基づいてサービスを提供する。
本開示のデバイスもしくは装置のモジュールは、統合され得るか、または個別に配置され得る。上述のモジュールは、1つのモジュールに併合され得るか、または複数のサブモジュールにさらに分割され得る。
例示的実施形態の前述の説明により、本開示は、ハードウェア、ソフトウェア、またはソフトウェアに加えて必要な一般的ハードウェアプラットフォームを介して実行され得ることが、当業者には明確に理解されよう。このような理解に基づいて、本開示の技術的解決策の要旨、または当業技術の水準に貢献する出願の一部は、コンピュータ可読媒体に記憶され、かつコンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイス等)が本開示の実施形態において列挙される方法または動作を実行することを可能にするコンピュータ実行可能命令を含む、ソフトウェア製品の形態で具現化され得る。図面は例示的実施形態の模式図にすぎず、本開示を実施するために図面内のモジュールまたはフローを使用する必要はないことが、当業者には認識されよう。実施形態における装置内のモジュールは、説明されるように実施形態におけるデバイスまたは装置内に分散され得る、あるいは本実施形態におけるデバイスまたは装置以外の1つまたは複数のデバイスまたは装置に配置されるように変更され得ることが、当業者には認識されよう。前述の実施形態におけるモジュールは、1つのモジュールに合併され得る、または複数のサブモジュールにさらに分割され得る。本出願の例示的実施形態は、説明の目的でのみ番号が振られており、実施形態間の優位性を示すためではない。前述の開示は、本開示のいくつかの例示的実施形態の例示にすぎないが、本開示はこれらに限定されない。当業者が思いつき得る任意の変形も、本開示の保護範囲に入るものとする。

Claims (20)

  1. 1次データベースの障害時に、サーバにより、M秒以内のトランザクション要求を特定することと、
    前記トランザクション要求に対応するトランザクション識別及びデータ変動値を取得することと、
    前記トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかを判定することと、
    前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されていないという判定に応じて、読出しデータベースにおける前記トランザクション要求により要求されるデータ値と前記データ変動値とを使用して、前記トランザクション識別に対応する正確なデータ値を特定することと、
    前記トランザクション識別と前記正確なデータ値とを前記待機データベースに記憶することと
    を含む方法。
  2. 前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているという判定に応じて、
    前記トランザクション識別に対応する前記正確なデータ値が前記待機データベースに記憶されていると判断することと、
    前記取得したトランザクション識別及び前記データ変動値を破棄することと
    をさらに含む請求項1に記載の方法。
  3. 前記待機データベースに記憶されている前記正確なデータ値に基づいてサービスを提供することをさらに含む請求項1に記載の方法。
  4. 前記1次データベースに障害がない時は、前記1次データベースが読出しサービス及び書込みサービスを提供し、
    前記1次データベースの前記障害時には、前記待機データベースが前記書込みサービス及び前記読出しサービスを提供し、
    前記1次データベースはデータを前記読出しデータベースにM秒以内に同期する、
    請求項1に記載の方法。
  5. 前記読出しデータベースは、前記1次データベースのバックアップ機能を提供し、前記書込みサービス抜きの前記読出しサービスを提供する、請求項4に記載の方法。
  6. M秒以内の前記トランザクション要求の前記特定は、
    上流サーバに対し、前記1次データベースの前記障害が発生するM秒前以内に発信された前記トランザクション要求を再発信するように通知することと、
    前記再発信されたトランザクション要求を受信することと、
    前記再発信されたトランザクション要求が、前記上流サーバにより再送され、前記1次データベースの前記障害が発生するM秒前以内に発信されたものであると判断することと
    を含む、請求項1に記載の方法。
  7. 前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているかどうかを判定する前に、
    前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていると判定することと、
    前記トランザクション識別に対応する前記正確なデータ値が前記読出しデータベースに既に記憶されていると判断することと、
    前記取得したトランザクション識別及び前記データ変動値を破棄することと
    をさらに含む請求項1に記載の方法。
  8. 前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているかどうかを判定する前に、前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていないと判定すること
    をさらに含む請求項1に記載の方法。
  9. 前記読出しデータベースに記憶されている前記データ値と前記データ変動値とを使用した、前記トランザクション識別に対応する前記正確なデータ値の前記特定は、
    前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていないと判定することと、
    前記読出しデータベースにおける前記トランザクション要求により要求される前記データ値を取得することと、
    前記読出しデータベースにおける前記トランザクション要求により要求される前記データ値と前記データ変動値との合計または組み合わせが、前記トランザクション識別に対応する前記正確なデータ値であると判断することと
    を含む、請求項1に記載の方法。
  10. 前記読出しデータベースに記憶されている前記データ値と前記データ変動値とを使用して、前記トランザクション識別に対応する前記正確なデータ値の前記特定は、
    前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていると判定することと、
    前記読出しデータベースに記憶されている前記トランザクション識別に対応する前記データ値が、前記トランザクション識別に対応する前記正確なデータ値であると判断することと
    を含む、請求項1に記載の方法。
  11. 前記1次データベースが前記障害から回復した後、
    前記待機データベースに記憶されている前記正確なデータ値を前記1次データベースに復元することと、
    前記1次データベースに記憶されている前記正確なデータ値に基づいてサービスを提供することと
    をさらに含む請求項1に記載の方法。
  12. 1次データベースの障害時に、M秒以内のトランザクション要求を特定し、前記トランザクション要求に対応するトランザクション識別とデータ変動値とを取得する取得モジュールと、
    前記トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかを判定する判定モジュールと、
    前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されていないという判定に応じて、読出しデータベースに記憶されている前記データ値と前記データ変動値とを使用して、前記トランザクション識別に対応する正確なデータ値を特定する特定モジュールと、
    前記トランザクション識別と前記正確なデータ値とを前記待機データベースに記憶する記憶モジュールと
    を含むサーバ。
  13. 前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているという判定に応じて、前記判定モジュールはさらに、前記トランザクション識別に対応する前記正確なデータ値が前記待機データベースに記憶されていると判断し、前記現在取得されているトランザクション識別及びデータ変動値を破棄する、請求項12に記載のサーバ。
  14. 前記1次データベースに障害がない時、前記1次データベースは、読出しサービス及び書込みサービスを提供し、データを前記読出しデータベースにM秒以内に同期し、
    前記1次データベースの前記障害時には、前記待機データベースが前記書込みサービス及び前記読出しサービスを提供し、
    前記読出しデータベースは、前記1次データベースのバックアップ機能を提供し、前記書込みサービス抜きの前記読出しサービスを提供する、
    請求項12に記載のサーバ。
  15. 前記取得モジュールはさらに、
    上流サーバに対し、前記1次データベースの前記障害が発生するM秒前以内に発信された前記トランザクション要求を再発信するように通知し、
    前記再発信されたトランザクション要求を受信し、
    前記再発信されたトランザクション要求が、前記上流サーバにより再送され、前記1次データベースの前記障害が発生するM秒前以内に発信された前記トランザクション要求であると判断する、
    請求項12に記載のサーバ。
  16. 前記判定モジュールはさらに、前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているかどうかを判定する前に、前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていると判定し、
    前記トランザクション識別に対応する前記正確なデータ値が前記読出しデータベースに既に記憶されていると判断し、
    前記トランザクション識別及び前記データ変動値を破棄する、請求項12に記載のサーバ。
  17. 前記判定モジュールはさらに、前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているかどうかを判定する前に、前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていないと判定する、請求項12に記載のサーバ。
  18. 前記特定モジュールはさらに、
    前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていないと判断し、
    前記読出しデータベースにおける前記トランザクション要求により要求される前記データ値を取得し、
    前記読出しデータベースにおける前記トランザクション要求により要求される前記データ値と前記データ変動値との合計または組み合わせが、前記トランザクション識別に対応する前記正確なデータ値であると判断する、
    請求項12に記載のサーバ。
  19. 前記特定モジュールはさらに、
    前記トランザクション識別に対応する前記データ値が前記読出しデータベースに記憶されていると判断し、
    前記読出しデータベースに記憶されている前記トランザクション識別に対応する前記データ値が、前記トランザクション識別に対応する前記正確なデータ値であると判断する、
    請求項12に記載のサーバ。
  20. 1つまたは複数のプロセッサにより実行可能なコンピュータ実行可能命令を自身に記憶している1つまたは複数のメモリであって、前記コンピュータ実行可能命令は、
    1次データベースの障害時に、M秒以内のトランザクション要求を特定することと、
    前記トランザクション要求に対応するトランザクション識別及びデータ変動値を取得することと、
    前記トランザクション識別に対応するデータ値が待機データベースに記憶されているかどうかを判定することであって、前記判定は、
    前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されていないという判定に応じて、読出しデータベースに記憶されている前記データ値と前記データ変動値とを使用して、前記トランザクション識別に対応する正確なデータ値を特定すること、または、
    前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているという判定に応じて、前記トランザクション識別に対応する前記正確なデータ値が前記待機データベースに記憶されていると判断し、前記現在取得されているトランザクション識別及びデータ変動値を破棄すること
    を含む、前記トランザクション識別に対応する前記データ値が前記待機データベースに記憶されているかどうかを判定することと、
    前記トランザクション識別と前記正確なデータ値とを前記待機データベースに記憶することと
    を含む動作を実行し、
    前記1次データベースに障害がない時、前記1次データベースは、読出しサービス及び書込みサービスを提供し、データを前記読出しデータベースにM秒以内に同期し、
    前記1次データベースの前記障害時には、前記待機データベースが前記書込みサービス及び前記読出しサービスを提供し、
    前記読出しデータベースは、前記1次データベースのバックアップ機能を提供する、
    前記1つまたは複数のメモリ。
JP2017503894A 2014-08-08 2015-08-07 データベース障害時のデータ記憶 Active JP6557323B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410389882.5A CN105446827B (zh) 2014-08-08 2014-08-08 一种数据库故障时的数据存储方法和设备
CN201410389882.5 2014-08-08
PCT/US2015/044319 WO2016022976A1 (en) 2014-08-08 2015-08-07 Data storage upon database failure

Publications (2)

Publication Number Publication Date
JP2017524190A true JP2017524190A (ja) 2017-08-24
JP6557323B2 JP6557323B2 (ja) 2019-08-07

Family

ID=55264669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017503894A Active JP6557323B2 (ja) 2014-08-08 2015-08-07 データベース障害時のデータ記憶

Country Status (9)

Country Link
US (1) US10210055B2 (ja)
EP (1) EP3178022B1 (ja)
JP (1) JP6557323B2 (ja)
KR (1) KR102077898B1 (ja)
CN (1) CN105446827B (ja)
ES (1) ES2846851T3 (ja)
PL (1) PL3178022T3 (ja)
SG (1) SG11201700236WA (ja)
WO (1) WO2016022976A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201826B (zh) * 2016-07-13 2018-11-20 焦点科技股份有限公司 一种诊断Oracle数据库大事务和热点事务的方法
CN106909486B (zh) * 2016-08-03 2020-04-17 阿里巴巴集团控股有限公司 处理业务异常的方法、装置及系统
US10810662B1 (en) * 2016-11-10 2020-10-20 Amazon Technologies, Inc. Utilizing time-series tables for tracking accumulating values
CN106776753B (zh) * 2016-11-14 2020-08-21 平安科技(深圳)有限公司 业务数据处理方法及装置
CN109271277B (zh) * 2017-07-17 2022-03-08 阿里巴巴集团控股有限公司 数据库宕机后的访问方法、装置和系统
CN108089945A (zh) * 2017-12-08 2018-05-29 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的方法和系统
CN108089944A (zh) * 2017-12-08 2018-05-29 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的系统
CN107943619A (zh) * 2017-12-08 2018-04-20 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的方法
CN110298666B (zh) * 2019-06-21 2022-08-30 网联清算有限公司 交易处理过程中的异常处理方法及装置
CN111835846B (zh) * 2020-07-09 2022-10-11 北京字节跳动网络技术有限公司 信息更新方法、装置和电子设备
US11409605B2 (en) 2020-10-20 2022-08-09 Sap Se Failover system for database unavailability
CN114244690A (zh) * 2021-12-30 2022-03-25 深圳市潮流网络技术有限公司 故障处理方法、装置、网络设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム
JP2004348701A (ja) * 2003-03-27 2004-12-09 Hitachi Ltd 計算機システム間のデータ二重化制御方法
JP2011248678A (ja) * 2010-05-27 2011-12-08 Fujitsu Ltd データベース二重化システム、記憶装置及びデータベース二重化方法
JP2013542486A (ja) * 2010-09-10 2013-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンのオンデマンド型イメージ・ストリーミング

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799323A (en) 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5907848A (en) * 1997-03-14 1999-05-25 Lakeview Technology, Inc. Method and system for defining transactions from a database log
US6751636B1 (en) 2000-12-05 2004-06-15 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple instances of a database
US7464113B1 (en) 2001-05-10 2008-12-09 Oracle International Corporations Disaster recovery with bounded data loss
US7003694B1 (en) * 2002-05-22 2006-02-21 Oracle International Corporation Reliable standby database failover
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4452533B2 (ja) * 2004-03-19 2010-04-21 株式会社日立製作所 システムおよび記憶装置システム
US7499954B2 (en) 2004-11-01 2009-03-03 International Business Machines Corporation Consistent reintegration of a failed primary instance
US7519859B2 (en) * 2005-08-30 2009-04-14 International Business Machines Corporation Fault recovery for transaction server
US7711712B2 (en) 2007-03-12 2010-05-04 Hitachi, Ltd. System and method for managing consistency among volumes based on application information
US8086564B2 (en) * 2007-12-12 2011-12-27 Oracle International Corporation Techniques for the logical replication of high-level procedures
GB2472620B (en) * 2009-08-12 2016-05-18 Cloudtran Inc Distributed transaction processing
CN102299904B (zh) * 2010-06-23 2014-03-19 阿里巴巴集团控股有限公司 一种实现业务数据备份的系统及方法
US8775381B1 (en) 2011-05-14 2014-07-08 Pivotal Software, Inc. Parallel database mirroring
US8667033B1 (en) 2011-05-14 2014-03-04 Gopivotal, Inc. Persistent file system objects for management of databases
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
CN102891849B (zh) * 2012-09-25 2015-07-22 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备
US20150006478A1 (en) 2013-06-28 2015-01-01 Silicon Graphics International Corp. Replicated database using one sided rdma

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム
JP2004348701A (ja) * 2003-03-27 2004-12-09 Hitachi Ltd 計算機システム間のデータ二重化制御方法
JP2011248678A (ja) * 2010-05-27 2011-12-08 Fujitsu Ltd データベース二重化システム、記憶装置及びデータベース二重化方法
JP2013542486A (ja) * 2010-09-10 2013-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンのオンデマンド型イメージ・ストリーミング

Also Published As

Publication number Publication date
PL3178022T3 (pl) 2021-05-17
US20160041886A1 (en) 2016-02-11
JP6557323B2 (ja) 2019-08-07
KR102077898B1 (ko) 2020-02-14
EP3178022B1 (en) 2020-12-02
SG11201700236WA (en) 2017-02-27
EP3178022A4 (en) 2018-01-24
ES2846851T3 (es) 2021-07-29
CN105446827A (zh) 2016-03-30
US10210055B2 (en) 2019-02-19
WO2016022976A1 (en) 2016-02-11
KR20170041712A (ko) 2017-04-17
EP3178022A1 (en) 2017-06-14
CN105446827B (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
JP6557323B2 (ja) データベース障害時のデータ記憶
JP6745884B2 (ja) データ同期方法、装置及びシステム
CN106899648B (zh) 一种数据处理方法和设备
US10509585B2 (en) Data synchronization method, apparatus, and system
JP6921107B2 (ja) サービス処理方法、デバイス、及びシステム
CN110019514B (zh) 数据同步方法、装置以及电子设备
US10884623B2 (en) Method and apparatus for upgrading a distributed storage system
CN110622478A (zh) 数据同步处理的方法和装置
WO2020108325A1 (zh) 事务处理方法、装置和设备
US9864772B2 (en) Log-shipping data replication with early log record fetching
CN110019502B (zh) 在主数据库和备数据库之间的同步方法、数据库系统和设备
CN112835688A (zh) 分布式事务处理方法、设备及存储介质
CN107612950A (zh) 一种提供服务的方法、装置、系统、电子设备
US20210117278A1 (en) System and method for storage unavailability tolerant backup
CN106815094B (zh) 一种用于实现主备同步模式下事务提交的方法与设备
JP2019504415A (ja) データ格納サービス処理方法及び装置
US20120166893A1 (en) Recording and Preventing Crash in an Appliance
US10169440B2 (en) Synchronous data replication in a content management system
CN107908370B (zh) 数据存储方法及装置
US11669516B2 (en) Fault tolerance for transaction mirroring
CN114281603A (zh) 一种事务对应的消息的发送方法及装置
CN111435320B (zh) 一种数据处理方法及其装置
CN106375354B (zh) 数据处理方法及装置
CN106487561A (zh) 一种服务器服务更新的方法和系统
US10311032B2 (en) Recording medium, log management method, and log management apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190605

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190711

R150 Certificate of patent or registration of utility model

Ref document number: 6557323

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113