(57)【要約】  本願はデータ処理方法及びデバイスを開示する。この方法は：ユーザによって送信されるデータ更新リクエストを受信するステップと；データ更新リクエストに基づいてプライマリサーバと少なくとも２つのセカンダリサーバとへ別々にログ更新指示を送信するステップと；ログ更新操作が完了した、と特定されると、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信するステップと；を含む。データ更新リクエストが受信されると、ログ更新指示がプライマリサーバとセカンダリサーバとへ別々に送信でき、その結果、プライマリサーバとセカンダリサーバとはログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示が、プライマリサーバと、１つのセカンダリサーバとへ送信される。セカンダリサーバ内のデータが失われると、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、予め格納されたログを用いることによって失われたデータを復元でき、プライマリサーバと１つのセカンダリサーバだけがデータ更新を格納し、それによって、データ格納に必要なリソースを効果的に減らすことができる。
2019526106.tif 000002
【特許請求の範囲】
【請求項１】
データ処理方法であって、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え：
ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと；
前記プライマリサーバと前記少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップと；
前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するステップと；を備える、
データ処理方法。
【請求項２】
前記ログ更新操作が完了した、と特定されることは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ；を備える、
請求項１に記載のデータ処理方法。
【請求項３】
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信する前記ステップは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し；前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも２つのセカンダリサーバ内の前記少なくとも１つのサーバが前記ログ更新操作を完了した、と特定された後、前記データ格納指示を、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバへ送信するステップ；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に送信するステップ；を備える、
請求項２に記載のデータ処理方法。
【請求項４】
前記少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定するステップと；
前記第２のセカンダリサーバが前記ログ更新操作を完了した、と特定されると、ヌル操作指示を前記第２のセカンダリサーバへ送信するステップであって、前記ヌル操作指示は前記第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップと；を更に備える、
請求項１又は請求項３に記載のデータ処理方法。
【請求項５】
前記プライマリサーバ又は前記第１のセカンダリサーバが故障した、と特定されると、第３のセカンダリサーバを特定し、前記第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第３のセカンダリサーバへ送信するステップを更に備える、
請求項４に記載のデータ処理方法。
【請求項６】
前記第２のセカンダリサーバが故障した、と特定されると、第４のセカンダリサーバを特定し、前記第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第４のセカンダリサーバへ送信するステップを更に備える、
請求項４に記載のデータ処理方法。
【請求項７】
データ処理方法であって、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え：
ユーザによって送信されるデータ更新リクエストを、前記プライマリサーバによって受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと；
前記プライマリサーバによって、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも２つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するよう、前記ログ更新指示を前記少なくとも２つのセカンダリサーバへ送信するステップと；
前記ログ更新操作が完了した、と特定すると、前記プライマリサーバによってデータ格納操作を開始し、第１のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するよう、前記少なくとも２つのセカンダリサーバ内の前記第１のセカンダリサーバへ前記データ格納指示を送信するステップと；を備える、
データ処理方法。
【請求項８】
データ処理デバイスであって、前記デバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え、前記デバイスは、受信ユニットと送信ユニットとを備え；
前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を備え；
前記送信ユニットは、前記プライマリサーバと前記少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、前記データ更新リクエストに基づいて、前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するよう構成され；
前記ログ更新操作が完了した、と特定されると、前記送信ユニットは、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するよう構成される、
データ処理デバイス。
【請求項９】
前記送信ユニットが、前記ログ更新操作が完了した、と特定することは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定される、前記ログ更新操作が完了した、と特定すること；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定すること；を備える、
請求項８に記載のデータ処理デバイス。
【請求項１０】
前記送信ユニットが、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信することは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し；前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのサーバが前記ログ更新操作を完了した、と特定された後、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバへ、前記データ格納指示を送信すること；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に送信すること；を備える、
請求項９に記載のデータ処理デバイス。
【請求項１１】
特定ユニットを更に備え；
前記特定ユニットは、前記少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定し、前記第２のセカンダリサーバが前記ログ更新操作を完了した、と特定すると、ヌル操作指示を前記第２のセカンダリサーバへ送信するよう構成され、前記ヌル操作指示は、前記第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる、
請求項８又は請求項１０に記載のデータ処理デバイス。
【請求項１２】
前記プライマリサーバ又は前記第１のセカンダリサーバが故障した、と特定すると、前記特定ユニットは、第３のセカンダリサーバを特定し、前記第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第３のセカンダリサーバへ送信するよう構成される、
請求項１１に記載のデータ処理デバイス。
【請求項１３】
前記第２のセカンダリサーバが故障したと特定すると、前記特定ユニットは、第４のセカンダリサーバを特定し、前記第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第４のセカンダリサーバへ送信するよう構成される、
請求項１１に記載のデータ処理デバイス。
【請求項１４】
データ処理デバイスであって、前記デバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え、前記デバイスは、受信ユニットと送信ユニットとを備え；
前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を備え；
前記送信ユニットは、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも２つのセカンダリサーバがログ更新指示に基づいて前記ログ更新操作を実行するように、前記ログ更新指示を前記少なくとも２つのセカンダリサーバへ送信するよう構成され；
前記ログ更新操作が完了したと特定すると、前記送信ユニットは、データ格納操作を開始し、前記少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記第１のセカンダリサーバへ前記データ格納指示を送信するよう構成される、
データ処理デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１６年６月２０日出願の「データ処理方法及びデバイス」と題する中国特許出願第２０１６１０４４４３２０．５号に対する優先権を主張し、その全体を参照により本明細書に組み込む。
【０００２】
本願はコンピュータ技術の分野に関し、特に、データ処理方法及びデバイスに関する。
【背景技術】
【０００３】
分散型データ格納システムにおいて、１つのサーバはプライマリサーバとして機能し、別のサーバは従属サーバ（これ以降、セカンダリサーバと称する）として機能する。プライマリサーバは外部データ読取／書込サービスを提供できる。セカンダリサーバはプライマリサーバとのデータ同期を維持し、プライマリサーバが故障した場合には、セカンダリサーバが外部データ読取／書込サービスを提供できる。
【０００４】
通常、データを受信し、これを格納する場合、プライマリサーバは、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、セカンダリサーバ内にデータを同期させて格納できる。しかし、実際には、プライマリサーバとセカンダリサーバとの間には、データ同期における作動遅延が存在するため、セカンダリサーバ内の幾つかのデータが失われてしまうおそれがあり、これではプライマリサーバとセカンダリサーバとの間のデータ整合性を確保することができない。
【０００５】
プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、既存の技術では、プライマリサーバ内に格納されるデータを、セカンダリサーバに対して同期する場合、データを、複数のセカンダリサーバに対して同期させることができる。言い換えれば、プライマリサーバ内の複数のデータコピーを格納できる。１つのセカンダリサーバ内のデータが失われた（データ損失が発生した）場合、失われたデータは他のセカンダリサーバから取得できる。このため、プライマリサーバが故障した場合、複数のセカンダリサーバが外部データ読取／書込サービスを提供することができる。
【０００６】
しかし、プライマリサーバのデータコピーを複数格納する必要があるため、データの格納には、比較的多数のリソースが必要となる。
【発明の概要】
【０００７】
この点に鑑みて、本願の実施は、同じデータの複数のデータコピーを、分散型データ格納システムに格納する必要があることにより比較的多数のリソースがデータ格納に必要とされる問題を解決するために、データ処理方法及びデバイスを提供する。
【０００８】
本願の実施はデータ処理方法を提供し、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを含み：ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと；前記プライマリサーバと前記少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップと；前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するステップと；を含む。
【０００９】
本願の実施はデータ処理方法を提供し、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを含み：ユーザによって送信されるデータ更新リクエストを、前記プライマリサーバによって受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと；前記プライマリサーバによって、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも２つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するよう、前記ログ更新指示を前記少なくとも２つのセカンダリサーバへ別々に送信するステップと；前記ログ更新操作が完了した、と特定すると、前記プライマリサーバによってデータ格納操作を開始し、第１のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するよう、前記少なくとも２つのセカンダリサーバ内の前記第１のセカンダリサーバへ前記データ格納指示を送信するステップと；を含む。
【００１０】
本願の実施はデータ処理デバイスを提供し、このデバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを含み、前記デバイスは、受信ユニットと送信ユニットとを含む。前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を含み；前記送信ユニットは、前記プライマリサーバと前記少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、前記データ更新リクエストに基づいて、前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するよう構成され；前記ログ更新操作が完了した、と特定されると、前記送信ユニットは、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するよう構成される。
【００１１】
本願の実施はデータ処理デバイスを提供し、このデバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを含み、前記デバイスは、受信ユニットと送信ユニットとを含む。前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を含み；前記送信ユニットは、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも２つのセカンダリサーバがログ更新指示に基づいて前記ログ更新操作を実行するように、前記ログ更新指示を前記少なくとも２つのセカンダリサーバへ送信するよう構成され；前記ログ更新操作が完了したと特定すると、前記送信ユニットは、データ格納操作を開始し、前記少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記第１のセカンダリサーバへ前記データ格納指示を送信するよう構成される。
【００１２】
本願の実施において採用される前述の技術的解決のうちの少なくとも１つは、以下の有益な効果を奏することができる。すなわち、データ更新リクエストを受信すると、分散型データ格納システムは、プライマリサーバとセカンダリサーバとへ別々にログ更新指示を送信でき、その結果、プライマリサーバとセカンダリサーバとがログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示を、プライマリサーバと、セカンダリサーバのうちの１つとへ送信する。このため、セカンダリサーバ内のデータが失われた場合、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバとセカンダリサーバとに予め格納されたログを用いて、失われたデータを復元でき、プライマリサーバと１つのセカンダリサーバだけがデータ更新を格納し、それによってデータ格納に必要なリソースを減らすことができる。
【図面の簡単な説明】
【００１３】
ここで説明する添付図面は、本願の更なる理解を提供すること、及び本願の一部を構成することを意図している。本願の例示である実施及びその説明は、本願を説明することを意図しており、本願に対する限定を構成するものではない。
【００１４】
【図１】図１は、本願の実施に係る、データ処理方法を説明する概略フローチャートである。
【００１５】
【図２】図２は、本願の実施に係る、データ処理方法を説明する概略フローチャートである。
【００１６】
【図３】図３は、本願の実施に係る、プライマリサーバ特定手順を示す略図である。
【００１７】
【図４】図４は、本願の実施に係る、サーバトラブルシューティングを示す概略構成図である。
【００１８】
【図５】図５は、本願の実施に係る、サーバトラブルシューティングを示す概略構成図である。
【００１９】
【図６】図６は、本願の実施に係る、サーバトラブルシューティングを示す概略構成図である。
【００２０】
【図７】図７は、本願の実施に係る、ローカル機器室内のサーバ及びリモート機器室内のサーバの概略構成図である。
【００２１】
【図８】図８は、本願の実施に係る、データ処理デバイスを示す概略構成図である。
【００２２】
【図９】図９は、本願の実施に係る、データ処理デバイスを示す概略構成図である。
【発明を実施するための形態】
【００２３】
通常、分散型データベース格納システムでは、データ更新（アップデート）を受信し、これを格納する場合、プライマリサーバは、セカンダリサーバ内に、データ更新を同期させて格納できる。しかし、実際には、プライマリサーバとセカンダリサーバとが異なる場所に位置するなどの理由で、プライマリサーバとセカンダリサーバとの間のデータの同期には遅延が生ずる。言い換えれば、プライマリサーバがデータ更新の格納を完了しても、セカンダリサーバはデータ更新の格納が未完である。このため、プライマリサーバが故障した場合、セカンダリサーバはいくらかのデータを失うおそれがある。
【００２４】
既存の技術において、セカンダリサーバがデータを失わないようにするために（具体的には、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために）、プライマリサーバ内のデータを、複数の（少なくとも２つの）セカンダリサーバに対して同期させることができる。しかし、元の分散型データ格納システムに比べ、比較的多数のデータコピーを格納する必要があるため、それはリソースの浪費を引き起こしやすくする原因となる。
【００２５】
実際には、システムの安全性のために、データ更新を格納する前に、プライマリサーバ（又はセカンダリサーバ）は、先ずログ更新を行う必要があり、次に、プライマリサーバ（又はセカンダリサーバ）がデータ更新を格納する。このため、プライマリサーバ（又はセカンダリサーバ）に格納されているデータとログとの間の整合性を確保できる。プライマリサーバ（又はセカンダリサーバ）がデータの格納に失敗した場合、予め格納されたログを用いることによってデータを復元できる。
【００２６】
分散型データ格納システムでは、プライマリサーバがデータ更新を同期させる前に、プライマリサーバ及びセカンダリサーバが、先ずログ更新を行ってから、データ更新を行って、セカンダリサーバに格納されたデータが失われた場合、失われたデータは、予め格納されたログを用いて復元できることが分かる。このため、プライマリサーバとセカンダリサーバとの間のログ整合性により、プライマリサーバとセカンダリサーバとの間のデータ整合性は確保され、その結果、データを格納する際の、データ更新のコピー数を減らすことができる。
【００２７】
先に述べた概念に基づき、本願のこの実施で提供される技術的解決において、データのコピー数を、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保しながら減らすことができ、それによってデータ格納に必要なリソースを減らすことができる。
【００２８】
本願の目的を達成するため、本願の実施はデータ処理方法及びデバイスを提供する。この方法は分散型データ格納システムに適用され、分散型データ格納システムは、プライマリサーバと、少なくとも２つのセカンダリサーバとを含む。この方法は：ユーザによって送信されるデータ更新リクエストを受信するステップであって、データ更新リクエストは、データ更新を含む、ステップと；プライマリサーバと少なくとも２つのセカンダリサーバとが、ログ更新指示に基づいてログ更新操作を行うように、データ更新リクエストに基づいてプライマリサーバと少なくとも２つのセカンダリサーバとへ別々にログ更新指示を送信するステップと；ログ更新操作が完了した、と特定されると、プライマリサーバと第１のセカンダリサーバとが、データ格納指示に基づいてデータ更新に関して格納操作を行うように、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信するステップと；を含む。
【００２９】
データ更新リクエストを受信すると、分散型データ格納システムは、プライマリサーバとセカンダリサーバとへ別々にログ更新指示を送信でき、その結果、プライマリサーバとセカンダリサーバとがログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示を、プライマリサーバと１つのセカンダリサーバとへ送信する。このため、セカンダリサーバ内のデータが失われた場合、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバとセカンダリサーバとに予め格納されたログを用いて、失われたデータを復元でき、プライマリサーバ及び１つのセカンダリサーバだけがデータ更新を格納し、それによって、データ格納に必要なリソースを効果的に減らすことができる。
【００３０】
本願のこの実施において提供される技術的解決策は分散整合性プロトコルに基づくことができ、分散整合性プロトコルに基づいて分散型データ格納システムに適用できることは特に留意すべき事項である。分散整合性プロトコルは、Ｐａｘｏｓプロトコル他の整合性プロトコルであってもよく、限定されない。
【００３１】
分散整合性プロトコルに基づく分散型データ格納システムは、プライマリサーバと、少なくとも２つのセカンダリサーバとを含むことができる。プライマリサーバは外部データ読取／書込サービスを提供するよう構成することができ、プライマリサーバが故障した後、少なくとも２つのセカンダリサーバが外部データ読取／書込サービスを提供できる。
【００３２】
本願の特定の実施及び対応する添付図面を参照して、本願における技術的解決を明確且つ包括的に以下説明する。明らかなことは、説明する実施は、本願の実施の全てではなく、そのいくつかに過ぎないことである。本願の実施に基づいて創造的な努力なく当業者によって得られる他の実施は、本願の保護範囲に含まれる。
【００３３】
本願の実施において提供される技術的解決を、添付図面を参照して以下詳細に説明する。
【００３４】
（第１の実施）
図１は、本願の実施に係るデータ処理方法を説明する概略フローチャートである。この方法を以下説明する。本願のこの実施における実行主体は、分散整合性プロトコルに基づく分散型データ格納システムとすることができる（以降、分散型データ格納システムと称する）。
【００３５】
ステップ１０１：ユーザによって送信されるデータ更新リクエストを受信する。
【００３６】
データ更新リクエストはデータ更新を含む。
【００３７】
ステップ１０１において、サービスリクエストを開始し、応答メッセージを受信した後、ユーザはデータ更新リクエストを分散型データ格納システムへ送信できる。このとき、分散型データ格納システムはユーザによって送信されたデータ更新リクエストを受信できる。
【００３８】
本願のこの実施において、ユーザによって開始されるサービスリクエストは、決済リクエスト、友達追加リクエスト、又は別のサービスリクエストであってもよく、ここでは限定しない。
【００３９】
ユーザはデータ更新リクエストを分散型データ格納システムへ送信し、データ更新リクエストはデータ更新を含むことができ、データ更新リクエストは分散型データ格納システムにデータ更新を格納するよう要求するために用いられる。
【００４０】
例えば、ユーザは決済プラットフォーム上で決済リクエストを開始し、決済プラットフォームはユーザによって送信された決済リクエストに応答でき、応答メッセージを受信した後、ユーザはデータ更新リクエストを分散型データ格納システムへ送信できる。データ更新リクエストは、決済リクエストに関する更新すべきデータを含み、データ更新リクエストは、決済リクエストに関する更新すべきデータを格納するよう分散型データ格納システムに要求するために用いられる。
【００４１】
ステップ１０２：プライマリサーバと少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うように、データ更新リクエストに基づいてプライマリサーバと少なくとも２つのセカンダリサーバとへ別々にログ更新指示を送信する。
【００４２】
ステップ１０２において、ユーザによって送信されたデータ更新リクエストを受信すると、プライマリサーバと少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うように、分散型データ格納システムが、データリクエストに基づいて、分散型データ格納システム内のプライマリサーバと少なくとも２つのセカンダリサーバとへ別々にログ更新指示を送信できる。
【００４３】
実際には、分散型データ格納システムがデータ更新リクエストを受信する前に、すなわち、分散型データ格納システムに格納されているデータが空である場合に、分散型データ格納システムはプライマリサーバを特定する必要があり、ここで特定されたプライマリサーバが外部データ読取／書込サービスを提供することは特に留意すべき事項である。
【００４４】
プライマリサーバは、ランダム規則に基づいて、分散型データ格納システムによって特定されてもよい、又は、プライマリサーバは、分散型データ格納システム内に含まれる複数のサーバからの選出（ここでの選出は、分散整合性プロトコルに基づいて複数のサーバにより取り行われる選出であってよい）で特定されてもよい、若しくは、分散型データ格納システム内の１つのサーバは、実際の事例に基づいてプライマリサーバとして選択されてもよい。プライマリサーバを特定する方法はここでは限定されない。
【００４５】
プライマリサーバが特定された後、分散型データ格納システム内の別のサーバが、セカンダリサーバとしての機能を果たすことができる。本願のこの実施では、少なくとも２つのセカンダリサーバが存在する。
【００４６】
プライマリサーバ及びセカンダリサーバを特定した後、分散型データ格納システムは、データ更新指示を受信すると、ログ更新指示をプライマリサーバへ送信でき、その結果、プライマリサーバは、ログ更新指示に基づいてログ更新操作を実行する。
【００４７】
ログ更新指示をプライマリサーバへ送信する場合、分散型データ格納システムは、ログ更新指示を少なくとも２つのセカンダリサーバへ同期して送信でき、その結果、少なくとも２つのセカンダリサーバは、ログ更新指示に基づいてログ更新操作を実行する。
【００４８】
ログ更新指示を少なくとも２つのセカンダリサーバへ送信する場合は、ログ更新指示を、少なくとも２つのセカンダリサーバのそれぞれへ送信でき、又は、いくつかの（少なくとも２つの）セカンダリサーバが少なくとも２つのセカンダリサーバから選択でき、ログ更新指示を、いくつかの選択されたセカンダリサーバへ送信することは特に留意すべき事項であるが、これに限定されない。
【００４９】
例えば、分散型データ格納システムが２つのセカンダリサーバを含む場合は、ログ更新指示を２つのセカンダリサーバへ別々に送信できる、又は、分散型データ格納システムが４つのセカンダリサーバを含む場合は、ログ更新指示をセカンダリサーバのうちの２つ、セカンダリサーバのうちの任意の３つ、若しくは、４つのセカンダリサーバ全てへ別々に送信でき、これに限定されない。
【００５０】
本願のこの実施では、説明例として、ログ更新指示を、少なくとも２つのセカンダリサーバのそれぞれへ送信できるとする。
【００５１】
ログ更新指示を受信すると、プライマリサーバと少なくとも２つのセカンダリサーバとは、ログ更新指示に基づいてログ更新操作を実行できる。
【００５２】
ステップ１０３：ログ更新操作が完了された、と特定されると、プライマリサーバと第１のセカンダリサーバとが、データ格納指示に基づいてデータ更新に関する格納操作を実行するよう、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信する。
【００５３】
ステップ１０３において、ログ更新操作が完了された、と特定されると、分散型データ格納システムは、少なくとも２つのセカンダリサーバのうちの１つを第１のセカンダリサーバとして選択し、プライマリサーバと第１のセカンダリサーバとへ別々にデータ格納指示を送信でき、その結果、プライマリサーバと第１のセカンダリサーバとがデータ更新の格納操作を実行する。
【００５４】
本願のこの実施では、少なくとも以下の２つの事例において、ログ更新操作が完了した、と特定できる。この２つの事例は以下の通りである。
【００５５】
第１の事例：プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定される。
【００５６】
第２の事例：プライマリサーバと、少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定される。
【００５７】
第１の事例において、実際には、プライマリサーバが外部データ読取／書込サービスを提供するよう構成されているため、ログ更新操作が完了したかどうかを特定する場合、分散型データ格納システムは、最初に、プライマリサーバがログ更新操作を完了したかどうかを特定する必要があり、プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定できる。
【００５８】
第２の事例において、プライマリサーバとセカンダリサーバとの間のログ整合性を確保するため、プライマリサーバがログ更新操作を完了した、と特定された後、更に、少なくとも２つのセカンダリサーバがログ更新操作を完了したかどうかを特定できる。このとき、少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバがログ更新操作を完了すれば、それはプライマリサーバとセカンダリサーバとの間のログの整合を示す。言い換えれば、ログ更新操作は完了した、と特定できる。
【００５９】
このため、ログ更新操作が完了した、と特定された後、少なくとも２つのセカンダリサーバのうちの１つを、第１のセカンダリサーバとして選択でき、データ格納指示がプライマリサーバと第１のセカンダリサーバとへ別々に送信され、その結果、プライマリサーバと第１のセカンダリサーバとがデータ更新に関する格納操作を実行する。
【００６０】
本願のこの実施において、データ格納指示は、前記２つの事例に基づいて、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々に送信できる。
【００６１】
第１の事例において、データ格納指示はプライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々に送信される。これは、プライマリサーバがログ更新操作を完了した、と特定されると、データ格納指示をプライマリサーバへ送信するステップと、データ格納指示がプライマリサーバへ送信され、且つ、少なくとも２つのセカンダリサーバのうちの少なくとも１つのサーバがログ更新操作を完了した、と特定された後、データ格納指示を、少なくとも２つのセカンダリサーバうちの第１のセカンダリサーバへ送信するステップとを含む。
【００６２】
プライマリサーバがログ更新操作を完了した、と特定されると、データ格納指示をプライマリサーバへ送信でき、プライマリサーバはデータ格納指示を受信し、データ格納指示に基づいてデータ更新に関する格納操作を実行できる。
【００６３】
このとき、少なくとも２つのセカンダリサーバがログ更新操作を完了したかどうかを更に特定できる。少なくとも１つのセカンダリサーバがログ更新操作を完了した場合、少なくとも２つのセカンダリサーバのうちの１つを、第１のセカンダリサーバとして選択でき、データ格納指示が第１のセカンダリサーバへ送信される。
【００６４】
第２の事例において、データ格納指示はプライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々に送信される。これは、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとが、ログ更新操作を完了した、と特定されると、データ格納指示をプライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々に送信するステップを含む。
【００６５】
プライマリサーバと、少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとがログ更新操作を完了した、と特定されると、少なくとも２つのセカンダリサーバのうちの１つを、第１のセカンダリサーバとして選択でき、データ格納指示が、プライマリサーバと第１のセカンダリサーバとへ別々に送信される。
【００６６】
先に説明した２つの事例において、少なくとも２つのセカンダリサーバのうちの１つが第１のセカンダリサーバとして選択される場合、１つのセカンダリサーバは、ログ更新操作指示を受信するサーバから第１のセカンダリサーバとしてランダムに選択できる、又は、１つのセカンダリサーバは、実際の事例に基づいて第１のセカンダリサーバとして選択できることは特に留意すべき事項であるが、これに限定されない。
【００６７】
分散型データ格納システムが、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信した後、プライマリサーバと第１のセカンダリサーバとは、データ格納指示を受信し、データ格納指示に基づいて、データ更新に関する格納操作を実行できる。
【００６８】
実際には、データ更新に関する格納操作を実行しない、分散型データ格納システム内の幾つかのセカンダリサーバを予め特定しておくことができる。このため、データ更新リクエストを受信する場合、分散型データ格納システムは、それらの特定されたセカンダリサーバへはデータ格納指示を送信できない。
【００６９】
任意ではあるが、この方法は、更に、少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定するステップと、第２のセカンダリサーバがログ更新操作を完了した、と特定されると、ヌル（ｎｕｌｌ）操作指示を第２のセカンダリサーバへ送信するステップであって、ヌル操作指示は第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップとを含む。
【００７０】
本願のこの実施において、送信の際、ログ更新指示を少なくとも２つのセカンダリサーバへ別々に送信できる。しかし、ログ更新操作が完了した、と特定されると、データ格納指示は、少なくとも２つのセカンダリサーバのうちの１つへ送信される。したがって、第２のセカンダリサーバは少なくとも２つのセカンダリサーバから特定されてもよく、第２のセカンダリサーバがログ更新操作を完了した、と特定されると、ヌル操作指示が第２のセカンダリサーバへ送信され、その結果、第２のセカンダリサーバは何の操作も行わない。言い換えれば、第２のセカンダリサーバはデータ更新を格納しない。したがって、データ更新のコピー数を減らすことができる。
【００７１】
第２のセカンダリサーバにおける「第２」、及び、先に述べた第１のセカンダリサーバにおける「第１」は、単に、異なるセカンダリサーバ同士を区別するための用語に過ぎず、何らかの他の特別な意味を持ってはいない。
【００７２】
本願のこの実施において、特定の際、第２のセカンダリサーバは、プライマリサーバが特定される間に特定されてもよい、又は、第２のセカンダリサーバは、ログ更新指示が送信される間に特定されてもよい、又は、第２のセカンダリサーバは、データ格納指示が送信される間に特定されてもよく、これに限定されない。
【００７３】
このため、少なくとも２つのセカンダリサーバは、１つの第１のセカンダリサーバと、少なくとも１つの第２のセカンダリサーバとを含むことができる。例えば、分散型データ格納システムが２つのセカンダリサーバを含む場合、１つの第１のセカンダリサーバと、１つの第２のセカンダリサーバとが含まれる、又は、分散型データ格納システムが３つのセカンダリサーバを含む場合、１つの第１のセカンダリサーバと、２つの第２のセカンダリサーバとが含まれる。
【００７４】
データ格納指示を送信する場合、分散型データ格納システムはデータ格納指示をプライマリサーバ及び第１のセカンダリサーバへのみ送信する。このため、プライマリサーバ及び第１のセカンダリサーバがデータ更新を格納し、第２のセカンダリサーバはデータ更新を格納せず、それによりデータ格納に必要なリソースは減る。
【００７５】
加えて、本願のこの実施において、分散型データ格納システム内のいずれかのサーバ（プライマリサーバ又はセカンダリサーバ）が故障した場合、分散型データ格納システムは、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保しながら、外部データ読取／書込サービスを提供できる。
【００７６】
分散型データ格納システムには、少なくとも以下のいくつかの故障事例がある。
【００７７】
第１の故障事例：プライマリサーバが故障する。
【００７８】
第２の故障事例：第１のセカンダリサーバが故障する。
【００７９】
第３の故障事例：第２のセカンダリサーバが故障する。
【００８０】
前記３つの故障事例に特有のものとして、分散型データ格納システムがデータ整合性を確保しながら外部データサービスを提供する方法を、別々に以下説明する。
【００８１】
第１の故障事例及び第２の故障事例において、分散型データ格納システムは、以下の操作を実行する。すなわち、プライマリサーバ又は第１のセカンダリサーバが故障した、と特定されると、第３のセカンダリサーバを特定し、第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、データ同期指示を第３のセカンダリサーバへ送信する操作を実行する。
【００８２】
第１の故障事例において、詳細は以下の通りである。
【００８３】
プライマリサーバが故障した、と特定された場合、第１のセカンダリサーバがデータを格納するため、この第１のセカンダリサーバが新しいプライマリサーバとしての機能を果たすことができ、第１のセカンダリサーバは外部データ読取／書込サービスを提供する。このとき、プライマリサーバに比して、第１のセカンダリサーバにおいてデータが失われた場合、失われたデータは、第１のセカンダリサーバに格納されているログ及び／又は第２のセカンダリサーバに格納されているログを用いて復元できる。
【００８４】
加えて、第１のセカンダリサーバに格納されたデータは、更に、バックアップされる必要がある。したがって、第３のセカンダリサーバを特定する必要があり、第１のセカンダリサーバに格納されたデータがバックアップされる。
【００８５】
第３のセカンダリサーバを特定する場合、１つのセカンダリサーバを、第３のセカンダリサーバとして、少なくとも２つのセカンダリサーバに含まれる他のセカンダリサーバから選択でき、又は、新しいサーバを、第３のセカンダリサーバとして特定でき、これに限定されない。
【００８６】
第３のセカンダリサーバが特定された後、データ同期指示を、第３のサーバへ送信でき、その結果、第３のセカンダリサーバは、データ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了する。ここで、故障しておらずデータを格納しているサーバは、第１のセカンダリサーバであってもよく、第３のセカンダリサーバは、第１のセカンダリサーバとのデータ同期を完了する。
【００８７】
第３のセカンダリサーバにおける「第３」は、第１のセカンダリサーバ及び第２のセカンダリサーバと区別するための用語であり、他に特別な意味を有しないことは特に留意すべき事項である。
【００８８】
オプションであるが、分散整合性プロトコルに基づいて、第１のセカンダリサーバ、第２のセカンダリサーバ、及び第３のセカンダリサーバ間のログ整合性を確保するため、第３のセカンダリサーバが第１のセカンダリサーバに格納されたログに基づいてログ同期操作を実行するように、ログ同期指示を、更に、第３のセカンダリサーバへ送信してもよい。
【００８９】
第２の故障事例において、詳細は以下の通りである。
【００９０】
第１のセカンダリサーバが故障した、と特定される場合、プライマリサーバはそれにもかかわらず外部データサービスを提供できる。しかし、第１のセカンダリサーバが故障しているため、新しいセカンダリサーバが特定される必要があり、プライマリサーバに格納されたデータがバックアップされる。
【００９１】
新しいセカンダリサーバを特定するための方法は、第３のセカンダリサーバを特定するための先に説明した方法と同じである。その詳細は簡略化のためここでは省略する。
【００９２】
新しいセカンダリサーバが特定された後、新しいセカンダリサーバへデータ同期指示を送信でき、その結果、新しいセカンダリサーバは、データ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了する。ここで、故障しておらずデータを格納しているサーバは、プライマリサーバであってもよく、新しいセカンダリサーバは、プライマリサーバとのデータ同期を完了する。
【００９３】
オプションであるが、分散整合性プロトコルに基づいて、プライマリサーバ、第２のセカンダリサーバ、及び新しいセカンダリサーバ間のログ整合性を確保するため、新しいセカンダリサーバがプライマリサーバに格納されたログに基づいてログ同期操作を実行するように、ログ同期指示を、更に、新しいセカンダリサーバへ送信できる。
【００９４】
第３の故障事例において、第２のセカンダリサーバが故障した、と特定された場合、第４のセカンダリサーバを特定し、第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、ログ同期指示を第４のセカンダリサーバへ送信する。
【００９５】
第２のセカンダリサーバが故障した、と特定された場合、プライマリサーバはそれにもかかわらず外部データ読取／書込サービスを提供でき、第１のセカンダリサーバは、プライマリサーバに格納されているデータをバックアップすることができる。しかし、このとき、分散整合性プロトコルに基づいてプライマリサーバと第１のセカンダリサーバとの間のログ整合性を確保するため、第４のセカンダリサーバを特定する必要がある。
【００９６】
第４のセカンダリサーバを特定する方法は、第３のセカンダリサーバを特定するための先に説明した方法と同じである。詳細は簡略化のためここでは省略する。
【００９７】
第４のセカンダリサーバが特定された後、第４のセカンダリサーバへログ同期指示を送信でき、その結果、ログ同期指示を受信した後、第４のセカンダリサーバはログ同期指示に基づいて、故障していないサーバとのログ同期を完了する。
【００９８】
本明細書中、故障していないサーバは、第２のセカンダリサーバ以外の別のサーバであってもよい、又は、プライマリサーバ、第１のセカンダリサーバ、若しくはログ更新操作を完了している別のサーバであってもよく、限定されない。
【００９９】
第４のセカンダリサーバにおける「第４」は、第１のセカンダリサーバ、第２のセカンダリサーバ、及び第３のセカンダリサーバと区別するための用語であり、他の特別な意味はない。
【０１００】
第２のセカンダリサーバは何らのデータも格納していないため、第４のセカンダリサーバが特定された後、何らのデータ同期指示も第４のセカンダリサーバへ送信する必要はない。
【０１０１】
本願のこの実施で提供される技術的解決において、データ更新リクエストが受信されると、プライマリサーバとセカンダリサーバとへログ更新指示を別々に送信でき、その結果、プライマリサーバとセカンダリサーバとがログ更新操作を行い、ログ更新操作が完了した、と特定されると、データ格納指示がプライマリサーバと１つのセカンダリサーバへ送信される。このため、セカンダリサーバ内のデータが失われた場合、プライマリサーバとセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバとセカンダリサーバとに予め格納されたログを用いて、失われたデータを復元でき、プライマリサーバ及び１つのセカンダリサーバのみがデータ更新を格納し、それによって、データ格納に必要なリソースを効果的に減らせる。
【０１０２】
（第２の実施）
図２は、本願の実施に係るデータ処理方法を説明する概略フローチャートである。この方法を以下説明する。本願のこの実施の実行主体は、整合性プロトコルに基づく分散型データ格納システム内のプライマリサーバであってもよい。
【０１０３】
ステップ２０１：プライマリサーバが、ユーザによって送信されるデータ更新リクエストを受信する。
【０１０４】
データ更新リクエストはデータ更新を含む。
【０１０５】
ステップ２０１において、サービスリクエストを開始し、応答メッセージを受信した後、ユーザは、データ更新リクエストを分散型データ格納システム内のプライマリサーバへ送信できる。このとき、分散型データ格納システム内のプライマリサーバはユーザによって送信されたデータ更新リクエストを受信できる。
【０１０６】
本願のこの実施において、プライマリサーバは、分散型データ格納システムに格納されたデータが空である場合に特定される。プライマリサーバを特定する方法は、先の実施１において説明した方法と同じである。詳細は簡略化のためここでは省略する。
【０１０７】
ステップ２０２：プライマリサーバが、データ更新リクエストに基づいてログ更新操作を開始し、少なくとも２つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するように、ログ更新指示を、少なくとも２つのセカンダリサーバへ送信する。
【０１０８】
ステップ２０２において、ユーザによって送信されたデータ更新リクエストを受信すると、プライマリサーバは、ログ更新操作を開始し、データリクエストに基づいて分散型データ格納システム内の少なくとも２つのセカンダリサーバへログ更新指示を送信でき、その結果、少なくとも２つのセカンダリサーバはログ更新指示に基づいてログ更新操作を実行する。
【０１０９】
データ更新リクエストを受信すると、プライマリサーバは、データ更新リクエストに基づいてログ更新操作を開始し、更に、データ更新リクエストに基づいて少なくとも２つのセカンダリサーバへログ更新指示を送信でき、又は、データ更新リクエストを受信すると、プライマリサーバは、データ更新リクエストに基づいて少なくとも２つのセカンダリサーバへログ更新指示を送信し、更に、データ更新リクエストに基づいてログ更新操作を開始でき、これに限定されない。
【０１１０】
プライマリサーバがログ更新指示を少なくとも２つのセカンダリサーバへ送信した後、少なくとも２つのセカンダリサーバは、ログ更新指示を受信し、ログ更新指示に基づいてログ更新操作を実行できる。
【０１１１】
ステップ２０３：ログ更新操作が完了した、と特定されると、プライマリサーバは、データ格納操作を開始し、第１のセカンダリサーバがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、少なくとも２つのセカンダリサーバ内の第１のセカンダリサーバへデータ格納指示を送信する。
【０１１２】
ステップ２０３において、ログ更新操作が完了した、と特定されると、プライマリサーバは、データ格納操作を開始し、少なくとも２つのセカンダリサーバのうちの１つを第１のセカンダリサーバとして選択し、データ格納指示を第１のセカンダリサーバへ送信でき、その結果、プライマリサーバ及び第１のセカンダリサーバはデータ更新を格納する。
【０１１３】
プライマリサーバは、少なくとも以下の２つの事例において、ログ更新操作が完了した、と特定できる。２つの事例は以下の通りである。
【０１１４】
第１の事例：プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作が完了した、と特定される。
【０１１５】
第２の事例：プライマリサーバと、少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとがログ更新操作を完了した、と特定されると、ログ更新操作が完了した、と特定される。
【０１１６】
ログ更新操作を完了した、と特定された後、プライマリサーバは、プライマリサーバが外部データ読取／書込サービスを提供するように、データ格納操作を開始できる。このとき、プライマリサーバは、更に、少なくとも２つのセカンダリサーバのうちの１つを、第１のセカンダリサーバとして選択し、データ格納指示を、第１のセカンダリサーバへ送信でき、その結果、第１のセカンダリサーバは、データ格納指示に基づいて、データ更新に関するデータ格納操作を実行する。
【０１１７】
プライマリサーバは、データ格納指示を送信する前にデータ格納操作を開始でき、又は、データ格納指示を送信した後にデータ格納操作を開始でき、これに限定されない。
【０１１８】
このため、データ更新リクエストを受信した後、プライマリサーバは、ログ更新指示を、第１のセカンダリサーバ及び第２のセカンダリサーバへ送信でき、ログ更新操作が完了した、と特定されると、プライマリサーバは、データ格納操作を実行し、データ格納指示を第１のセカンダリサーバへ送信する。このため、第１のセカンダリサーバ内のデータが失われた場合、失われたデータは、プライマリサーバと第１のセカンダリサーバとの間のデータ整合性を確保するために、プライマリサーバに予め格納されているログ、及び／又は、第１のセカンダリサーバに予め格納されているログ、及び／又は、第２のセカンダリサーバに予め格納されているログに基づいて復元できる。加えて、プライマリサーバ及び第１のセカンダリサーバのみがデータ更新を格納し、それにより、データ格納に必要なリソースを減らすことができる。
【０１１９】
（第３の実施）
分散型データ格納システムは３つのサーバ（１つのプライマリサーバ及び２つのセカンダリサーバ）を含み、これを、本願のこの実施において提供される技術的解決策の説明例として以下用いる。本願のこの実施の実行主体は、プライマリサーバであってもよい。
【０１２０】
ステップ１：分散型データ格納システムから、プライマリサーバ、第１のセカンダリサーバ、及び第２のセカンダリサーバを特定する。
【０１２１】
分散型データ格納システムに格納されているデータが空である場合、プライマリサーバ及び２つのセカンダリサーバを、分散型データ格納システムから特定できる。区別し易くするために、２つのセカンダリサーバを、それぞれ、第１のセカンダリサーバ及び第２のセカンダリサーバと称する。
【０１２２】
本願のこの実施において、プライマリサーバはデータ更新を格納し、外部データ読取／書込サービスを提供できる。第１のセカンダリサーバはデータ更新を格納でき、第２のセカンダリサーバはデータ更新を格納しない。
【０１２３】
本願のこの実施において、プライマリサーバ、第１のセカンダリサーバ及び第２のセカンダリサーバを特定する順序は制限されない。
【０１２４】
第２のセカンダリサーバ、プライマリサーバ及び第１のセカンダリサーバの特定順序を説明の例として以下用いる。
【０１２５】
最初に、第２のセカンダリサーバが特定される。
【０１２６】
特定の際、第２のセカンダリサーバは、分散型データ格納システムに含まれる３つのサーバによってなされる選出方法で、分散整合性プロトコル、すなわち、Ｐａｘｏｓプロトコルに基づいて特定されてもよい。
【０１２７】
第２のセカンダリサーバが特定されると、１つのサーバが第２のセカンダリサーバとしてランダムに選択されてもよい、又は、第２のセカンダリサーバが実際の事例に基づいて特定される。ここでは、第２のセカンダリサーバを特定するための方法は限定されない。
【０１２８】
第２に、プライマリサーバが特定される。
【０１２９】
第２のセカンダリサーバが特定された後、第２のセカンダリサーバ及び分散型データ格納システム内の残りの２つのサーバによって行われる選出方法で、分散整合性プロトコル、すなわち、Ｐａｘｏｓプロトコルに基づいてプライマリサーバを特定できる。
【０１３０】
プライマリサーバが選出方法で特定される場合、第２のセカンダリサーバと他の２つのサーバのどちらも、プライマリサーバとして第２のセカンダリサーバを選ぶことはできないことは特に留意すべき事項である。
【０１３１】
図３を参照すると、図３は、本願の実施に係るプライマリサーバ特定手順を示す概略図である。
【０１３２】
第２のセカンダリサーバＣが選出方法で特定された後、サーバＡ、サーバＢ、及び第２のセカンダリサーバＣは、選出方法でプライマリサーバを特定できることが、図３から分かる。サーバＡは、サーバＡ又はサーバＢをプライマリサーバとして選ぶことができるが、第２のセカンダリサーバＣをプライマリサーバとして選ぶことはできない。サーバＢは、サーバＢ又はサーバＡをプライマリサーバとして選ぶことができるが、第２のセカンダリサーバＣをプライマリサーバとして選ぶことはできない。第２のセカンダリサーバＣは、第２のセカンダリサーバＣをプライマリサーバとして選ぶことはできないが、サーバＡ又はサーバＢをプライマリサーバとして選ぶことができる。
【０１３３】
プライマリサーバを特定する場合、第２のセカンダリサーバ以外の２つのサーバのうちの１つは、プライマリサーバをランダムに選択でき、又は、１つのサーバが実際の事例に基づいてプライマリサーバを選択でき、これに限定されない。
【０１３４】
最後に、第１のセカンダリサーバが特定される。
【０１３５】
第２のセカンダリサーバ及びプライマリサーバが分散型データ格納システムに含まれる３つのサーバから特定された後、残りのサーバが第１のセカンダリサーバとしての機能を果たすことができる。
【０１３６】
ステップ２：プライマリサーバは、ユーザによって送信されたデータ更新リクエストを受信する。
【０１３７】
データ更新リクエストはデータ更新を含む。
【０１３８】
ステップ３：プライマリサーバは、第１のセカンダリサーバと第２のセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、ログ更新指示を、第１のセカンダリサーバと第２のセカンダリサーバとへ送信する。
【０１３９】
プライマリサーバがログ更新指示を第１のセカンダリサーバと第２のセカンダリサーバとへ送信した後、第１のセカンダリサーバと第２のセカンダリサーバとがログ更新指示を受信できる。このとき、プライマリサーバ、第１のセカンダリサーバ、及び第２のセカンダリサーバは、分散整合性プロトコル、すなわち、Ｐａｘｏｓプロトコルに基づいてログ更新を実行できる。プライマリサーバと、第１のセカンダリサーバと、第２のセカンダリサーバとのうちの少なくとも１つがログ更新操作を完了した、と特定されると、ログ更新操作は完了した、と特定される。
【０１４０】
ステップ４：第１のセカンダリサーバがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、プライマリサーバが、データ格納指示を第１のセカンダリサーバへ送信する。
【０１４１】
ログ更新操作が完了した、と特定すると、プライマリサーバは、データ更新に関する格納操作を実行し、データ格納指示を第１のセカンダリサーバへ送信できる。第１のセカンダリサーバはデータ格納指示を受信できる。このとき、第１のセカンダリサーバがログ更新操作を完了していれば、第１のセカンダリサーバはデータ格納指示に基づいてデータ更新に関する格納操作を実行できる、又は、第１のセカンダリサーバがログ更新操作を完了していなければ、第１のセカンダリサーバは引き続きログ更新操作を実行する必要があり、ログ更新操作を完了した場合、第１のセカンダリサーバは、受信されたデータ格納指示に基づいてデータ更新に関する格納操作を実行できる。
【０１４２】
このため、データ更新リクエストを受信すると、プライマリサーバは、ログ更新指示を第１のセカンダリサーバと第２のセカンダリサーバとへ送信でき、ログ更新操作が完了した、と特定すると、プライマリサーバは、データ格納操作を実行し、データ格納指示を第１のセカンダリサーバへ送信する。このため、プライマリサーバと第１のセカンダリサーバのみがデータ更新を格納し、それによって、データ格納に必要なリソースを減らす。
【０１４３】
本願のこの実施において、プライマリサーバと、第１のセカンダリサーバと、第２のセカンダリサーバとのうちのいずれか１つが故障した場合、分散型データ格納システムは、データ整合性を確保しながら、外部データ読取／書込サービスを提供できる。
【０１４４】
プライマリサーバが故障した場合の詳細は以下の通りである。
【０１４５】
図４に示すように、プライマリサーバが故障すると、プライマリサーバは、ユーザのための読取／書込サービスの提供を続けることができないが、このとき、第１のセカンダリサーバＢを、新しいプライマリサーバとして特定でき、サーバＤを新しい第１のセカンダリサーバとして特定できる。第１のセカンダリサーバＢは、ユーザのためにデータ読取／書込サービスを提供し、第２のセカンダリサーバＣとのログ同期を維持できる。サーバＤは第１のセカンダリサーバＢから複製を介しデータコピーを取得して第１のセカンダリサーバＢとのデータ同期を行い、サーバＤはログ同期操作を実行して第１のセカンダリサーバＢとのログ同期を行う。
【０１４６】
第１のセカンダリサーバが故障した場合の詳細は以下の通りである。
【０１４７】
図５に示すように、第１のセカンダリサーバが故障すると、プライマリサーバＡは、ユーザのためのデータ読取／書込サービスの提供を続けることができるが、このとき、サーバＥを、新しい第１のセカンダリサーバとして特定できる。サーバＥは、プライマリサーバＡから複製を介しデータコピーを取得してプライマリサーバＡとのデータ同期を行い、サーバＥはログ同期操作を実行してプライマリサーバＡとのログ同期を行う。
【０１４８】
第２のセカンダリサーバが故障した場合の詳細は以下の通りである。
【０１４９】
図６に示すように、第２のセカンダリサーバが故障すると、プライマリサーバＡはユーザのためのデータ読取／書込サービスの提供を続けることができ、このとき、サーバＦを、新しい第２のセカンダリサーバとして特定でき、サーバＦはログ同期操作を実行してプライマリサーバＡとのログ同期を行う。
【０１５０】
実際には、リモート分散型データ格納システムが存在していてもよい。言い換えれば、同じデータに対して、データコピーのローカル格納に加えて、データコピーのリモート格納が、分散型データ格納システムの安定性を向上させるために必要とされる。リモート分散型データ格納システムにとって、データ格納に必要なリソースを減らすため、少なくとも３つのサーバをローカルに用いることができ、プライマリサーバはデータ更新を格納し、他のセカンダリサーバはログのみ格納し（すなわち、他のセカンダリサーバはログ更新操作だけを実行し）；そして、少なくとも３つのサーバがリモートで用いられ、プライマリサーバはローカルのプライマリサーバにおいてデータのデータコピーを格納し、他のセカンダリサーバはログだけを格納する（すなわち、他のセカンダリサーバはログ更新操作だけを実行する）。
【０１５１】
図７に示すように、ローカル機器室において、Ａ、Ｂ、Ｃのラベルを付した３つのサーバが用いられてもよく、サーバＡはプライマリサーバであり、データ更新を格納し、サーバＢ及びサーバＣはセカンダリサーバであり、ログ更新操作だけを実行するが、データ更新を格納しない。リモート機器室において、サーバＤ、Ｅ、Ｆが用いられてもよく、サーバＤはプライマリサーバであり、ローカル機器室内のサーバＡに格納されているデータのデータコピーを格納し、サーバＥ及びサーバＦはログ更新操作だけを実行するが、データ更新を格納しない。
【０１５２】
サーバＡが故障した場合、サーバＤが外部データ読取／書込サービスを提供できる。
【０１５３】
サーバＤが故障した場合、サーバＡはそれにもかかわらず外部データ読取／書込サービスを提供し続けることができる。このとき、新しいプライマリサーバを、リモート機器室において特定する必要がある。新しいプライマリサーバはサーバＡとのデータ同期及びログ同期を行うことができる。
【０１５４】
サーバＢと、サーバＣと、サーバＥと、サーバＦとのうちのいずれか１つが故障した場合、サーバＡはそれにもかかわらず外部読取／書込サービスを提供し続けることができる。
【０１５５】
図８は、本願の実施に係るデータ処理デバイスを示す概略構成図である。デバイスは分散型データ格納システムに適用され、分散型データ格納システムは、プライマリサーバと、少なくとも２つのセカンダリサーバとを含み、デバイスは、受信ユニット８１と、送信ユニット８２と、特定ユニット８３とを含む。
【０１５６】
受信ユニット８１は、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、ここでデータ更新リクエストはデータ更新を含む。
【０１５７】
送信ユニット８２は、プライマリサーバと少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うように、データ更新リクエストに基づいてプライマリサーバと少なくとも２つのセカンダリサーバとへ別々にログ更新指示を送信するよう構成される。
【０１５８】
ログ更新操作が完了した、と特定すると、送信ユニット８２は、プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信するよう構成される。
【０１５９】
送信ユニット８２は、ログ更新操作が完了した、と特定するが、これは、プライマリサーバがログ更新操作を完了した、と特定されると、ログ更新操作が完了した、と特定すること；又は、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとがログ更新操作を完了した、と特定すると、ログ更新操作が完了した、と特定すること；を含む。
【０１６０】
送信ユニット８２は、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信するが、これは、プライマリサーバがログ更新操作を完了した、と特定すると、データ格納指示をプライマリサーバへ送信し、データ格納指示がプライマリサーバへ送信され、且つ、少なくとも２つのセカンダリサーバのうちの少なくとも１つのサーバがログ更新操作を完了した、と特定された後、データ格納指示を、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバへ送信すること；又は、プライマリサーバと、少なくとも２つのセカンダリサーバ内のうちの少なくとも１つのセカンダリサーバとがログ更新操作を完了した、と特定されると、プライマリサーバと、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバとへ別々にデータ格納指示を送信すること；を含む。
【０１６１】
オプションであるが、データ処理デバイスは特定ユニット８３を更に含む。
【０１６２】
特定ユニット８３は、少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定し、第２のセカンダリサーバがログ更新操作を完了した、と特定されると、ヌル操作指示を第２のセカンダリサーバへ送信するよう構成され、ここで、ヌル操作指示は第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる。
【０１６３】
オプションであるが、プライマリサーバ又は第１のセカンダリサーバが故障した、と特定されると、特定ユニット８３は、第３のセカンダリサーバを特定し、第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を行うように、データ同期指示を第３のセカンダリサーバへ送信するよう構成される。
【０１６４】
オプションであるが、第２のセカンダリサーバが故障した、と特定されると、特定ユニット８３は、第４のセカンダリサーバを特定し、第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、ログ同期指示を第４のセカンダリサーバへ送信するよう構成される。
【０１６５】
図９は、本願の実施に係るデータ処理デバイスを示す概略構成図である。デバイスは分散型データ格納システムに適用され、分散型データ格納システムはプライマリサーバと、少なくとも２つのセカンダリサーバとを含み、デバイスは受信ユニット９１と送信ユニット９２とを含む。
【０１６６】
受信ユニット９１は、ユーザによって送信されるデータ更新リクエストを受信するよう構成される。ここで、データ更新リクエストはデータ更新を含む。
【０１６７】
送信ユニット９２は、データ更新リクエストに基づいてログ更新操作を開始し、少なくとも２つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するように、ログ更新指示を少なくとも２つのセカンダリサーバへ送信するよう構成される。
【０１６８】
ログ更新操作が完了した、と特定されると、送信ユニット９２は、データ格納操作を開始し、第１のセカンダリサーバがデータ格納指示に基づいてデータ更新に関する格納操作を実行するように、少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバへデータ格納指示を送信するよう構成される。
【０１６９】
当業者は、本願の実施は、方法、システム、又はコンピュータプログラム製品として提供できることを理解するはずである。そのため、本願は、ハードウェアのみの実施、ソフトウェアのみの実施、又は、ソフトウェアとハードウェアとの組み合わせによる実施を用いることができる。さらに、本願は、コンピュータで使用可能なプログラムコードを含んだ１台以上のコンピュータで使用可能な記憶媒体（磁気ディスクメモリ、ＣＤ−ＲＯＭ、光学メモリ等を含むがこれに限定されない）上で実施されるコンピュータプログラム製品を使用できる。
【０１７０】
本願は、本願の実施に係る方法、デバイス（システム）、コンピュータプログラム製品のフローチャート及び／又はブロック図を参照して説明されている。コンピュータプログラム命令は、フローチャート及び／又はブロック図中の各手順及び／又は各ブロック、並びにフローチャート及び／又はブロック図中の手順及び／又はブロックの組み合わせを実施するために使用できることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又はあらゆるその他のプログラム可能なデータ処理デバイスのプロセッサに、マシンを生成するために提供されることができ、これにより、コンピュータ又は他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令は、フローチャートの１つ又は複数の手順及び／又はブロック図の１つ又は複数のブロックで指定された機能を実施するデバイスを生成するために使用される。
【０１７１】
これらのコンピュータプログラム命令を、コンピュータ又はあらゆるその他のプログラム可能なデータ処理デバイスに特定の方法で機能するように命令することができるコンピュータ読取可能なメモリに記憶でき、これにより、これらのコンピュータ読取可能なメモリに記憶された命令が、命令装置を含むアーチファクトを生成するように使用される。この命令装置は、フローチャート内の１つ以上の手順、及び／又はブロック図内の１つ以上のブロックにおける特定の機能を実施する。
【０１７２】
これらのコンピュータプログラム命令をコンピュータ又はその他のプログラム可能なデータ処理デバイスにロードして、コンピュータ又はその他のプログラム可能なデバイス上で一連の操作及びステップが実行されるようにし、コンピュータで実施される処理を生成することができる。これにより、コンピュータ又はその他のプログラム可能なデバイス上で実行される命令が、フローチャート内の１つ以上の手順及び／又はブロック図内の１つ以上のブロックにおける特定の機能を実施するデバイスを提供することを可能とする。
【０１７３】
典型的な構成では、コンピューティングデバイスは１つ以上のプロセッサ（ＣＰＵｓ）、入出力インターフェース、ネットワークインターフェース、及びメモリを含む。
【０１７４】
メモリは非永続性メモリ、ＲＡＭ、不揮発性メモリ、及び／又はＲＯＭやフラッシュメモリ（ｆｌａｓｈ  ＲＡＭ）のようなコンピュータ読取可能な不揮発性メモリとすることができる。メモリはコンピュータ読取可能な媒体の一例である。
【０１７５】
コンピュータ読取可能な媒体には、任意の方法又は技術を用いて情報を記憶できる、永続的、非永続的、移動可能な、移動不能な媒体が含まれる。この情報はコンピュータ読取可能な命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータの記憶媒体の例として、相変化ランダムアクセスメモリ（ＰＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、別タイプのランダムアクセスメモリ、リードオンリーメモリ（ＲＯＭ）、電気的に消去可能でプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、又は別のメモリ記憶デバイス、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、又は別の光学記憶メモリ、カセット、磁気ディスク、又は別の磁気記憶デバイス、若しくはその他任意の非一時的媒体があるが、それらに限定されない。コンピュータの記憶媒体は、コンピューティングデバイスにアクセス可能な情報を格納するように構成することができる。本明細書で記載しているように、コンピュータ読取可能な媒体は、変調されたデータ信号及び搬送波のような一時的な媒体を含まない。
【０１７６】
さらに、用語「含む」、「含有する」、又はこれらのその他任意の応用形は、非限定的な包含を網羅することを意図しており、そのため、一連の要素を含んだ工程、方法、物品、デバイスはこれらの要素を含むだけでなく、ここで明確に挙げていないその他の要素をも含む、あるいは、このような工程、方法、物品、デバイスに固有の要素をさらに含むことができる点に留意することが重要である。「（１つの）〜を含む」との用語を付けて示された要素は、それ以上の制約がなければ、その要素を含んだ工程、方法、物品、デバイス内に別の同一の要素をさらに含むことを排除しない。
【０１７７】
当業者は、本願の実施が方法、システム、コンピュータプログラム製品として提供され得ることを理解するはずである。そのため、本願は、ハードウェアのみの実施、ソフトウェアのみの実施、又は、ソフトウェアとハードウェアの組み合わせによる実施を用いることができる。さらに、本願は、コンピュータで用いることができるプログラムコードを含んだ、１つ以上のコンピュータで使用可能な記憶媒体（磁気ディスクストレージ、ＣＤ−ＲＯＭ、光学ディスク等を非限定的に含む）上で実施されるコンピュータプログラム製品の形態を用いることが可能である。
【０１７８】
上述のものは本願の一実施形態であるが、本願を限定することを意図するものではない。当業者は、本願に様々な修正及び変更を加えることができる。本願の主旨及び原理から逸脱せずに為されるあらゆる修正、均等物による代替、改善等は、本願の特許請求の範囲に含まれるものである。
【符号の説明】
【０１７９】
８１、９１  受信ユニット
８２、９２  送信ユニット
８３  特定ユニット
【図１】
2019526106.tif 000003
【図２】
2019526106.tif 000004
【図３】
2019526106.tif 000005
【図４】
2019526106.tif 000006
【図５】
2019526106.tif 000007
【図６】
2019526106.tif 000008
【図７】
2019526106.tif 000009
【図８】
2019526106.tif 000010
【図９】
2019526106.tif 000011
【手続補正書】
【提出日】平成31年2月20日(2019.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理の方法であって：
ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップ（１０１）と；
プライマリサーバと少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップ（１０２）と；
前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するステップ（１０３）と；を備える、
データ処理の方法。
【請求項２】
前記ログ更新操作が完了した、と特定されることは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ；を備える、
請求項１に記載の方法。
【請求項３】
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するステップは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し；前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも２つのセカンダリサーバ内の前記少なくとも１つのサーバが前記ログ更新操作を完了した、と特定された後、前記データ格納指示を、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバへ送信するステップ；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に送信するステップ；を備える、
請求項２に記載の方法。
【請求項４】
前記少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定するステップと；
前記第２のセカンダリサーバが前記ログ更新操作を完了した、と特定されると、ヌル操作指示を前記第２のセカンダリサーバへ送信するステップであって、前記ヌル操作指示は前記第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップと；を更に備える、
請求項１又は請求項３に記載の方法。
【請求項５】
前記プライマリサーバ又は前記第１のセカンダリサーバが故障した、と特定されると、第３のセカンダリサーバを特定し、前記第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第３のセカンダリサーバへ送信するステップを更に備える、
請求項４に記載の方法。
【請求項６】
前記第２のセカンダリサーバが故障した、と特定されると、第４のセカンダリサーバを特定し、前記第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第４のセカンダリサーバへ送信するステップを更に備える、
請求項４に記載の方法。
【請求項７】
前記プライマリサーバは、前記データ更新に関連する外部読取又は書込操作を実行するために、外部のコンピューティングデバイスと通信する、
請求項１乃至請求項６のいずれか１項に記載の方法。
【請求項８】
前記データ更新リクエストは、決済リクエストを備える、
請求項１乃至請求項７のいずれか１項に記載の方法。
【請求項９】
前記プライマリサーバは、ランダム規則又は分散整合性プロトコルに基づいて特定される、
請求項１乃至請求項８のいずれか１項に記載の方法。
【請求項１０】
請求項１乃至請求項９のいずれか１項に記載の方法を実行するように構成された複数のモジュールを備える、
データ処理のための装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１７８
【補正方法】変更
【補正の内容】
【０１７８】
上述のものは本願の一実施形態であるが、本願を限定することを意図するものではない。当業者は、本願に様々な修正及び変更を加えることができる。本願の主旨及び原理から逸脱せずに為されるあらゆる修正、均等物による代替、改善等は、本願の特許請求の範囲に含まれるものである。
以下、本発明の実施の態様の例を列挙する。
［第１の局面］
データ処理方法であって、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え：
ユーザによって送信されるデータ更新リクエストを受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと；
前記プライマリサーバと前記少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を行うよう、前記データ更新リクエストに基づいて前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するステップと；
前記ログ更新操作が完了した、と特定されると、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するステップと；を備える、
データ処理方法。
［第２の局面］
前記ログ更新操作が完了した、と特定されることは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定するステップ；を備える、
第１の局面に記載のデータ処理方法。
［第３の局面］
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信する前記ステップは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し；前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも２つのセカンダリサーバ内の前記少なくとも１つのサーバが前記ログ更新操作を完了した、と特定された後、前記データ格納指示を、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバへ送信するステップ；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に送信するステップ；を備える、
第２の局面に記載のデータ処理方法。
［第４の局面］
前記少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定するステップと；
前記第２のセカンダリサーバが前記ログ更新操作を完了した、と特定されると、ヌル操作指示を前記第２のセカンダリサーバへ送信するステップであって、前記ヌル操作指示は前記第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる、ステップと；を更に備える、
第１又は３の局面に記載のデータ処理方法。
［第５の局面］
前記プライマリサーバ又は前記第１のセカンダリサーバが故障した、と特定されると、第３のセカンダリサーバを特定し、前記第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第３のセカンダリサーバへ送信するステップを更に備える、
第４の局面に記載のデータ処理方法。
［第６の局面］
前記第２のセカンダリサーバが故障した、と特定されると、第４のセカンダリサーバを特定し、前記第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第４のセカンダリサーバへ送信するステップを更に備える、
第４の局面に記載のデータ処理方法。
［第７の局面］
データ処理方法であって、この方法は分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え：
ユーザによって送信されるデータ更新リクエストを、前記プライマリサーバによって受信するステップであって、前記データ更新リクエストは、データ更新を備える、ステップと；
前記プライマリサーバによって、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも２つのセカンダリサーバがログ更新指示に基づいてログ更新操作を実行するよう、前記ログ更新指示を前記少なくとも２つのセカンダリサーバへ送信するステップと；
前記ログ更新操作が完了した、と特定すると、前記プライマリサーバによってデータ格納操作を開始し、第１のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するよう、前記少なくとも２つのセカンダリサーバ内の前記第１のセカンダリサーバへ前記データ格納指示を送信するステップと；を備える、
データ処理方法。
［第８の局面］
データ処理デバイスであって、前記デバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え、前記デバイスは、受信ユニットと送信ユニットとを備え；
前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を備え；
前記送信ユニットは、前記プライマリサーバと前記少なくとも２つのセカンダリサーバとがログ更新指示に基づいてログ更新操作を実行するように、前記データ更新リクエストに基づいて、前記プライマリサーバと前記少なくとも２つのセカンダリサーバとへ別々に前記ログ更新指示を送信するよう構成され；
前記ログ更新操作が完了した、と特定されると、前記送信ユニットは、前記プライマリサーバと第１のセカンダリサーバとがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信するよう構成される、
データ処理デバイス。
［第９の局面］
前記送信ユニットが、前記ログ更新操作が完了した、と特定することは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定される、前記ログ更新操作が完了した、と特定すること；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記ログ更新操作が完了した、と特定すること；を備える、
第８の局面に記載のデータ処理デバイス。
［第１０の局面］
前記送信ユニットが、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に前記データ格納指示を送信することは：
前記プライマリサーバが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を前記プライマリサーバへ送信し；前記データ格納指示が前記プライマリサーバへ送信され、且つ、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのサーバが前記ログ更新操作を完了した、と特定された後、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバへ、前記データ格納指示を送信すること；又は、
前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記少なくとも１つのセカンダリサーバとが前記ログ更新操作を完了した、と特定されると、前記データ格納指示を、前記プライマリサーバと、前記少なくとも２つのセカンダリサーバのうちの前記第１のセカンダリサーバとへ別々に送信すること；を備える、
第９の局面に記載のデータ処理デバイス。
［第１１の局面］
特定ユニットを更に備え；
前記特定ユニットは、前記少なくとも２つのセカンダリサーバから第２のセカンダリサーバを特定し、前記第２のセカンダリサーバが前記ログ更新操作を完了した、と特定すると、ヌル操作指示を前記第２のセカンダリサーバへ送信するよう構成され、前記ヌル操作指示は、前記第２のセカンダリサーバに何の操作も行わないよう指示するために用いられる、
第８又は１０の局面に記載のデータ処理デバイス。
［第１２の局面］
前記プライマリサーバ又は前記第１のセカンダリサーバが故障した、と特定すると、前記特定ユニットは、第３のセカンダリサーバを特定し、前記第３のセカンダリサーバがデータ同期指示に基づいて、故障しておらずデータを格納しているサーバとのデータ同期を完了するように、前記データ同期指示を前記第３のセカンダリサーバへ送信するよう構成される、
第１１の局面に記載のデータ処理デバイス。
［第１３の局面］
前記第２のセカンダリサーバが故障したと特定すると、前記特定ユニットは、第４のセカンダリサーバを特定し、前記第４のセカンダリサーバがログ同期指示に基づいて、故障していないサーバとのログ同期を完了するように、前記ログ同期指示を前記第４のセカンダリサーバへ送信するよう構成される、
第１１の局面に記載のデータ処理デバイス。
［第１４の局面］
データ処理デバイスであって、前記デバイスは分散型データ格納システムに適用され、前記分散型データ格納システムは、プライマリサーバと少なくとも２つのセカンダリサーバとを備え、前記デバイスは、受信ユニットと送信ユニットとを備え；
前記受信ユニットは、ユーザによって送信されるデータ更新リクエストを受信するよう構成され、前記データ更新リクエストは、データ更新を備え；
前記送信ユニットは、前記データ更新リクエストに基づいてログ更新操作を開始し、前記少なくとも２つのセカンダリサーバがログ更新指示に基づいて前記ログ更新操作を実行するように、前記ログ更新指示を前記少なくとも２つのセカンダリサーバへ送信するよう構成され；
前記ログ更新操作が完了したと特定すると、前記送信ユニットは、データ格納操作を開始し、前記少なくとも２つのセカンダリサーバのうちの第１のセカンダリサーバがデータ格納指示に基づいて前記データ更新に関する格納操作を実行するように、前記第１のセカンダリサーバへ前記データ格納指示を送信するよう構成される、
データ処理デバイス。
【国際調査報告】
2019526106.tif 000012
2019526106.tif 000013
2019526106.tif 000014
2019526106.tif 000015