[go: up one dir, main page]

JP6684367B2 - データ処理方法及びデバイス - Google Patents

データ処理方法及びデバイス Download PDF

Info

Publication number
JP6684367B2
JP6684367B2 JP2018566899A JP2018566899A JP6684367B2 JP 6684367 B2 JP6684367 B2 JP 6684367B2 JP 2018566899 A JP2018566899 A JP 2018566899A JP 2018566899 A JP2018566899 A JP 2018566899A JP 6684367 B2 JP6684367 B2 JP 6684367B2
Authority
JP
Japan
Prior art keywords
server
data
log
instruction
primary server
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.)
Active
Application number
JP2018566899A
Other languages
English (en)
Other versions
JP2019526106A (ja
JP2019526106A5 (ja
Inventor
ヤン,ヂェンクン
ヂャオ,ユーヂョン
シー,ウェンフゥイ
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
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 アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Publication of JP2019526106A publication Critical patent/JP2019526106A/ja
Publication of JP2019526106A5 publication Critical patent/JP2019526106A5/ja
Application granted granted Critical
Publication of JP6684367B2 publication Critical patent/JP6684367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本願は、2016年6月20日出願の「データ処理方法及びデバイス」と題する中国特許出願第201610444320.5号に対する優先権を主張し、その全体を参照により本明細書に組み込む。
本願はコンピュータ技術の分野に関し、特に、データ処理方法及びデバイスに関する。
分散型データ格納システムにおいて、1つのサーバはプライマリサーバとして機能し、別のサーバは従属サーバ(これ以降、セカンダリサーバと称する)として機能する。プライマリサーバは外部データ読取/書込サービスを提供できる。セカンダリサーバはプライマリサーバとのデータ同期を維持し、プライマリサーバが故障した場合には、セカンダリサーバが外部データ読取/書込サービスを提供できる。
通常、データを受信し、これを格納する場合、プライマリサーバは、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、セカンダリサーバ内にデータを同期させて格納できる。しかし、実際には、プライマリサーバとセカンダリサーバとの間には、データ同期における作動遅延が存在するため、セカンダリサーバ内の幾つかのデータが失われてしまうおそれがあり、これではプライマリサーバとセカンダリサーバとの間のデータ整合性を確保することができない。
プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、既存の技術では、プライマリサーバ内に格納されるデータを、セカンダリサーバに対して同期する場合、データを、複数のセカンダリサーバに対して同期させることができる。言い換えれば、プライマリサーバ内の複数のデータコピーを格納できる。1つのセカンダリサーバ内のデータが失われた(データ損失が発生した)場合、失われたデータは他のセカンダリサーバから取得できる。このため、プライマリサーバが故障した場合、複数のセカンダリサーバが外部データ読取/書込サービスを提供することができる。
しかし、プライマリサーバのデータコピーを複数格納する必要があるため、データの格納には、比較的多数のリソースが必要となる。
この点に鑑みて、本願の実施は、同じデータの複数のデータコピーを、分散型データ格納システムに格納する必要があることにより比較的多数のリソースがデータ格納に必要とされる問題を解決するために、データ処理方法及びデバイスを提供する。
本願の実施はデータ処理方法を提供し、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを含み:ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと;前記プライマリサーバと前記少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも2つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップと;前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第1のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信するステップと;を含む。
本願の実施はデータ処理方法を提供し、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを含み:ユーザによって送信されるデータ更新リクエストを、前記プライマリサーバによって受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと;前記プライマリサーバによって、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも2つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するよう、前記ログ更新指示を前記少なくとも2つのセカンダリサーバへ別々に送信するステップと;前記ログ更新操作が完了した、と特定すると、前記プライマリサーバによってデータ格納操作を開始し、第1のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するよう、前記少なくとも2つのセカンダリサーバ内の前記第1のセカンダリサーバへ前記データ格納指示を送信するステップと;を含む。
本願の実施はデータ処理デバイスを提供し、このデバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを含み、前記デバイスは、受信ユニットと送信ユニットとを含む。前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を含み;前記送信ユニットは、前記プライマリサーバと前記少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、前記データ更新リクエストに基づいて、前記プライマリサーバと前記少なくとも2つのセカンダリサーバとへ別々に前記ログ更新指示を送信するよう構成され;前記ログ更新操作が完了した、と特定されると、前記送信ユニットは、前記プライマリサーバと第1のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信するよう構成される。
本願の実施はデータ処理デバイスを提供し、このデバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを含み、前記デバイスは、受信ユニットと送信ユニットとを含む。前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を含み;前記送信ユニットは、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも2つのセカンダリサーバがログ更新指示に基づいて前記ログ更新操作を実行するように、前記ログ更新指示を前記少なくとも2つのセカンダリサーバへ送信するよう構成され;前記ログ更新操作が完了したと特定すると、前記送信ユニットは、データ格納操作を開始し、前記少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記第1のセカンダリサーバへ前記データ格納指示を送信するよう構成される。
本願の実施において採用される前述の技術的解決のうちの少なくとも1つは、以下の有益な効果を奏することができる。すなわち、データ更新リクエストを受信すると、分散型データ格納システムは、プライマリサーバとセカンダリサーバとへ別々にログ更新指示を送信でき、その結果、プライマリサーバとセカンダリサーバとがログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示を、プライマリサーバと、セカンダリサーバのうちの1つとへ送信する。このため、セカンダリサーバ内のデータが失われた場合、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバとセカンダリサーバとに予め格納されたログを用いて、失われたデータを復元でき、プライマリサーバと1つのセカンダリサーバだけがデータ更新を格納し、それによってデータ格納に必要なリソースを減らすことができる。
ここで説明する添付図面は、本願の更なる理解を提供すること、及び本願の一部を構成することを意図している。本願の例示である実施及びその説明は、本願を説明することを意図しており、本願に対する限定を構成するものではない。
図1は、本願の実施に係る、データ処理方法を説明する概略フローチャートである。
図2は、本願の実施に係る、データ処理方法を説明する概略フローチャートである。
図3は、本願の実施に係る、プライマリサーバ特定手順を示す略図である。
図4は、本願の実施に係る、サーバトラブルシューティングを示す概略構成図である。
図5は、本願の実施に係る、サーバトラブルシューティングを示す概略構成図である。
図6は、本願の実施に係る、サーバトラブルシューティングを示す概略構成図である。
図7は、本願の実施に係る、ローカル機器室内のサーバ及びリモート機器室内のサーバの概略構成図である。
図8は、本願の実施に係る、データ処理デバイスを示す概略構成図である。
図9は、本願の実施に係る、データ処理デバイスを示す概略構成図である。
通常、分散型データベース格納システムでは、データ更新(アップデート)を受信し、これを格納する場合、プライマリサーバは、セカンダリサーバ内に、データ更新を同期させて格納できる。しかし、実際には、プライマリサーバとセカンダリサーバとが異なる場所に位置するなどの理由で、プライマリサーバとセカンダリサーバとの間のデータの同期には遅延が生ずる。言い換えれば、プライマリサーバがデータ更新の格納を完了しても、セカンダリサーバはデータ更新の格納が未完である。このため、プライマリサーバが故障した場合、セカンダリサーバはいくらかのデータを失うおそれがある。
既存の技術において、セカンダリサーバがデータを失わないようにするために(具体的には、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために)、プライマリサーバ内のデータを、複数の(少なくとも2つの)セカンダリサーバに対して同期させることができる。しかし、元の分散型データ格納システムに比べ、比較的多数のデータコピーを格納する必要があるため、それはリソースの浪費を引き起こしやすくする原因となる。
実際には、システムの安全性のために、データ更新を格納する前に、プライマリサーバ(又はセカンダリサーバ)は、先ずログ更新を行う必要があり、次に、プライマリサーバ(又はセカンダリサーバ)がデータ更新を格納する。このため、プライマリサーバ(又はセカンダリサーバ)に格納されているデータとログとの間の整合性を確保できる。プライマリサーバ(又はセカンダリサーバ)がデータの格納に失敗した場合、予め格納されたログを用いることによってデータを復元できる。
分散型データ格納システムでは、プライマリサーバがデータ更新を同期させる前に、プライマリサーバ及びセカンダリサーバが、先ずログ更新を行ってから、データ更新を行って、セカンダリサーバに格納されたデータが失われた場合、失われたデータは、予め格納されたログを用いて復元できることが分かる。このため、プライマリサーバとセカンダリサーバとの間のログ整合性により、プライマリサーバとセカンダリサーバとの間のデータ整合性は確保され、その結果、データを格納する際の、データ更新のコピー数を減らすことができる。
先に述べた概念に基づき、本願のこの実施で提供される技術的解決において、データのコピー数を、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保しながら減らすことができ、それによってデータ格納に必要なリソースを減らすことができる。
本願の目的を達成するため、本願の実施はデータ処理方法及びデバイスを提供する。この方法は分散型データ格納システムに適用され、分散型データ格納システムは、プライマリサーバと、少なくとも2つのセカンダリサーバとを含む。この方法は:ユーザによって送信されるデータ更新リクエストを受信するステップであって、データ更新リクエストは、データ更新を含む、ステップと;プライマリサーバと少なくとも2つのセカンダリサーバとが、ログ更新指示に基づいてログ更新操作を行うように、データ更新リクエストに基づいてプライマリサーバと少なくとも2つのセカンダリサーバとへ別々にログ更新指示を送信するステップと;ログ更新操作が完了した、と特定されると、プライマリサーバと第1のセカンダリサーバとが、データ格納指示に基づいてデータ更新に関して格納操作を行うように、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々にデータ格納指示を送信するステップと;を含む。
データ更新リクエストを受信すると、分散型データ格納システムは、プライマリサーバとセカンダリサーバとへ別々にログ更新指示を送信でき、その結果、プライマリサーバとセカンダリサーバとがログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示を、プライマリサーバと1つのセカンダリサーバとへ送信する。このため、セカンダリサーバ内のデータが失われた場合、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバとセカンダリサーバとに予め格納されたログを用いて、失われたデータを復元でき、プライマリサーバ及び1つのセカンダリサーバだけがデータ更新を格納し、それによって、データ格納に必要なリソースを効果的に減らすことができる。
本願のこの実施において提供される技術的解決策は分散整合性プロトコルに基づくことができ、分散整合性プロトコルに基づいて分散型データ格納システムに適用できることは特に留意すべき事項である。分散整合性プロトコルは、Paxosプロトコル他の整合性プロトコルであってもよく、限定されない。
分散整合性プロトコルに基づく分散型データ格納システムは、プライマリサーバと、少なくとも2つのセカンダリサーバとを含むことができる。プライマリサーバは外部データ読取/書込サービスを提供するよう構成することができ、プライマリサーバが故障した後、少なくとも2つのセカンダリサーバが外部データ読取/書込サービスを提供できる。
本願の特定の実施及び対応する添付図面を参照して、本願における技術的解決を明確且つ包括的に以下説明する。明らかなことは、説明する実施は、本願の実施の全てではなく、そのいくつかに過ぎないことである。本願の実施に基づいて創造的な努力なく当業者によって得られる他の実施は、本願の保護範囲に含まれる。
本願の実施において提供される技術的解決を、添付図面を参照して以下詳細に説明する。
(第1の実施)
図1は、本願の実施に係るデータ処理方法を説明する概略フローチャートである。この方法を以下説明する。本願のこの実施における実行主体は、分散整合性プロトコルに基づく分散型データ格納システムとすることができる(以降、分散型データ格納システムと称する)。
ステップ101:ユーザによって送信されるデータ更新リクエストを受信する。
データ更新リクエストはデータ更新を含む。
ステップ101において、サービスリクエストを開始し、応答メッセージを受信した後、ユーザはデータ更新リクエストを分散型データ格納システムへ送信できる。このとき、分散型データ格納システムはユーザによって送信されたデータ更新リクエストを受信できる。
本願のこの実施において、ユーザによって開始されるサービスリクエストは、決済リクエスト、友達追加リクエスト、又は別のサービスリクエストであってもよく、ここでは限定しない。
ユーザはデータ更新リクエストを分散型データ格納システムへ送信し、データ更新リクエストはデータ更新を含むことができ、データ更新リクエストは分散型データ格納システムにデータ更新を格納するよう要求するために用いられる。
例えば、ユーザは決済プラットフォーム上で決済リクエストを開始し、決済プラットフォームはユーザによって送信された決済リクエストに応答でき、応答メッセージを受信した後、ユーザはデータ更新リクエストを分散型データ格納システムへ送信できる。データ更新リクエストは、決済リクエストに関する更新すべきデータを含み、データ更新リクエストは、決済リクエストに関する更新すべきデータを格納するよう分散型データ格納システムに要求するために用いられる。
ステップ102:プライマリサーバと少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うように、データ更新リクエストに基づいてプライマリサーバと少なくとも2つのセカンダリサーバとへ別々にログ更新指示を送信する。
ステップ102において、ユーザによって送信されたデータ更新リクエストを受信すると、プライマリサーバと少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うように、分散型データ格納システムが、データリクエストに基づいて、分散型データ格納システム内のプライマリサーバと少なくとも2つのセカンダリサーバとへ別々にログ更新指示を送信できる。
実際には、分散型データ格納システムがデータ更新リクエストを受信する前に、すなわち、分散型データ格納システムに格納されているデータが空である場合に、分散型データ格納システムはプライマリサーバを特定する必要があり、ここで特定されたプライマリサーバが外部データ読取/書込サービスを提供することは特に留意すべき事項である。
プライマリサーバは、ランダム規則に基づいて、分散型データ格納システムによって特定されてもよい、又は、プライマリサーバは、分散型データ格納システム内に含まれる複数のサーバからの選出(ここでの選出は、分散整合性プロトコルに基づいて複数のサーバにより取り行われる選出であってよい)で特定されてもよい、若しくは、分散型データ格納システム内の1つのサーバは、実際の事例に基づいてプライマリサーバとして選択されてもよい。プライマリサーバを特定する方法はここでは限定されない。
プライマリサーバが特定された後、分散型データ格納システム内の別のサーバが、セカンダリサーバとしての機能を果たすことができる。本願のこの実施では、少なくとも2つのセカンダリサーバが存在する。
プライマリサーバ及びセカンダリサーバを特定した後、分散型データ格納システムは、データ更新指示を受信すると、ログ更新指示をプライマリサーバへ送信でき、その結果、プライマリサーバは、ログ更新指示に基づいてログ更新操作を実行する。
ログ更新指示をプライマリサーバへ送信する場合、分散型データ格納システムは、ログ更新指示を少なくとも2つのセカンダリサーバへ同期して送信でき、その結果、少なくとも2つのセカンダリサーバは、ログ更新指示に基づいてログ更新操作を実行する。
ログ更新指示を少なくとも2つのセカンダリサーバへ送信する場合は、ログ更新指示を、少なくとも2つのセカンダリサーバのそれぞれへ送信でき、又は、いくつかの(少なくとも2つの)セカンダリサーバが少なくとも2つのセカンダリサーバから選択でき、ログ更新指示を、いくつかの選択されたセカンダリサーバへ送信することは特に留意すべき事項であるが、これに限定されない。
例えば、分散型データ格納システムが2つのセカンダリサーバを含む場合は、ログ更新指示を2つのセカンダリサーバへ別々に送信できる、又は、分散型データ格納システムが4つのセカンダリサーバを含む場合は、ログ更新指示をセカンダリサーバのうちの2つ、セカンダリサーバのうちの任意の3つ、若しくは、4つのセカンダリサーバ全てへ別々に送信でき、これに限定されない。
本願のこの実施では、説明例として、ログ更新指示を、少なくとも2つのセカンダリサーバのそれぞれへ送信できるとする。
ログ更新指示を受信すると、プライマリサーバと少なくとも2つのセカンダリサーバとは、ログ更新指示に基づいてログ更新操作を実行できる。
ステップ103:ログ更新操作が完了された、と特定されると、プライマリサーバと第1のセカンダリサーバとが、データ格納指示に基づいてデータ更新に関する格納操作を実行するよう、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々にデータ格納指示を送信する。
ステップ103において、ログ更新操作が完了された、と特定されると、分散型データ格納システムは、少なくとも2つのセカンダリサーバのうちの1つを第1のセカンダリサーバとして選択し、プライマリサーバと第1のセカンダリサーバとへ別々にデータ格納指示を送信でき、その結果、プライマリサーバと第1のセカンダリサーバとがデータ更新の格納操作を実行する。
本願のこの実施では、少なくとも以下の2つの事例において、ログ更新操作が完了した、と特定できる。この2つの事例は以下の通りである。
第1の事例:プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定される。
第2の事例:プライマリサーバと、少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定される。
第1の事例において、実際には、プライマリサーバが外部データ読取/書込サービスを提供するよう構成されているため、ログ更新操作が完了したかどうかを特定する場合、分散型データ格納システムは、最初に、プライマリサーバがログ更新操作を完了したかどうかを特定する必要があり、プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定できる。
第2の事例において、プライマリサーバとセカンダリサーバとの間のログ整合性を確保するため、プライマリサーバがログ更新操作を完了した、と特定された後、更に、少なくとも2つのセカンダリサーバがログ更新操作を完了したかどうかを特定できる。このとき、少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバがログ更新操作を完了すれば、それはプライマリサーバとセカンダリサーバとの間のログの整合を示す。言い換えれば、ログ更新操作は完了した、と特定できる。
このため、ログ更新操作が完了した、と特定された後、少なくとも2つのセカンダリサーバのうちの1つを、第1のセカンダリサーバとして選択でき、データ格納指示がプライマリサーバと第1のセカンダリサーバとへ別々に送信され、その結果、プライマリサーバと第1のセカンダリサーバとがデータ更新に関する格納操作を実行する。
本願のこの実施において、データ格納指示は、前記2つの事例に基づいて、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々に送信できる。
第1の事例において、データ格納指示はプライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々に送信される。これは、プライマリサーバがログ更新操作を完了した、と特定されると、データ格納指示をプライマリサーバへ送信するステップと、データ格納指示がプライマリサーバへ送信され、且つ、少なくとも2つのセカンダリサーバのうちの少なくとも1つのサーバがログ更新操作を完了した、と特定された後、データ格納指示を、少なくとも2つのセカンダリサーバうちの第1のセカンダリサーバへ送信するステップとを含む。
プライマリサーバがログ更新操作を完了した、と特定されると、データ格納指示をプライマリサーバへ送信でき、プライマリサーバはデータ格納指示を受信し、データ格納指示に基づいてデータ更新に関する格納操作を実行できる。
このとき、少なくとも2つのセカンダリサーバがログ更新操作を完了したかどうかを更に特定できる。少なくとも1つのセカンダリサーバがログ更新操作を完了した場合、少なくとも2つのセカンダリサーバのうちの1つを、第1のセカンダリサーバとして選択でき、データ格納指示が第1のセカンダリサーバへ送信される。
第2の事例において、データ格納指示はプライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々に送信される。これは、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとが、ログ更新操作を完了した、と特定されると、データ格納指示をプライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々に送信するステップを含む。
プライマリサーバと、少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとがログ更新操作を完了した、と特定されると、少なくとも2つのセカンダリサーバのうちの1つを、第1のセカンダリサーバとして選択でき、データ格納指示が、プライマリサーバと第1のセカンダリサーバとへ別々に送信される。
先に説明した2つの事例において、少なくとも2つのセカンダリサーバのうちの1つが第1のセカンダリサーバとして選択される場合、1つのセカンダリサーバは、ログ更新操作指示を受信するサーバから第1のセカンダリサーバとしてランダムに選択できる、又は、1つのセカンダリサーバは、実際の事例に基づいて第1のセカンダリサーバとして選択できることは特に留意すべき事項であるが、これに限定されない。
分散型データ格納システムが、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々にデータ格納指示を送信した後、プライマリサーバと第1のセカンダリサーバとは、データ格納指示を受信し、データ格納指示に基づいて、データ更新に関する格納操作を実行できる。
実際には、データ更新に関する格納操作を実行しない、分散型データ格納システム内の幾つかのセカンダリサーバを予め特定しておくことができる。このため、データ更新リクエストを受信する場合、分散型データ格納システムは、それらの特定されたセカンダリサーバへはデータ格納指示を送信できない。
任意ではあるが、この方法は、更に、少なくとも2つのセカンダリサーバから第2のセカンダリサーバを特定するステップと、第2のセカンダリサーバがログ更新操作を完了した、と特定されると、ヌル(null)操作指示を第2のセカンダリサーバへ送信するステップであって、ヌル操作指示は第2のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップとを含む。
本願のこの実施において、送信の際、ログ更新指示を少なくとも2つのセカンダリサーバへ別々に送信できる。しかし、ログ更新操作が完了した、と特定されると、データ格納指示は、少なくとも2つのセカンダリサーバのうちの1つへ送信される。したがって、第2のセカンダリサーバは少なくとも2つのセカンダリサーバから特定されてもよく、第2のセカンダリサーバがログ更新操作を完了した、と特定されると、ヌル操作指示が第2のセカンダリサーバへ送信され、その結果、第2のセカンダリサーバは何の操作も行わない。言い換えれば、第2のセカンダリサーバはデータ更新を格納しない。したがって、データ更新のコピー数を減らすことができる。
第2のセカンダリサーバにおける「第2」、及び、先に述べた第1のセカンダリサーバにおける「第1」は、単に、異なるセカンダリサーバ同士を区別するための用語に過ぎず、何らかの他の特別な意味を持ってはいない。
本願のこの実施において、特定の際、第2のセカンダリサーバは、プライマリサーバが特定される間に特定されてもよい、又は、第2のセカンダリサーバは、ログ更新指示が送信される間に特定されてもよい、又は、第2のセカンダリサーバは、データ格納指示が送信される間に特定されてもよく、これに限定されない。
このため、少なくとも2つのセカンダリサーバは、1つの第1のセカンダリサーバと、少なくとも1つの第2のセカンダリサーバとを含むことができる。例えば、分散型データ格納システムが2つのセカンダリサーバを含む場合、1つの第1のセカンダリサーバと、1つの第2のセカンダリサーバとが含まれる、又は、分散型データ格納システムが3つのセカンダリサーバを含む場合、1つの第1のセカンダリサーバと、2つの第2のセカンダリサーバとが含まれる。
データ格納指示を送信する場合、分散型データ格納システムはデータ格納指示をプライマリサーバ及び第1のセカンダリサーバへのみ送信する。このため、プライマリサーバ及び第1のセカンダリサーバがデータ更新を格納し、第2のセカンダリサーバはデータ更新を格納せず、それによりデータ格納に必要なリソースは減る。
加えて、本願のこの実施において、分散型データ格納システム内のいずれかのサーバ(プライマリサーバ又はセカンダリサーバ)が故障した場合、分散型データ格納システムは、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保しながら、外部データ読取/書込サービスを提供できる。
分散型データ格納システムには、少なくとも以下のいくつかの故障事例がある。
第1の故障事例:プライマリサーバが故障する。
第2の故障事例:第1のセカンダリサーバが故障する。
第3の故障事例:第2のセカンダリサーバが故障する。
前記3つの故障事例に特有のものとして、分散型データ格納システムがデータ整合性を確保しながら外部データサービスを提供する方法を、別々に以下説明する。
第1の故障事例及び第2の故障事例において、分散型データ格納システムは、以下の操作を実行する。すなわち、プライマリサーバ又は第1のセカンダリサーバが故障した、と特定されると、第3のセカンダリサーバを特定し、第3のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、データ同期指示を第3のセカンダリサーバへ送信する操作を実行する。
第1の故障事例において、詳細は以下の通りである。
プライマリサーバが故障した、と特定された場合、第1のセカンダリサーバがデータを格納するため、この第1のセカンダリサーバが新しいプライマリサーバとしての機能を果たすことができ、第1のセカンダリサーバは外部データ読取/書込サービスを提供する。このとき、プライマリサーバに比して、第1のセカンダリサーバにおいてデータが失われた場合、失われたデータは、第1のセカンダリサーバに格納されているログ及び/又は第2のセカンダリサーバに格納されているログを用いて復元できる。
加えて、第1のセカンダリサーバに格納されたデータは、更に、バックアップされる必要がある。したがって、第3のセカンダリサーバを特定する必要があり、第1のセカンダリサーバに格納されたデータがバックアップされる。
第3のセカンダリサーバを特定する場合、1つのセカンダリサーバを、第3のセカンダリサーバとして、少なくとも2つのセカンダリサーバに含まれる他のセカンダリサーバから選択でき、又は、新しいサーバを、第3のセカンダリサーバとして特定でき、これに限定されない。
第3のセカンダリサーバが特定された後、データ同期指示を、第3のサーバへ送信でき、その結果、第3のセカンダリサーバは、データ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了する。ここで、故障しておらずデータを格納しているサーバは、第1のセカンダリサーバであってもよく、第3のセカンダリサーバは、第1のセカンダリサーバとのデータ同期を完了する。
第3のセカンダリサーバにおける「第3」は、第1のセカンダリサーバ及び第2のセカンダリサーバと区別するための用語であり、他に特別な意味を有しないことは特に留意すべき事項である。
オプションであるが、分散整合性プロトコルに基づいて、第1のセカンダリサーバ、第2のセカンダリサーバ、及び第3のセカンダリサーバ間のログ整合性を確保するため、第3のセカンダリサーバが第1のセカンダリサーバに格納されたログに基づいてログ同期操作を実行するように、ログ同期指示を、更に、第3のセカンダリサーバへ送信してもよい。
第2の故障事例において、詳細は以下の通りである。
第1のセカンダリサーバが故障した、と特定される場合、プライマリサーバはそれにもかかわらず外部データサービスを提供できる。しかし、第1のセカンダリサーバが故障しているため、新しいセカンダリサーバが特定される必要があり、プライマリサーバに格納されたデータがバックアップされる。
新しいセカンダリサーバを特定するための方法は、第3のセカンダリサーバを特定するための先に説明した方法と同じである。その詳細は簡略化のためここでは省略する。
新しいセカンダリサーバが特定された後、新しいセカンダリサーバへデータ同期指示を送信でき、その結果、新しいセカンダリサーバは、データ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了する。ここで、故障しておらずデータを格納しているサーバは、プライマリサーバであってもよく、新しいセカンダリサーバは、プライマリサーバとのデータ同期を完了する。
オプションであるが、分散整合性プロトコルに基づいて、プライマリサーバ、第2のセカンダリサーバ、及び新しいセカンダリサーバ間のログ整合性を確保するため、新しいセカンダリサーバがプライマリサーバに格納されたログに基づいてログ同期操作を実行するように、ログ同期指示を、更に、新しいセカンダリサーバへ送信できる。
第3の故障事例において、第2のセカンダリサーバが故障した、と特定された場合、第4のセカンダリサーバを特定し、第4のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、ログ同期指示を第4のセカンダリサーバへ送信する。
第2のセカンダリサーバが故障した、と特定された場合、プライマリサーバはそれにもかかわらず外部データ読取/書込サービスを提供でき、第1のセカンダリサーバは、プライマリサーバに格納されているデータをバックアップすることができる。しかし、このとき、分散整合性プロトコルに基づいてプライマリサーバと第1のセカンダリサーバとの間のログ整合性を確保するため、第4のセカンダリサーバを特定する必要がある。
第4のセカンダリサーバを特定する方法は、第3のセカンダリサーバを特定するための先に説明した方法と同じである。詳細は簡略化のためここでは省略する。
第4のセカンダリサーバが特定された後、第4のセカンダリサーバへログ同期指示を送信でき、その結果、ログ同期指示を受信した後、第4のセカンダリサーバはログ同期指示に基づいて、故障していないサーバとのログ同期を完了する。
本明細書中、故障していないサーバは、第2のセカンダリサーバ以外の別のサーバであってもよい、又は、プライマリサーバ、第1のセカンダリサーバ、若しくはログ更新操作を完了している別のサーバであってもよく、限定されない。
第4のセカンダリサーバにおける「第4」は、第1のセカンダリサーバ、第2のセカンダリサーバ、及び第3のセカンダリサーバと区別するための用語であり、他の特別な意味はない。
第2のセカンダリサーバは何らのデータも格納していないため、第4のセカンダリサーバが特定された後、何らのデータ同期指示も第4のセカンダリサーバへ送信する必要はない。
本願のこの実施で提供される技術的解決において、データ更新リクエストが受信されると、プライマリサーバとセカンダリサーバとへログ更新指示を別々に送信でき、その結果、プライマリサーバとセカンダリサーバとがログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示がプライマリサーバと1つのセカンダリサーバへ送信される。このため、セカンダリサーバ内のデータが失われた場合、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバとセカンダリサーバとに予め格納されたログを用いて、失われたデータを復元でき、プライマリサーバ及び1つのセカンダリサーバのみがデータ更新を格納し、それによって、データ格納に必要なリソースを効果的に減らせる。
(第2の実施)
図2は、本願の実施に係るデータ処理方法を説明する概略フローチャートである。この方法を以下説明する。本願のこの実施の実行主体は、整合性プロトコルに基づく分散型データ格納システム内のプライマリサーバであってもよい。
ステップ201:プライマリサーバが、ユーザによって送信されるデータ更新リクエストを受信する。
データ更新リクエストはデータ更新を含む。
ステップ201において、サービスリクエストを開始し、応答メッセージを受信した後、ユーザは、データ更新リクエストを分散型データ格納システム内のプライマリサーバへ送信できる。このとき、分散型データ格納システム内のプライマリサーバはユーザによって送信されたデータ更新リクエストを受信できる。
本願のこの実施において、プライマリサーバは、分散型データ格納システムに格納されたデータが空である場合に特定される。プライマリサーバを特定する方法は、先の実施1において説明した方法と同じである。詳細は簡略化のためここでは省略する。
ステップ202:プライマリサーバが、データ更新リクエストに基づいてログ更新操作を開始し、少なくとも2つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するように、ログ更新指示を、少なくとも2つのセカンダリサーバへ送信する。
ステップ202において、ユーザによって送信されたデータ更新リクエストを受信すると、プライマリサーバは、ログ更新操作を開始し、データリクエストに基づいて分散型データ格納システム内の少なくとも2つのセカンダリサーバへログ更新指示を送信でき、その結果、少なくとも2つのセカンダリサーバはログ更新指示に基づいてログ更新操作を実行する。
データ更新リクエストを受信すると、プライマリサーバは、データ更新リクエストに基づいてログ更新操作を開始し、更に、データ更新リクエストに基づいて少なくとも2つのセカンダリサーバへログ更新指示を送信でき、又は、データ更新リクエストを受信すると、プライマリサーバは、データ更新リクエストに基づいて少なくとも2つのセカンダリサーバへログ更新指示を送信し、更に、データ更新リクエストに基づいてログ更新操作を開始でき、これに限定されない。
プライマリサーバがログ更新指示を少なくとも2つのセカンダリサーバへ送信した後、少なくとも2つのセカンダリサーバは、ログ更新指示を受信し、ログ更新指示に基づいてログ更新操作を実行できる。
ステップ203:ログ更新操作が完了した、と特定されると、プライマリサーバは、データ格納操作を開始し、第1のセカンダリサーバがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、少なくとも2つのセカンダリサーバ内の第1のセカンダリサーバへデータ格納指示を送信する。
ステップ203において、ログ更新操作が完了した、と特定されると、プライマリサーバは、データ格納操作を開始し、少なくとも2つのセカンダリサーバのうちの1つを第1のセカンダリサーバとして選択し、データ格納指示を第1のセカンダリサーバへ送信でき、その結果、プライマリサーバ及び第1のセカンダリサーバはデータ更新を格納する。
プライマリサーバは、少なくとも以下の2つの事例において、ログ更新操作が完了した、と特定できる。2つの事例は以下の通りである。
第1の事例:プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作が完了した、と特定される。
第2の事例:プライマリサーバと、少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとがログ更新操作を完了した、と特定されると、ログ更新操作が完了した、と特定される。
ログ更新操作を完了した、と特定された後、プライマリサーバは、プライマリサーバが外部データ読取/書込サービスを提供するように、データ格納操作を開始できる。このとき、プライマリサーバは、更に、少なくとも2つのセカンダリサーバのうちの1つを、第1のセカンダリサーバとして選択し、データ格納指示を、第1のセカンダリサーバへ送信でき、その結果、第1のセカンダリサーバは、データ格納指示に基づいて、データ更新に関するデータ格納操作を実行する。
プライマリサーバは、データ格納指示を送信する前にデータ格納操作を開始でき、又は、データ格納指示を送信した後にデータ格納操作を開始でき、これに限定されない。
このため、データ更新リクエストを受信した後、プライマリサーバは、ログ更新指示を、第1のセカンダリサーバ及び第2のセカンダリサーバへ送信でき、ログ更新操作が完了した、と特定されると、プライマリサーバは、データ格納操作を実行し、データ格納指示を第1のセカンダリサーバへ送信する。このため、第1のセカンダリサーバ内のデータが失われた場合、失われたデータは、プライマリサーバと第1のセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバに予め格納されているログ、及び/又は、第1のセカンダリサーバに予め格納されているログ、及び/又は、第2のセカンダリサーバに予め格納されているログに基づいて復元できる。加えて、プライマリサーバ及び第1のセカンダリサーバのみがデータ更新を格納し、それにより、データ格納に必要なリソースを減らすことができる。
(第3の実施)
分散型データ格納システムは3つのサーバ(1つのプライマリサーバ及び2つのセカンダリサーバ)を含み、これを、本願のこの実施において提供される技術的解決策の説明例として以下用いる。本願のこの実施の実行主体は、プライマリサーバであってもよい。
ステップ1:分散型データ格納システムから、プライマリサーバ、第1のセカンダリサーバ、及び第2のセカンダリサーバを特定する。
分散型データ格納システムに格納されているデータが空である場合、プライマリサーバ及び2つのセカンダリサーバを、分散型データ格納システムから特定できる。区別し易くするために、2つのセカンダリサーバを、それぞれ、第1のセカンダリサーバ及び第2のセカンダリサーバと称する。
本願のこの実施において、プライマリサーバはデータ更新を格納し、外部データ読取/書込サービスを提供できる。第1のセカンダリサーバはデータ更新を格納でき、第2のセカンダリサーバはデータ更新を格納しない。
本願のこの実施において、プライマリサーバ、第1のセカンダリサーバ及び第2のセカンダリサーバを特定する順序は制限されない。
第2のセカンダリサーバ、プライマリサーバ及び第1のセカンダリサーバの特定順序を説明の例として以下用いる。
最初に、第2のセカンダリサーバが特定される。
特定の際、第2のセカンダリサーバは、分散型データ格納システムに含まれる3つのサーバによってなされる選出方法で、分散整合性プロトコル、すなわち、Paxosプロトコルに基づいて特定されてもよい。
第2のセカンダリサーバが特定されると、1つのサーバが第2のセカンダリサーバとしてランダムに選択されてもよい、又は、第2のセカンダリサーバが実際の事例に基づいて特定される。ここでは、第2のセカンダリサーバを特定するための方法は限定されない。
第2に、プライマリサーバが特定される。
第2のセカンダリサーバが特定された後、第2のセカンダリサーバ及び分散型データ格納システム内の残りの2つのサーバによって行われる選出方法で、分散整合性プロトコル、すなわち、Paxosプロトコルに基づいてプライマリサーバを特定できる。
プライマリサーバが選出方法で特定される場合、第2のセカンダリサーバと他の2つのサーバのどちらも、プライマリサーバとして第2のセカンダリサーバを選ぶことはできないことは特に留意すべき事項である。
図3を参照すると、図3は、本願の実施に係るプライマリサーバ特定手順を示す概略図である。
第2のセカンダリサーバCが選出方法で特定された後、サーバA、サーバB、及び第2のセカンダリサーバCは、選出方法でプライマリサーバを特定できることが、図3から分かる。サーバAは、サーバA又はサーバBをプライマリサーバとして選ぶことができるが、第2のセカンダリサーバCをプライマリサーバとして選ぶことはできない。サーバBは、サーバB又はサーバAをプライマリサーバとして選ぶことができるが、第2のセカンダリサーバCをプライマリサーバとして選ぶことはできない。第2のセカンダリサーバCは、第2のセカンダリサーバCをプライマリサーバとして選ぶことはできないが、サーバA又はサーバBをプライマリサーバとして選ぶことができる。
プライマリサーバを特定する場合、第2のセカンダリサーバ以外の2つのサーバのうちの1つは、プライマリサーバをランダムに選択でき、又は、1つのサーバが実際の事例に基づいてプライマリサーバを選択でき、これに限定されない。
最後に、第1のセカンダリサーバが特定される。
第2のセカンダリサーバ及びプライマリサーバが分散型データ格納システムに含まれる3つのサーバから特定された後、残りのサーバが第1のセカンダリサーバとしての機能を果たすことができる。
ステップ2:プライマリサーバは、ユーザによって送信されたデータ更新リクエストを受信する。
データ更新リクエストはデータ更新を含む。
ステップ3:プライマリサーバは、第1のセカンダリサーバと第2のセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、ログ更新指示を、第1のセカンダリサーバと第2のセカンダリサーバとへ送信する。
プライマリサーバがログ更新指示を第1のセカンダリサーバと第2のセカンダリサーバとへ送信した後、第1のセカンダリサーバと第2のセカンダリサーバとがログ更新指示を受信できる。このとき、プライマリサーバ、第1のセカンダリサーバ、及び第2のセカンダリサーバは、分散整合性プロトコル、すなわち、Paxosプロトコルに基づいてログ更新を実行できる。プライマリサーバと、第1のセカンダリサーバと、第2のセカンダリサーバとのうちの少なくとも1つがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定される。
ステップ4:第1のセカンダリサーバがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、プライマリサーバが、データ格納指示を第1のセカンダリサーバへ送信する。
ログ更新操作が完了した、と特定すると、プライマリサーバは、データ更新に関する格納操作を実行し、データ格納指示を第1のセカンダリサーバへ送信できる。第1のセカンダリサーバはデータ格納指示を受信できる。このとき、第1のセカンダリサーバがログ更新操作を完了していれば、第1のセカンダリサーバはデータ格納指示に基づいてデータ更新に関する格納操作を実行できる、又は、第1のセカンダリサーバがログ更新操作を完了していなければ、第1のセカンダリサーバは引き続きログ更新操作を実行する必要があり、ログ更新操作を完了した場合、第1のセカンダリサーバは、受信されたデータ格納指示に基づいてデータ更新に関する格納操作を実行できる。
このため、データ更新リクエストを受信すると、プライマリサーバは、ログ更新指示を第1のセカンダリサーバと第2のセカンダリサーバとへ送信でき、ログ更新操作が完了した、と特定すると、プライマリサーバは、データ格納操作を実行し、データ格納指示を第1のセカンダリサーバへ送信する。このため、プライマリサーバと第1のセカンダリサーバのみがデータ更新を格納し、それによって、データ格納に必要なリソースを減らす。
本願のこの実施において、プライマリサーバと、第1のセカンダリサーバと、第2のセカンダリサーバとのうちのいずれか1つが故障した場合、分散型データ格納システムは、データ整合性を確保しながら、外部データ読取/書込サービスを提供できる。
プライマリサーバが故障した場合の詳細は以下の通りである。
図4に示すように、プライマリサーバが故障すると、プライマリサーバは、ユーザのための読取/書込サービスの提供を続けることができないが、このとき、第1のセカンダリサーバBを、新しいプライマリサーバとして特定でき、サーバDを新しい第1のセカンダリサーバとして特定できる。第1のセカンダリサーバBは、ユーザのためにデータ読取/書込サービスを提供し、第2のセカンダリサーバCとのログ同期を維持できる。サーバDは第1のセカンダリサーバBから複製を介しデータコピーを取得して第1のセカンダリサーバBとのデータ同期を行い、サーバDはログ同期操作を実行して第1のセカンダリサーバBとのログ同期を行う。
第1のセカンダリサーバが故障した場合の詳細は以下の通りである。
図5に示すように、第1のセカンダリサーバが故障すると、プライマリサーバAは、ユーザのためのデータ読取/書込サービスの提供を続けることができるが、このとき、サーバEを、新しい第1のセカンダリサーバとして特定できる。サーバEは、プライマリサーバAから複製を介しデータコピーを取得してプライマリサーバAとのデータ同期を行い、サーバEはログ同期操作を実行してプライマリサーバAとのログ同期を行う。
第2のセカンダリサーバが故障した場合の詳細は以下の通りである。
図6に示すように、第2のセカンダリサーバが故障すると、プライマリサーバAはユーザのためのデータ読取/書込サービスの提供を続けることができ、このとき、サーバFを、新しい第2のセカンダリサーバとして特定でき、サーバFはログ同期操作を実行してプライマリサーバAとのログ同期を行う。
実際には、リモート分散型データ格納システムが存在していてもよい。言い換えれば、同じデータに対して、データコピーのローカル格納に加えて、データコピーのリモート格納が、分散型データ格納システムの安定性を向上させるために必要とされる。リモート分散型データ格納システムにとって、データ格納に必要なリソースを減らすため、少なくとも3つのサーバをローカルに用いることができ、プライマリサーバはデータ更新を格納し、他のセカンダリサーバはログのみ格納し(すなわち、他のセカンダリサーバはログ更新操作だけを実行し);そして、少なくとも3つのサーバがリモートで用いられ、プライマリサーバはローカルのプライマリサーバにおいてデータのデータコピーを格納し、他のセカンダリサーバはログだけを格納する(すなわち、他のセカンダリサーバはログ更新操作だけを実行する)。
図7に示すように、ローカル機器室において、A、B、Cのラベルを付した3つのサーバが用いられてもよく、サーバAはプライマリサーバであり、データ更新を格納し、サーバB及びサーバCはセカンダリサーバであり、ログ更新操作だけを実行するが、データ更新を格納しない。リモート機器室において、サーバD、E、Fが用いられてもよく、サーバDはプライマリサーバであり、ローカル機器室内のサーバAに格納されているデータのデータコピーを格納し、サーバE及びサーバFはログ更新操作だけを実行するが、データ更新を格納しない。
サーバAが故障した場合、サーバDが外部データ読取/書込サービスを提供できる。
サーバDが故障した場合、サーバAはそれにもかかわらず外部データ読取/書込サービスを提供し続けることができる。このとき、新しいプライマリサーバを、リモート機器室において特定する必要がある。新しいプライマリサーバはサーバAとのデータ同期及びログ同期を行うことができる。
サーバBと、サーバCと、サーバEと、サーバFとのうちのいずれか1つが故障した場合、サーバAはそれにもかかわらず外部読取/書込サービスを提供し続けることができる。
図8は、本願の実施に係るデータ処理デバイスを示す概略構成図である。デバイスは分散型データ格納システムに適用され、分散型データ格納システムは、プライマリサーバと、少なくとも2つのセカンダリサーバとを含み、デバイスは、受信ユニット81と、送信ユニット82と、特定ユニット83とを含む。
受信ユニット81は、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、ここでデータ更新リクエストはデータ更新を含む。
送信ユニット82は、プライマリサーバと少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うように、データ更新リクエストに基づいてプライマリサーバと少なくとも2つのセカンダリサーバとへ別々にログ更新指示を送信するよう構成される。
ログ更新操作が完了した、と特定すると、送信ユニット82は、プライマリサーバと第1のセカンダリサーバとがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々にデータ格納指示を送信するよう構成される。
送信ユニット82は、ログ更新操作が完了した、と特定するが、これは、プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作が完了した、と特定すること;又は、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとがログ更新操作を完了した、と特定すると、ログ更新操作が完了した、と特定すること;を含む。
送信ユニット82は、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々にデータ格納指示を送信するが、これは、プライマリサーバがログ更新操作を完了した、と特定すると、データ格納指示をプライマリサーバへ送信し、データ格納指示がプライマリサーバへ送信され、且つ、少なくとも2つのセカンダリサーバのうちの少なくとも1つのサーバがログ更新操作を完了した、と特定された後、データ格納指示を、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバへ送信すること;又は、プライマリサーバと、少なくとも2つのセカンダリサーバ内のうちの少なくとも1つのセカンダリサーバとがログ更新操作を完了した、と特定されると、プライマリサーバと、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバとへ別々にデータ格納指示を送信すること;を含む。
オプションであるが、データ処理デバイスは特定ユニット83を更に含む。
特定ユニット83は、少なくとも2つのセカンダリサーバから第2のセカンダリサーバを特定し、第2のセカンダリサーバがログ更新操作を完了した、と特定されると、ヌル操作指示を第2のセカンダリサーバへ送信するよう構成され、ここで、ヌル操作指示は第2のセカンダリサーバに何の操作も行わないよう指示するために用いられる。
オプションであるが、プライマリサーバ又は第1のセカンダリサーバが故障した、と特定されると、特定ユニット83は、第3のセカンダリサーバを特定し、第3のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を行うように、データ同期指示を第3のセカンダリサーバへ送信するよう構成される。
オプションであるが、第2のセカンダリサーバが故障した、と特定されると、特定ユニット83は、第4のセカンダリサーバを特定し、第4のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、ログ同期指示を第4のセカンダリサーバへ送信するよう構成される。
図9は、本願の実施に係るデータ処理デバイスを示す概略構成図である。デバイスは分散型データ格納システムに適用され、分散型データ格納システムはプライマリサーバと、少なくとも2つのセカンダリサーバとを含み、デバイスは受信ユニット91と送信ユニット92とを含む。
受信ユニット91は、ユーザによって送信されるデータ更新リクエストを受信するよう構成される。ここで、データ更新リクエストはデータ更新を含む。
送信ユニット92は、データ更新リクエストに基づいてログ更新操作を開始し、少なくとも2つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するように、ログ更新指示を少なくとも2つのセカンダリサーバへ送信するよう構成される。
ログ更新操作が完了した、と特定されると、送信ユニット92は、データ格納操作を開始し、第1のセカンダリサーバがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバへデータ格納指示を送信するよう構成される。
当業者は、本願の実施は、方法、システム、又はコンピュータプログラム製品として提供できることを理解するはずである。そのため、本願は、ハードウェアのみの実施、ソフトウェアのみの実施、又は、ソフトウェアとハードウェアとの組み合わせによる実施を用いることができる。さらに、本願は、コンピュータで使用可能なプログラムコードを含んだ1台以上のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD−ROM、光学メモリ等を含むがこれに限定されない)上で実施されるコンピュータプログラム製品を使用できる。
本願は、本願の実施に係る方法、デバイス(システム)、コンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明されている。コンピュータプログラム命令は、フローチャート及び/又はブロック図中の各手順及び/又は各ブロック、並びにフローチャート及び/又はブロック図中の手順及び/又はブロックの組み合わせを実施するために使用できることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又はあらゆるその他のプログラム可能なデータ処理デバイスのプロセッサに、マシンを生成するために提供されることができ、これにより、コンピュータ又は他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令は、フローチャートの1つ又は複数の手順及び/又はブロック図の1つ又は複数のブロックで指定された機能を実施するデバイスを生成するために使用される。
これらのコンピュータプログラム命令を、コンピュータ又はあらゆるその他のプログラム可能なデータ処理デバイスに特定の方法で機能するように命令することができるコンピュータ読取可能なメモリに記憶でき、これにより、これらのコンピュータ読取可能なメモリに記憶された命令が、命令装置を含むアーチファクトを生成するように使用される。この命令装置は、フローチャート内の1つ以上の手順、及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実施する。
これらのコンピュータプログラム命令をコンピュータ又はその他のプログラム可能なデータ処理デバイスにロードして、コンピュータ又はその他のプログラム可能なデバイス上で一連の操作及びステップが実行されるようにし、コンピュータで実施される処理を生成することができる。これにより、コンピュータ又はその他のプログラム可能なデバイス上で実行される命令が、フローチャート内の1つ以上の手順及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実施するデバイスを提供することを可能とする。
典型的な構成では、コンピューティングデバイスは1つ以上のプロセッサ(CPUs)、入出力インターフェース、ネットワークインターフェース、及びメモリを含む。
メモリは非永続性メモリ、RAM、不揮発性メモリ、及び/又はROMやフラッシュメモリ(flash RAM)のようなコンピュータ読取可能な不揮発性メモリとすることができる。メモリはコンピュータ読取可能な媒体の一例である。
コンピュータ読取可能な媒体には、任意の方法又は技術を用いて情報を記憶できる、永続的、非永続的、移動可能な、移動不能な媒体が含まれる。この情報はコンピュータ読取可能な命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータの記憶媒体の例として、相変化ランダムアクセスメモリ(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、別タイプのランダムアクセスメモリ、リードオンリーメモリ(ROM)、電気的に消去可能でプログラム可能なROM(EEPROM)、フラッシュメモリ、又は別のメモリ記憶デバイス、コンパクトディスクリードオンリーメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、又は別の光学記憶メモリ、カセット、磁気ディスク、又は別の磁気記憶デバイス、若しくはその他任意の非一時的媒体があるが、それらに限定されない。コンピュータの記憶媒体は、コンピューティングデバイスにアクセス可能な情報を格納するように構成することができる。本明細書で記載しているように、コンピュータ読取可能な媒体は、変調されたデータ信号及び搬送波のような一時的な媒体を含まない。
さらに、用語「含む」、「含有する」、又はこれらのその他任意の応用形は、非限定的な包含を網羅することを意図しており、そのため、一連の要素を含んだ工程、方法、物品、デバイスはこれらの要素を含むだけでなく、ここで明確に挙げていないその他の要素をも含む、あるいは、このような工程、方法、物品、デバイスに固有の要素をさらに含むことができる点に留意することが重要である。「(1つの)〜を含む」との用語を付けて示された要素は、それ以上の制約がなければ、その要素を含んだ工程、方法、物品、デバイス内に別の同一の要素をさらに含むことを排除しない。
当業者は、本願の実施が方法、システム、コンピュータプログラム製品として提供され得ることを理解するはずである。そのため、本願は、ハードウェアのみの実施、ソフトウェアのみの実施、又は、ソフトウェアとハードウェアの組み合わせによる実施を用いることができる。さらに、本願は、コンピュータで用いることができるプログラムコードを含んだ、1つ以上のコンピュータで使用可能な記憶媒体(磁気ディスクストレージ、CD−ROM、光学ディスク等を非限定的に含む)上で実施されるコンピュータプログラム製品の形態を用いることが可能である。
上述のものは本願の一実施形態であるが、本願を限定することを意図するものではない。当業者は、本願に様々な修正及び変更を加えることができる。本願の主旨及び原理から逸脱せずに為されるあらゆる修正、均等物による代替、改善等は、本願の特許請求の範囲に含まれるものである。
以下、本発明の実施の態様の例を列挙する。
[第1の局面]
データ処理方法であって、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを備え:
ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと;
前記プライマリサーバと前記少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも2つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップと;
前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第1のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信するステップと;を備える、
データ処理方法。
[第2の局面]
前記ログ更新操作が完了した、と特定されることは:
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ;又は、
前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ;を備える、
第1の局面に記載のデータ処理方法。
[第3の局面]
前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信する前記ステップは:
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し;前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも2つのセカンダリサーバ内の前記少なくとも1つのサーバが前記ログ更新操作を完了した、と特定された後、前記データ格納指示を、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバへ送信するステップ;又は、
前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記少なくとも1つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に送信するステップ;を備える、
第2の局面に記載のデータ処理方法。
[第4の局面]
前記少なくとも2つのセカンダリサーバから第2のセカンダリサーバを特定するステップと;
前記第2のセカンダリサーバが前記ログ更新操作を完了した、と特定されると、ヌル操作指示を前記第2のセカンダリサーバへ送信するステップであって、前記ヌル操作指示は前記第2のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップと;を更に備える、
第1又は3の局面に記載のデータ処理方法。
[第5の局面]
前記プライマリサーバ又は前記第1のセカンダリサーバが故障した、と特定されると、第3のセカンダリサーバを特定し、前記第3のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第3のセカンダリサーバへ送信するステップを更に備える、
第4の局面に記載のデータ処理方法。
[第6の局面]
前記第2のセカンダリサーバが故障した、と特定されると、第4のセカンダリサーバを特定し、前記第4のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第4のセカンダリサーバへ送信するステップを更に備える、
第4の局面に記載のデータ処理方法。
[第7の局面]
データ処理方法であって、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを備え:
ユーザによって送信されるデータ更新リクエストを、前記プライマリサーバによって受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと;
前記プライマリサーバによって、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも2つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するよう、前記ログ更新指示を前記少なくとも2つのセカンダリサーバへ送信するステップと;
前記ログ更新操作が完了した、と特定すると、前記プライマリサーバによってデータ格納操作を開始し、第1のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するよう、前記少なくとも2つのセカンダリサーバ内の前記第1のセカンダリサーバへ前記データ格納指示を送信するステップと;を備える、
データ処理方法。
[第8の局面]
データ処理デバイスであって、前記デバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを備え、前記デバイスは、受信ユニットと送信ユニットとを備え;
前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を備え;
前記送信ユニットは、前記プライマリサーバと前記少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、前記データ更新リクエストに基づいて、前記プライマリサーバと前記少なくとも2つのセカンダリサーバとへ別々に前記ログ更新指示を送信するよう構成され;
前記ログ更新操作が完了した、と特定されると、前記送信ユニットは、前記プライマリサーバと第1のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信するよう構成される、
データ処理デバイス。
[第9の局面]
前記送信ユニットが、前記ログ更新操作が完了した、と特定することは:
前記プライマリサーバが前記ログ更新操作を完了した、と特定される、前記ログ更新操作が完了した、と特定すること;又は、
前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定すること;を備える、
第8の局面に記載のデータ処理デバイス。
[第10の局面]
前記送信ユニットが、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信することは:
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し;前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも2つのセカンダリサーバのうちの前記少なくとも1つのサーバが前記ログ更新操作を完了した、と特定された後、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバへ、前記データ格納指示を送信すること;又は、
前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記少なくとも1つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に送信すること;を備える、
第9の局面に記載のデータ処理デバイス。
[第11の局面]
特定ユニットを更に備え;
前記特定ユニットは、前記少なくとも2つのセカンダリサーバから第2のセカンダリサーバを特定し、前記第2のセカンダリサーバが前記ログ更新操作を完了した、と特定すると、ヌル操作指示を前記第2のセカンダリサーバへ送信するよう構成され、前記ヌル操作指示は、前記第2のセカンダリサーバに何の操作も行わないよう指示するために用いられる、
第8又は10の局面に記載のデータ処理デバイス。
[第12の局面]
前記プライマリサーバ又は前記第1のセカンダリサーバが故障した、と特定すると、前記特定ユニットは、第3のセカンダリサーバを特定し、前記第3のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第3のセカンダリサーバへ送信するよう構成される、
第11の局面に記載のデータ処理デバイス。
[第13の局面]
前記第2のセカンダリサーバが故障したと特定すると、前記特定ユニットは、第4のセカンダリサーバを特定し、前記第4のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第4のセカンダリサーバへ送信するよう構成される、
第11の局面に記載のデータ処理デバイス。
[第14の局面]
データ処理デバイスであって、前記デバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも2つのセカンダリサーバとを備え、前記デバイスは、受信ユニットと送信ユニットとを備え;
前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を備え;
前記送信ユニットは、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも2つのセカンダリサーバがログ更新指示に基づいて前記ログ更新操作を実行するように、前記ログ更新指示を前記少なくとも2つのセカンダリサーバへ送信するよう構成され;
前記ログ更新操作が完了したと特定すると、前記送信ユニットは、データ格納操作を開始し、前記少なくとも2つのセカンダリサーバのうちの第1のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記第1のセカンダリサーバへ前記データ格納指示を送信するよう構成される、
データ処理デバイス。
81、91 受信ユニット
82、92 送信ユニット
83 特定ユニット

Claims (10)

  1. データ処理の方法であって:
    ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップ(101)と;
    プライマリサーバと少なくとも2つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも2つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップ(102)と;
    前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第1のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信するステップ(103)と
    前記少なくとも2つのセカンダリサーバから第2のセカンダリサーバを特定するステップと;
    前記第2のセカンダリサーバが前記ログ更新操作を完了した、と特定されると、ヌル操作指示を前記第2のセカンダリサーバへ送信するステップであって、前記ヌル操作指示は前記第2のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップと;を備える、
    データ処理の方法。
  2. 前記ログ更新操作が完了した、と特定されることは:
    前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ;又は、
    前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの少なくとも1つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ;を備える、
    請求項1に記載の方法。
  3. 前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に前記データ格納指示を送信するステップは:
    前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し;前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも2つのセカンダリサーバ内の前記少なくとも1つのサーバが前記ログ更新操作を完了した、と特定された後、前記データ格納指示を、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバへ送信するステップ;又は、
    前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記少なくとも1つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも2つのセカンダリサーバのうちの前記第1のセカンダリサーバとへ別々に送信するステップ;を備える、
    請求項2に記載の方法。
  4. 前記第2のセカンダリサーバは、前記ヌル操作指示を受信すると、データ更新に関する格納操作を実行しないように構成される、
    請求項1乃至請求項3のいずれか1項に記載の方法。
  5. 前記プライマリサーバ又は前記第1のセカンダリサーバが故障した、と特定されると、第3のセカンダリサーバを特定し、前記第3のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第3のセカンダリサーバへ送信するステップを更に備える、
    請求項1乃至請求項4のいずれか1項に記載の方法。
  6. 前記第2のセカンダリサーバが故障した、と特定されると、第4のセカンダリサーバを特定し、前記第4のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第4のセカンダリサーバへ送信するステップを更に備える、
    請求項1乃至請求項4のいずれか1項に記載の方法。
  7. 前記プライマリサーバは、前記データ更新に関連する外部読取又は書込操作を実行するために、外部のコンピューティングデバイスと通信する、
    請求項1乃至請求項6のいずれか1項に記載の方法。
  8. 前記データ更新リクエストは、決済リクエストを備える、
    請求項1乃至請求項7のいずれか1項に記載の方法。
  9. 前記プライマリサーバは、ランダム規則又は分散整合性プロトコルに基づいて特定される、
    請求項1乃至請求項8のいずれか1項に記載の方法。
  10. 請求項1乃至請求項9のいずれか1項に記載の方法を実行するように構成された複数のモジュールを備える、
    データ処理のための装置。
JP2018566899A 2016-06-20 2017-06-07 データ処理方法及びデバイス Active JP6684367B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610444320.5 2016-06-20
CN201610444320.5A CN106899648B (zh) 2016-06-20 2016-06-20 一种数据处理方法和设备
PCT/CN2017/087378 WO2017219857A1 (zh) 2016-06-20 2017-06-07 一种数据处理方法和设备

Publications (3)

Publication Number Publication Date
JP2019526106A JP2019526106A (ja) 2019-09-12
JP2019526106A5 JP2019526106A5 (ja) 2019-12-26
JP6684367B2 true JP6684367B2 (ja) 2020-04-22

Family

ID=59190336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018566899A Active JP6684367B2 (ja) 2016-06-20 2017-06-07 データ処理方法及びデバイス

Country Status (18)

Country Link
US (2) US10798168B2 (ja)
EP (1) EP3474516B1 (ja)
JP (1) JP6684367B2 (ja)
KR (1) KR102145136B1 (ja)
CN (2) CN111314479B (ja)
AU (1) AU2017282817B2 (ja)
BR (1) BR112018076689B1 (ja)
CA (1) CA3028504C (ja)
ES (1) ES2809174T3 (ja)
MX (1) MX2018016249A (ja)
MY (1) MY191234A (ja)
PH (1) PH12018502712B1 (ja)
PL (1) PL3474516T3 (ja)
RU (1) RU2714098C1 (ja)
SG (1) SG11201811389PA (ja)
TW (1) TWI689181B (ja)
WO (1) WO2017219857A1 (ja)
ZA (1) ZA201900306B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314479B (zh) 2016-06-20 2022-08-23 北京奥星贝斯科技有限公司 一种数据处理方法和设备
CN110233905B (zh) * 2017-04-20 2020-12-25 腾讯科技(深圳)有限公司 节点设备运行方法、节点设备及存储介质
CN107908370B (zh) * 2017-11-30 2021-07-06 新华三技术有限公司 数据存储方法及装置
CN108616598B (zh) * 2018-05-10 2021-01-01 新华三技术有限公司成都分公司 数据同步方法、装置和分布式存储系统
US12013856B2 (en) 2018-08-13 2024-06-18 Amazon Technologies, Inc. Burst performance of database queries according to query size
CN109117312B (zh) * 2018-08-23 2022-03-01 北京小米智能科技有限公司 数据恢复方法及装置
CN110968561B (zh) * 2018-09-30 2024-02-13 北京国双科技有限公司 日志存储方法和分布式系统
CN111352943A (zh) * 2018-12-24 2020-06-30 华为技术有限公司 实现数据一致性的方法和装置、服务器和终端
US11308100B2 (en) * 2019-06-25 2022-04-19 Amazon Technologies, Inc. Dynamically assigning queries to secondary query processing resources
CN110597673B (zh) * 2019-09-25 2021-04-30 腾讯科技(深圳)有限公司 存储系统的容灾方法、装置、设备及计算机可读存储介质
CN112835885B (zh) * 2019-11-22 2023-09-01 北京金山云网络技术有限公司 一种分布式表格存储的处理方法、装置及系统
CN111159292A (zh) * 2019-12-20 2020-05-15 深圳前海微众银行股份有限公司 一种数据存储方法及装置
CN111209333B (zh) * 2019-12-20 2023-06-20 中国平安财产保险股份有限公司 数据更新方法、装置、终端及存储介质
CN112434054A (zh) * 2020-12-09 2021-03-02 杭州海量存储技术有限公司 一种审计日志的更新方法及装置
CN112615944B (zh) * 2020-12-11 2023-07-11 互联网域名系统北京市工程研究中心有限公司 分布式dns主辅同步的方法和系统
CN113472469B (zh) * 2021-07-27 2023-12-05 厦门亿联网络技术股份有限公司 一种数据同步方法、装置、设备及存储介质
CN114090545A (zh) * 2021-11-22 2022-02-25 中国建设银行股份有限公司 分布式数据库的维护方法、装置、存储介质及程序产品
CN114201473A (zh) * 2021-12-15 2022-03-18 上海达梦数据库有限公司 日志管理方法及服务器集群
CN116095098B (zh) * 2022-11-28 2024-04-09 华南农业大学 数据的分布式存储方法及装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568467B (zh) * 2001-09-06 2010-06-16 Bea系统公司 正好一次高速缓存器结构
KR100483742B1 (ko) * 2002-02-18 2005-04-18 주식회사 케이티프리텔 이동 통신 단말기를 이용한 대금 지불 및 개인 정보 관리방법
US7158985B1 (en) * 2003-04-09 2007-01-02 Cisco Technology, Inc. Method and apparatus for efficient propagation of large datasets under failure conditions
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US7577661B2 (en) * 2005-06-30 2009-08-18 Microsoft Corporation Extensible and automatically replicating server farm configuration management infrastructure
JP4998549B2 (ja) * 2007-02-28 2012-08-15 富士通株式会社 メモリミラー化制御プログラム、メモリミラー化制御方法およびメモリミラー化制御装置
KR100926880B1 (ko) * 2007-05-21 2009-11-16 엔에이치엔(주) Dbms에서의 데이터 복제 방법 및 시스템
US7631214B2 (en) * 2007-05-31 2009-12-08 International Business Machines Corporation Failover processing in multi-tier distributed data-handling systems
KR101001946B1 (ko) 2008-10-22 2010-12-17 한국과학기술연구원 수소 저장 물질 및 그 제조 방법
KR20100044428A (ko) * 2008-10-22 2010-04-30 현대중공업 주식회사 다중서버 상위구조를 갖는 선박자동화 시스템
CN101582920B (zh) * 2009-06-09 2012-09-05 中兴通讯股份有限公司 一种分布式文件系统中校验和同步数据块的方法及装置
JP5039891B2 (ja) * 2009-10-19 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースの複製を生成する装置及び方法
CN101741911B (zh) 2009-12-18 2014-04-30 中兴通讯股份有限公司 基于多副本协同的写操作方法、系统及节点
US8572022B2 (en) * 2010-03-02 2013-10-29 Microsoft Corporation Automatic synchronization conflict resolution
US8510270B2 (en) * 2010-07-27 2013-08-13 Oracle International Corporation MYSQL database heterogeneous log based replication
US8301600B1 (en) * 2010-11-15 2012-10-30 Amazon Technologies, Inc. Failover recovery in a distributed data store
US9251021B2 (en) * 2011-05-23 2016-02-02 Bradley Gene Calder Asynchronous replication in a distributed storage environment
US9348883B2 (en) * 2011-06-01 2016-05-24 Clustrix, Inc. Systems and methods for replication replay in a relational database
CN103580891A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种数据同步的方法、系统及服务器
JP6056453B2 (ja) * 2012-12-20 2017-01-11 富士通株式会社 プログラム、データ管理方法および情報処理装置
CN104346373B (zh) * 2013-07-31 2017-12-15 华为技术有限公司 分区日志队列同步管理方法及设备
CN103560906B (zh) * 2013-10-22 2017-01-25 珠海多玩信息技术有限公司 数据复制的方法及装置
CN103546579B (zh) * 2013-11-07 2017-01-04 陈靓 一种用数据日志提高分布式存储系统可用性的方法
CN104657382B (zh) * 2013-11-21 2018-09-14 阿里巴巴集团控股有限公司 用于MySQL主从服务器数据一致性检测的方法和装置
JP6318902B2 (ja) * 2014-06-20 2018-05-09 富士通株式会社 冗長システムおよび冗長化方法
US9367410B2 (en) * 2014-09-12 2016-06-14 Facebook, Inc. Failover mechanism in a distributed computing system
CN104506643A (zh) * 2014-12-30 2015-04-08 北京奇虎科技有限公司 分布式存储系统的服务器及服务器之间的数据同步方法
CN105426439B (zh) * 2015-11-05 2022-07-05 腾讯科技(深圳)有限公司 一种元数据的处理方法和装置
CN105468297A (zh) * 2015-11-18 2016-04-06 临沂大学 一种云存储系统内主从设备数据快速同步的方法
CN105554142B (zh) * 2015-12-24 2019-02-01 北京奇虎科技有限公司 消息推送的方法、装置及系统
CN111314479B (zh) * 2016-06-20 2022-08-23 北京奥星贝斯科技有限公司 一种数据处理方法和设备

Also Published As

Publication number Publication date
WO2017219857A1 (zh) 2017-12-28
ZA201900306B (en) 2021-01-27
CA3028504C (en) 2021-02-16
CA3028504A1 (en) 2017-12-28
RU2714098C1 (ru) 2020-02-11
PL3474516T3 (pl) 2021-02-08
AU2017282817B2 (en) 2020-01-02
TWI689181B (zh) 2020-03-21
KR20190020099A (ko) 2019-02-27
MX2018016249A (es) 2019-08-29
CN106899648A (zh) 2017-06-27
US10798168B2 (en) 2020-10-06
BR112018076689A2 (pt) 2019-04-02
US10693965B2 (en) 2020-06-23
CN106899648B (zh) 2020-02-14
TW201801495A (zh) 2018-01-01
PH12018502712B1 (en) 2022-01-19
SG11201811389PA (en) 2019-01-30
EP3474516B1 (en) 2020-05-13
KR102145136B1 (ko) 2020-08-18
BR112018076689B1 (pt) 2021-09-08
EP3474516A4 (en) 2019-04-24
AU2017282817A1 (en) 2019-01-31
JP2019526106A (ja) 2019-09-12
CN111314479B (zh) 2022-08-23
PH12018502712A1 (en) 2019-07-29
US20200128076A1 (en) 2020-04-23
ES2809174T3 (es) 2021-03-03
CN111314479A (zh) 2020-06-19
MY191234A (en) 2022-06-10
US20190149605A1 (en) 2019-05-16
EP3474516A1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
JP6684367B2 (ja) データ処理方法及びデバイス
US9477738B2 (en) Initialization protocol for a peer-to-peer replication environment
US9910609B2 (en) Determining adjustments of storage device timeout values based on synchronous or asynchronous remote copy state
US10949401B2 (en) Data replication in site recovery environment
US20130125122A1 (en) System and method for using local storage to emulate centralized storage
US11917005B2 (en) Clustered storage system synchronization
US20120030513A1 (en) Mechanism to Provide Assured Recovery for Distributed Application
US9424301B2 (en) System and method for negotiated takeover of storage objects
CN106605217B (zh) 用于将应用从一个站点移动到另一站点的方法和系统
CN104994168A (zh) 分布式存储方法及分布式存储系统
CN106339176B (zh) 中间文件处理方法、客户端、服务器和系统
US11522966B2 (en) Methods, devices and systems for non-disruptive upgrades to a replicated state machine in a distributed computing environment
JP5862246B2 (ja) データ管理プログラム、データ管理方法およびストレージ装置
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN113190620A (zh) Redis集群之间数据的同步方法、装置、设备及存储介质
CN116389233B (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
KR20200122724A (ko) 백업 데이터에 대한 신뢰성을 확보하면서도 블록체인 네트워크를 복구하며, 노드를 재활용함으로써 자원 소모를 최소화하는 딜레이드 동기화 방법 및 장치
CN112433887A (zh) 一种数据库数据同步方法、系统、设备及存储介质
KR102221350B1 (ko) 백업 데이터에 대한 신뢰성을 확보하면서도 블록체인 네트워크를 복구하는 딜레이드 동기화 방법 및 장치
US9747166B2 (en) Self healing cluster of a content management system
JP5432959B2 (ja) データ保持システム、データ保持装置及びデータ保持方法
JP2015162216A (ja) 分散処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200131

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200327

R150 Certificate of patent or registration of utility model

Ref document number: 6684367

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

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250