JP6937337B2 - 分散処理方法、分散処理システム及びサーバ - Google Patents

分散処理方法、分散処理システム及びサーバ Download PDF

Info

Publication number
JP6937337B2
JP6937337B2 JP2019091362A JP2019091362A JP6937337B2 JP 6937337 B2 JP6937337 B2 JP 6937337B2 JP 2019091362 A JP2019091362 A JP 2019091362A JP 2019091362 A JP2019091362 A JP 2019091362A JP 6937337 B2 JP6937337 B2 JP 6937337B2
Authority
JP
Japan
Prior art keywords
data
output
division
order
distributed processing
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
JP2019091362A
Other languages
English (en)
Other versions
JP2020187526A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019091362A priority Critical patent/JP6937337B2/ja
Priority to US16/812,704 priority patent/US11354206B2/en
Publication of JP2020187526A publication Critical patent/JP2020187526A/ja
Application granted granted Critical
Publication of JP6937337B2 publication Critical patent/JP6937337B2/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/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
    • 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
    • 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/2048Error 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 where the redundant components share neither address space nor persistent storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを複数のサーバで処理する分散処理システムに関する。
分散処理システムは、データを複数のサーバで多重化し、障害が発生したサーバの処理を他のサーバに切り替えることで可用性を確保する。近年のハードウェア性能の向上により、単位時間当たりの処理能力は向上しており、上記のような切替が完了するまでの時間に応じて生じる損失も比例して大きくなる。証券取引分野では、取引件数が利益に直結するため、障害が発生したサーバの切替の高速化は重要な関心事である。
障害発生時に高速な切替を実現する手法として、リーダレスの分散合意の一つである半順序配信技術が知られている(例えば、特許文献1)。
半順序配信技術は、入力されたデータが順序を交換可能であれば、異なる順序でデータを配送しても、入力されたデータを処理した最終的な結果がすべてのサーバで同じとなることを特徴とする半順序処理を活用した配信技術である。半順序配信技術は、リーダを持たず全サーバが同質となることで、いずれかのサーバに障害が発生しても、処理を継続することができる。さらに、半順序配信技術は、障害の発生したサーバが完全に停止しきっていない状態で切替が発生しても、分散合意によるデータの一貫性を保証できるという特徴があり、可用性を確保する上で重要な技術となっている。
国際公開第2015/186191号
上記半順序配信技術は、複数の処理部にデータを配信し、処理部にとって一貫性がある順にデータを出力する技術である。半順序配信では、重複するデータの出力を抑止するために過去の出力データの集合(出力集合)を各サーバで保持するが、この出力集合の要素を適切に削除する方法が存在せず、分散処理システムへ実装する際には、多量の記憶容量が必要になるという課題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、一部のサーバに障害が発生しても処理を継続させ、かつ、データの一貫性を確保しながら、出力集合を適切に管理することを目的とする。
本発明は、ネットワークを介して接続された複数の計算機でデータの信を行う分散処理方法であって、前記計算機が、前記データを受信する受信ステップと、前記計算機が、記データの出力順序を交換した場合に出力結果が一致するか否かを予め記憶している可換性判定情報に基づいて、前記データの出力順序が前記複数の計算機において一致しない場合でも前記データを処理した結果の出力順序が一致する前記データの出力順序を決定する出力順序決定ステップと、前記計算機が、前記出力するデータを出力集合へ格納する際に、前記計算機間における出力順序を、前記データを処理した結果の出力順序を前記複数の計算機において一致させた場合の出力順序と一致する順序で複数の部分集合に分割して前記出力集合に格納して前記データの出力結果の一致を管理する管理ステップと、を含む。
したがって、本発明は、分割命令を生成して半順序配信のデータへ投入することにより、サーバ間の出力集合の削除、重複出力防止や、補完などを効率的に管理することができる。
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
本発明の実施例1を示し、分散処理システムの構成の一例を示すブロック図である。 本発明の実施例1を示し、出力集合の一例を示す図である。 本発明の実施例1を示し、可換性判定テーブルの一例を示す図である。 本発明の実施例1を示し、分割制御部で行われる処理の一例を示すフローチャートである。 本発明の実施例1を示し、サーバで行われる処理の一例を示すフローチャートである。 従来例を示し、出力履歴の一例を示す図である。 本発明の実施例2を示し、サーバで行われる処理の一例を示すフローチャートである。 本発明の実施例3を示し、可換性判定テーブルの一例を示す図である。 本発明の実施例4を示し、分散処理システムの構成の一例を示すブロック図である。 本発明の実施例5を示し、分散処理システムの構成の一例を示すブロック図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の実施例1を示し、分散処理システムの構成の一例を示すブロック図である。分散処理システムは、複数のクライアント装置3−1〜3−Nからのデータを受け付けて、データに対する処理を実行する複数のサーバ1−1〜1−Nと、サーバ1−1〜1−Nへデータの分割情報を送信する分割制御装置2と、各装置及びサーバを接続するネットワーク4を有する。
なお、以下の説明では、サーバを個々に特定しない場合には、「−」以降を省略した符号「1」を用いる。他の、構成要素の符号についても同様である。また、サーバ1−1〜1−Nは同様の構成である。また、クライアント装置3−1〜3−Nは、同様の構成である。
クライアント装置3は、プロセッサ31と、メモリ32と、インターフェース33を有する計算機である。メモリ32には、アプリケーション34と、送受信部35がプログラムとしてロードされてプロセッサ31によって実行される。
アプリケーション34は、サーバ1に処理させるデータを生成し、送受信部35がデータをサーバ1に送信する。
サーバ1は、プロセッサ11と、メモリ12と、インターフェース10を有する計算機である。メモリ12には、送受信部13と、半順序配信部100と、処理部19と、出力集合200と、可換性判定テーブル300が格納される。
半順序配信部100は、可換性判定部14と、提案集積部15と、合意判定部16と、競合解決部17と、分割点管理部18から構成される。半順序配信部100は、送受信部13から受け付けたデータを、半順序配信技術により他のサーバ1との間で、データの一貫性を保証して、処理部19へ出力する。処理部19は、半順序配信部100から出力されたデータの順序で所定の処理を実施する。なお、半順序配信技術における一貫性は、受け付けたデータが順序を交換可能(可換)であれば、サーバ1ごとに処理部へ異なる順序で前記データを出力しても、出力された前記データを処理部が処理した最終的な結果が、すべてのサーバ1の処理部で同じとなることであり、例えば、前記特許文献1の実施例2、実施例3の記載と同様である。
送受信部13と、可換性判定部14と、提案集積部15と、合意判定部16と、競合解決部17と、分割点管理部18と、処理部19は、プログラムとしてメモリ12へロードされてプロセッサ11によって実行される。
プロセッサ11は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ11は、合意判定プログラムを実行することで合意判定部16として機能する。他のプログラムについても同様である。さらに、プロセッサ11は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
半順序配信部100の各機能を実現するプログラム、テーブル等の情報は、図示しないストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、又は、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
半順序配信部100は、クライアント装置3又は分割制御装置2から受信したデータの可換性を判定し(可換性判定部14)、可換性の判定結果とデータを他のサーバ1間で交換して提案集積部15に集める。
そして、半順序配信部100は、集積した可換性判定結果とデータが合意可能かを判定し(合意判定部16)、可換性判定結果の中に競合が含まれている場合には、他のサーバ1間で競合するデータの出力順序を解決し(競合解決部17)、出力データの部分集合に出力集合200内の集合番号を付与し(分割点管理部18)、出力データを合意値として処理部19へ出力する。また、半順序配信部100は、出力データの履歴を出力集合200へ格納して、集合番号でデータの管理を行う。
図2は、出力集合200の一例を示す図である。図示の例では、サーバ1−1の出力集合200−1と、サーバ1−2の出力集合200−2を比較する例を示す。
出力集合200は、出力順序201と、集合番号202と、データ203から構成される。出力順序201は、分割点管理部18が出力データに付与する番号を格納する。この番号としては、例えば、シリアル番号等を用いることができる。データ203は、受信したデータの内容を格納する。
集合番号202は、分割点管理部18が付与する出力データの集合の識別子で、サーバ1内でユニークな値である。本実施例では、集合番号202としてシリアル番号を採用する例を示す。分割点管理部18は、分割制御装置2から分割命令を受信すると、現在の集合番号202に「1」を加算して、次の出力データを新たな集合番号202の部分集合に所属させる。
したがって、集合番号202が付与されたひとつの部分集合は、前回の分割命令の次に出力された出力データから、次の分割命令までの出力データが含まれる。
本実施例では、分割点管理部18が分割命令を受け付けると、分割点(分割情報)として「/」のデータを出力集合200へ格納する例を示す。なお、出力集合200では、集合番号202で出力データの集合を管理できるので、データ203としての分割点は省略してもよい。
図示の例では、サーバ1−1は、データ203を「A」、「B」、「C」の順序で出力し、出力順序201=「4」で分割点が格納される。サーバ1−2では、データ203を「B」、「A」、「C」の順序で出力し、出力順序201=「4」で分割点が格納される。
そして、図示の例では、可換性判定部14は、データ「A」と「B」は「可換」と判定し、「A」と「C」および「B」と「C」は「競合」と判定したため、半順序配信部100は、サーバ1間で可換なもの同士の順序は揃えることなく出力するが、競合する者同士の順序は揃えて出力する。
各サーバ1の集合番号202内のデータは半順序であるが、当該集合番号202内のデータを処理部19で処理した結果は、全てのサーバ1間でデータの順序を揃えた全順序と等価となる。したがって、本実施例の半順序配信部100から出力される集合番号202ごとのデータ集合は全順序として扱うことが可能である。
図3は、可換性判定テーブル300の一例を示す図である。可換性判定テーブル300は、比較対象データ301と、これまでに受け付けたデータの内、未出力のデータ302について、各カラムに「可換」又は「競合」のいずれかが予め設定される。
可換性判定部14は、例えば、現在受け付けた比較対象データ301が「データB」、これまでに受け付けたデータの内、未出力のデータ302が「データA」の場合、可換性判定テーブル300を参照して「データB」は可換と判定する。また、可換性判定部14は、分割命令を受信した場合は、いずれの組み合わせでも「競合」と判定する。
すなわち、分割制御装置2が出力した分割命令は、全てのデータに対して非可換なデータとして定義される。また、分割命令は半順序配信内の制御用のデータであるため、半順序配信部100は分割命令を処理部19へ出力しない。あるいは、処理部19が分割命令を受信しても無視又は破棄するようにしてもよい。
図4は、分割制御装置2で行われる処理の一例を示すフローチャートである。このフローチャートは、所定のタイミングで実行される。なお、所定のタイミングとしては、例えば、所定の周期や、他の計算機からの要求を受け付けた場合などである。
分割制御部400は、所定のタイミングになると予め定義された分割命令を生成する(S15)。次に、送受信部23は、分割制御部400で生成された分割命令を各サーバ1へ送信する。
分割制御装置2が分割命令を送信したタイミングで、クライアント装置3がサーバ1へデータを送信した場合、各サーバ1は、分割命令とデータの出力順序を決定するために、後述する競合解決部17で順序を決定する。
一方、クライアント装置3からデータが送信されていないタイミングで、分割制御装置2が分割命令を送信した場合、サーバ1は分割命令だけを受信するため、競合とは判定せず、競合解決部17を使用せずに処理することになる。
データと分割命令の競合が発生した場合、サーバ1は競合解決部17により他のサーバ1と合意を行って、分割命令とデータの順序を全てのサーバ1で一致させる。一方、サーバ1が分割命令だけを受信した場合、他のデータが存在しないため出力順序の入れ替えは発生せず、全てのサーバ1で出力順序は一致する。これらにより、各サーバ1では、受信した分割命令の出力順序が一致することになる。
クライアント装置3からのデータと分割命令は、出力順序の前後が非可換であるため、あるサーバ1が分割命令よりも前に出力したデータは、他のサーバ1でも必ず分割命令よりも前に出力されるという性質を有する。従って、サーバ1間では、分割命令を跨いでデータが前後することはなく、分割命令を境界として生成された出力集合200の部分集合(集合番号202)内のデータは等価となる。
本実施例において、等価な部分集合は、データ203と出力順序201がサーバ1間で一致しなくとも、処理部19の出力結果が一致することを意味する。各サーバ1の分割点管理部18は、部分集合を識別する値としてシリアル番号の集合番号202を付与する。
集合番号202内のデータは、全てのサーバ1間で等価なため、出力集合200に対するデータの削除や、重複出力の防止や、データの補完等は、集合番号202で管理することが可能となる。
図5は、サーバ1で行われる制御の一例を示すフローチャートである。この処理は、サーバ1が、クライアント装置3又は分割制御装置2からデータ又は分割命令を受信すると実行される。
サーバ1の送受信部13は、クライアント装置3又は分割制御装置2からデータ又は分割命令を受信する(S1)。可換性判定部14は、予め設定された可換性判定テーブル300を参照して、送受信部13から取得したデータが順序に関係なく処理可能であれば「可換」と判定し、データの順序をサーバ1間で揃えてから処理する必要があれば「競合」と判定する。
競合解決部17は、受信したデータと可換性の判定結果を他のサーバ1へ送信する(S3)。次に、提案集積部15は、他のサーバ1からデータと可換性の判定結果を受け付ける(S4)。
合意判定部16は、他のサーバ1から受信したデータ及び可換性の判定結果から合意可能か否かを判定する(S5)。合意判定部16は、合意の判定が可能な数のサーバ1からデータ及び可換性の判定結果を受信していれば合意の判定を行い、合意の判定ができない場合にはステップS4へ戻って、他のサーバ1からのデータ及び判定結果を受け付ける。なお、合意を行うサーバ1の数は、全サーバ1のうち所定数のサーバ数であればよい。
データと判定結果の交換によってサーバ1間の合意が可能と判定すると、可換性判定部14は上記ステップS2の可換性の判定結果に基づいて、提案集積部15で受け付けたデータが可換であるか否かを判定する(S6)。受信した全データが互いに可換であれば、現在のデータを出力データとしてステップS8の処理へ進み、競合するデータが含まれている場合にはステップS7へ進む。
ステップS7では、競合解決部17が、非可換(競合)と判定されたデータについて他のサーバ1の競合解決部17との間で順序の決定を行い、出力データを決定する。なお、競合解決部17が、順序を決定する手法としては、PAXOS合意などの周知又は公知の技術を適用すればよい。
分割点管理部18は、ステップS6又はステップS7で決定された出力データに集合番号202と出力順序201を付与して、出力集合200へデータ203として格納する(S8)。
次に、分割点管理部18は、現在処理中のデータが分割命令であるか否かを判定する(S9)。分割命令であればステップS10へ進み、そうでない場合にはステップS11へ進む。
ステップS10では、分割点管理部18が、集合番号202に「1」を加算して次回のデータを格納する部分集合を新たに設定する。そして、ステップS11では、ステップS8で集合番号202を付与したデータを合意値として処理部19へ出力して処理を終了する。
なお、本実施例では、半順序配信によるサーバ1間の通信が1回の例を示したが、これに限定されるものではなく、サーバ1間の通信が2回以上であってもよい。
また、本実施例では、競合解決部17で競合の解決を行った場合、データの出力順序は全てのサーバ1で一致することから、分割命令と同様に出力集合200の部分集合の生成に利用することができる。例えば、競合解決部17が決定した出力順序の最後のデータを分割命令と同様に扱うことで、分割点の生成数を抑制することができる。あるいは、出力順序に一定個数ごとのデータを分割命令と同様に扱うことで、部分集合のサイズを平準化することが可能である。
<従来例との対比>
前記従来例の半順序配信技術は、処理部間で不整合が生じない順序で、クライアント装置から送信されたデータを処理部へ出力する。サーバは、クライアント装置から受信したデータを相互に交換して、サーバ間でデータの出力順序について競合が生じないことを合意してから、データを処理部へ出力している。
半順序配信技術では、一部のサーバに障害が発生した場合、分散処理システムが停止しないように、全てのサーバ間で合意を形成するのではなく、規定数のサーバと合意を形成した時点で、データを処理部へ出力する。サーバは、規定数に含まれないサーバから遅延してデータを受信した場合、当該遅延したデータを重複して出力するのを防止するため、過去の出力履歴を保持している。
従来例の半順序配信技術では、出力履歴をどのように削除するかは規定されていないため、出力履歴が増大し続けるという課題があった。例えば、従来例の半順序配信技術による出力履歴を図6に示す。
図6はサーバA1の出力履歴210−1と、サーバA2の出力履歴210−2の例を示す。従来例のサーバA1、A2は、本実施例のサーバ1と同様にクライアント装置3からのデータを受信する。出力履歴210は、出力順序211とデータ212で構成される。
サーバA1の出力履歴210−1では、出力順序211が「4」のデータ212=「D」となっているが、サーバA2の出力履歴210−2では、データ212=「D」の出力順序211は「6」となっており遅延してサーバA2に到着したことを示している。
この従来例で、出力順序211=1〜4のデータ212を削除した場合、「D」のデータ212を遅延して受信するサーバA2は、出力履歴210−2に「D」は削除されて存在しないため、他のサーバへ重複して送信することになる。
なお、従来例に対して、各サーバA間でデータの突き合わせを行って、削除可能なデータを調整することも考えられる。しかしながら、出力履歴210の要素数やサーバ数が増大するにつれて組み合わせ数が膨大なり、処理量や通信量が過大になるため、現実的ではない。
これに対して、本実施例では半順序配信に分割命令を投入することで、出力集合200の要素を複数の部分集合に分割し、各部分集合にはシーケンシャルな集合番号202を付与することで、部分集合単位でデータの管理を実現する。
上述したように、部分集合(集合番号202)内のデータは、全てのサーバ1間で等価なため、出力集合200に対するデータの削除や重複出力の防止等は、集合番号202で管理することが可能となる。
これにより、一部のサーバ1に障害が発生しても処理を継続させて、かつ、出力するデータの一貫性を確保しながら、出力集合200を適切に管理することが可能となる。
なお、上記実施例1では、サーバ1の半順序配信部100に競合解決部17を配置する例を示したが、これに限定されるものでなはい。競合解決部17は、サーバ1以外の計算機で実行されてもよい。
図7は、本発明の実施例2を示し、サーバ1で行われる処理の一例を示すフローチャートである。図7のフローチャートは、前記実施例1の図4のフローチャートの一部を変更したもので、ステップS1、S2、S5〜S11は前記実施例1と同様である。
本実施例では、集合番号202をサーバ1間で交換して、削除された部分集合を検出する例を示す。なお、部分集合の削除は他の処理で所定のタイミングで実施するものとする。また、前記実施例1と同様の部分については重複する説明を省略する。
ステップS23では、合意判定部16が、受信したデータと可換性の判定結果及び現在の集合番号202を他のサーバ1へ送信する。次に、ステップS24では、提案集積部15が、他のサーバ1からデータと可換性の判定結果及び現在の集合番号を受け付ける(S4)。
ステップS25では、分割点管理部18が、他のサーバ1から受け付けた集合番号202が、既に削除されたか否かを判定する。分割点管理部18は、集合番号202が削除済みであれば、受け付けたデータを破棄してステップS24へ戻って他のサーバ1からのデータと判定結果及び集合番号202を受け付ける。一方、分割点管理部18は、集合番号202が出力集合200に存在する場合にはステップS6へ進んで前記実施例1に示した処理を実施する。
サーバ1間で集合番号202を交換し、当該サーバ1の出力集合200に他のサーバ1から受け付けた集合番号202が自身の出力集合200の最小の集合番号202よりも小さい場合、分割点管理部18は、当該集合番号202が既に削除済みと判定し、当該データを破棄する。これにより、他のサーバ1から受け付けたデータが遅延していた場合、当該サーバ1が重複して出力するのを防止することが可能となる。
なお、各サーバ1は、分割命令で部分集合に分割された出力集合200を保持し、分割数(集合番号202の値)又はデータ量の合計が所定の閾値を超えた場合、集合番号202の小さい部分集合から順番に削除する。これにより、各サーバ1が使用する計算機資源が増大するのを防ぐことが可能となり、サーバ1の構成を簡易にしてコストを低減することが可能となる。
なお、サーバ1の分割点管理部18は、他のサーバ1から受け付けた集合番号202が、自身の出力集合200の最小の集合番号202よりも小さい場合には、受け付けた集合番号202は削除済みであると判定して、受け付けたデータを破棄する。
一方、分割点管理部18は、他のサーバ1から受け付けた集合番号202が、自身の出力集合200の最小の集合番号202以上であった場合には、合意判定部16での処理へ移行する。
図8は、本発明の実施例3を示し、可換性判定テーブル300の一例を示す図である。クライアント装置3からのデータが、独立したグループ(又は系列)が存在する場合、本実施例ではデータの系列毎に可換性判定テーブル300を分割する。
クライアント装置3から受け付けるデータが、相互に独立したXの系列とYの系列に分類される場合、Xの系列の可換性判定テーブル300Xと、Yの系列の可換性判定テーブル300Yに分割する。そして、異なる系列間では可換であると定義し、分割命令もデータ系列毎に配信される。すなわち、Xの系列に対しては分割命令Xが配信され、Yの系列に対しては分割命令Yが配信される。また、出力集合200では、集合番号202をデータの系列ごとに操作する。なお、その他の構成は前記実施例1と同様である。
半順序配信技術では、半順序配信部100が出力するデータの順序によって処理部19の最終状態(処理結果)が異なる複数のデータを受け付けた場合には、競合解決部17を用いて順序の決定を行う。
競合解決部17で競合の解決を実施している期間は、出力データが確定しないため、半順序配信部100は、データを出力することができず、競合解決部17の処理時間に応じてレイテンシが増大することになる。そして、サーバ1が分割命令と他のデータを受け付けた場合、競合解決部17にて競合を解決することになる。
そこで、本実施例のように、データの系列(分類)ごとに可換性判定テーブル300X、300Yを分割し、データの系列ごとに分割命令X、Yを分離することで、分割命令X、Yと競合する範囲が元の可換性判定テーブル300に対して縮小されるため、競合の発生を低減して競合解決部17によるレイテンシを抑制することが可能となる。
なお、複数の系列に跨がるデータが存在する場合には、各系列の可換性判定テーブル300X、300Yのそれぞれに当該データを定義する必要がある。また、複数の系列に跨がるデータの集合番号202は、分割点管理部18がそれぞれの集合番号202を管理して、各系列の分割命令X、Y毎に操作を行うようにすればよい。
図9は、本発明の実施例4を示し、分散処理システムの構成の一例を示すブロック図である。本実施例では、分割命令を生成する分割制御部400をクライアント装置3に配置したもので、その他の構成は前記実施例1と同様である。
クライアント装置3−1〜3−N毎に、サーバ1へ送信するデータの系列が異なる場合、分割制御部400をクライアント装置3で稼働させることで、分割命令とデータを送信するタイミングを制御することが可能となる。
分割制御部400をクライアント装置3とは異なる計算機で稼働させる場合、分割命令を送信するタイミングを制御するためには、クライアント装置3と協調する必要があり、協調のための通信が必要となる。
これに対して本実施例のように、クライアント装置3で分割制御部400を稼働させることで、他の計算機(クライアント装置3や分割制御装置2)と協調することなく、分割命令とデータを送信するタイミングを制御することが可能となる。
図10は、本発明の実施例5を示し、分散処理システムの構成の一例を示すブロック図である。本実施例では、分割命令を生成する分割制御部400をサーバ1に配置したもので、その他の構成は前記実施例1と同様である。
クライアント装置3−1〜3−N毎に、サーバ1へ送信するデータの系列が不定の場合、分割制御部400をサーバ1で稼働させることで、分割命令とデータを送信するタイミングを制御することが可能となる。
この場合、クライアント装置3から全てのサーバ1へデータを送信するのではなく、特定の分類のデータを、特定のサーバ1へ送信する。特定の分類のデータを受信したサーバ1は、分割制御を行った後に各サーバへ当該データを配信することで、前記実施例3と同様に、分割命令とデータを送信するタイミングを制御することが可能となる。
前記実施例1、2で示したように、集合番号202ごとのデータの部分集合が、全てのサーバ1で等価であることから、部分集合を単一のデータとして扱う場合、全順序配信と出力集合200の形が一致するとみなすことができる。
したがって、公知又は周知の全順序配信技術に対して本発明の半順序配信技術を適用することが可能となる。例えば、出力集合200の復旧や、スケールアウトや、リバランス等に半順序配信部100及び分割制御部400を利用することができる。
ただし、スケールアウトのようにサーバ1の数を変更するような処理では、データ交換の規定数が変化するため、集合番号202=Xでサーバ1の数を変更する命令を配信した場合、即座に規定数を変えてしまうと、サーバ1間で規定数のずれが生じて配信結果の不整合につながってしまう。
したがって集合番号202=Xでサーバ数の変更について配信した後、集合番号X+α以降にその変更を反映すると言った制御が必要となる(ただし、α≧1)。
上記を実現するためには、以下の2点が必要になる。
(A)分割制御部400が送信する分割命令の合計数をα未満に抑える。これは、データの分類(データの系列)ごとに分割命令を分けている場合は、分割命令数のカウントも分類ごとになる。また、分割制御部400を複数のクライアント装置3やサーバ1上に配置した場合は、全ての分割制御部400から送信される分割命令数を抑制する必要がある。単純な例では、分割命令の数を、各分割制御部400でα/台数以下になるように制御すればよい。
(B)提案集積部15は、データ交換で受け取ったデータと可換性の判定結果に付与された集合番号202が、X+α以上だった場合、その内容を一時的に退避させ、集合番号202=Xの情報を他のサーバ1から補完してから処理を継続する。
なお、上記実施例1〜6では、クライアント装置3がデータを送信する間に分割命令を送信する例を示したが、予め分割フラグを設定したデータを分割命令として機能させてもよく、当該分割フラグを有するデータを受信したサーバ1は、上記分割命令と同様の処理を行うことができる。
<結び>
以上のように、上記実施例1〜6の分散処理システムは以下のような構成とすることができる。
(1).ネットワーク(4)を介して接続された複数の計算機(サーバ1、クライアント装置3)でデータの半順序配信を行う分散処理方法であって、前記計算機(1)が、前記データを受信する受信ステップ(送受信部13)と、前記計算機(1)が、前記半順序配信によって前記データの出力順序を決定する出力順序決定ステップ(可換性判定部14、提案集積部15、合意判定部16、競合解決部17、)と、前記計算機(1)が、前記出力するデータを出力集合(200)へ格納する際に、前記計算機間で等価な複数の部分集合に分割して前記出力集合(200)に格納して管理する管理ステップ(分割点管理部18)と、を含む。
上記構成により、サーバ1は、出力集合200の要素を複数の部分集合に分割して、各部分集合にはシーケンシャルな集合番号202を付与することで、部分集合単位でデータの管理を実現する。これにより、一部のサーバ1に障害が発生しても処理を継続させて、かつ、データの一貫性を確保しながら、出力集合200を適切に管理することが可能となる。
(2).上記(1)に記載の分散処理方法であって、前記計算機(1)が、前記半順序配信の対象のデータと非可換なデータである分割命令を出力する分割命令出力ステップ(分割制御部400)をさらに含み、前記管理ステップ(分割点管理部18)では、前記分割命令に基づいて、当該分割命令を前記出力集合(200)へ格納する際に分割点(集合番号202)を生成し、前記分割点により前記出力集合(200)を前記部分集合の単位で分割して管理する。
上記構成により、サーバ1は、分割命令を受け付けると出力集合200を分割点(集合番号202)で区切ることで、データを部分集合の単位で管理することができる。各サーバ1は、集合番号202内のデータは半順序であるが、当該集合番号202内のデータを処理部19で処理した結果は、全てのサーバ1間でデータの順序を揃えた全順序と等価となり、出力するデータの一貫性をサーバ1間で保証しながら、出力集合200を適切に管理することが可能となる。
(3).上記(2)に記載の分散処理方法であって、前記管理ステップ(分割点管理部18)では、前記分割命令に基づいて生成された前記分割点により前記出力集合(200)を複数の部分集合に分割し、前記分割点の出力順に番号(集合番号202)を付与して前記部分集合を管理する。
上記構成により、集合番号202内のデータは、全てのサーバ1間で等価なため、出力集合200に対するデータの削除や、重複出力の防止や、データの補完等は、集合番号202で管理することが可能となる。
(4).上記(3)に記載の分散処理方法であって、前記出力順序決定ステップ(可換性判定部14)では、前記半順序配信を行うデータを可換性の関係を有するデータ同士に分類し、前記分類ごとに分割命令を予め定義した可換性判定情報(可換性判定テーブル300X、300Y)に基づいて、前記データの出力順序を決定する。
上記構成により、データの系列(分類)ごとに可換性判定テーブル300X、300Yを分割し、データの系列ごとに分割命令X、Yを分けることで、分割命令X、Yと競合する範囲を縮小し、競合の発生を低減して競合解決部17によるレイテンシを抑制することが可能となる。
(5).上記(2)に記載の分散処理方法であって、前記分割命令出力ステップ(分割制御部400)では、前記分割命令を所定の周期又は所定のタイミングで出力する。
上記構成により、分割制御部400は、データの削除の頻度などを考慮して分割命令を出力する周期やタイミングを調整することが可能となる。また、分割制御部400は、アプリケーションからのリクエストが送信される時間帯を考慮して、データの衝突の可能性が低いタイミングで分割命令を出力することが可能となる。
(6).上記(2)に記載の分散処理方法であって、前記計算機は、前記データを出力するクライアント装置(3)と、前記受信ステップ(送受信部13)と、出力順序決定ステップ(14、15、16、17)と、管理ステップ(18)を実行するサーバ(1)を含み、前記クライアント装置(3)と前記サーバ(1)のいずれか一方で、前記分割命令出力ステップ(分割制御部400)を実行する。
上記構成により、クライアント装置3で分割制御部400を稼働させることで、他の計算機(クライアント装置3や分割制御装置2)と協調することなく、分割命令とデータを送信するタイミングを制御することが可能となる。
また、サーバ1で分割制御部400を稼働させる場合、特定の分類のデータを受信したサーバ1は、分割制御を行った後に各サーバへ当該データを配信することで、分割命令とデータを送信するタイミングを制御することが可能となる。
(7).上記(3)に記載の分散処理方法であって、前記計算機(1)が、前記番号(202)順に前記部分集合を削除する削除ステップをさらに含み、前記出力順序決定ステップ(14、15、16)では、前記半順序配信により前記計算機(1)間で前記データを交換する際に前記番号を含めて交換(S23)を実施し、既に削除済みデータを破棄する(S25)。
上記構成により、サーバ1は、出力集合200の集合番号202を交換することで既に削除済みの部分集合を判定でき、データを重複して配信することを防止できる。
(8).上記(3)に記載の分散処理方法であって、前記管理ステップ(分割点管理部18)では、前記部分集合を単一のデータとして扱うことで、前記半順序配信の出力集合を全順序配信の出力集合として扱う。
上記構成により、全順序配信の技術に半順序配信を組み合わせることが可能となる。
(9).上記(3)に記載の分散処理方法であって、前記出力順序決定ステップ(14、15,16,17)では、非可換なデータを受け付けた場合には他の計算機との合意に応じて出力順序を決定し、前記管理ステップ(分割点管理部18)では、前記出力順序が決定された非可換のデータを前記分割命令として扱う。
上記構成により、分割命令の生成及び送信を省略して、分散処理システムの構成を簡易にすることが可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1 サーバ
2 分割制御装置
3 クライアント装置
11 プロセッサ
12 メモリ
14 可換性判定部
15 提案集積部
16 合意判定部
17 競合解決部
18 分割点管理部
19 処理部
100 半順序配信部
200 出力集合
202 集合番号
300 可換性判定テーブル
400 分割制御部

Claims (18)

  1. ネットワークを介して接続された複数の計算機でデータの信を行う分散処理方法であって、
    前記計算機が、前記データを受信する受信ステップと、
    前記計算機が、記データの出力順序を交換した場合に出力結果が一致するか否かを予め記憶している可換性判定情報に基づいて、前記データの出力順序が前記複数の計算機において一致しない場合でも前記データを処理した結果の出力順序が一致する前記データの出力順序を決定する出力順序決定ステップと、
    前記計算機が、前記出力するデータを出力集合へ格納する際に、前記計算機間における出力順序を、前記データを処理した結果の出力順序を前記複数の計算機において一致させた場合の出力順序と一致する順序数の部分集合に分割して前記出力集合に格納して前記データの出力結果の一致を管理する管理ステップと、
    を含むことを特徴とする分散処理方法。
  2. 請求項1に記載の分散処理方法であって、
    前記計算機が、前記信の対象のデータと出力順序が交換できない前記配信における制御用のデータである分割命令を出力する分割命令出力ステップをさらに含み、
    前記管理ステップでは、
    前記分割命令に基づいて、当該分割命令を前記出力集合へ格納する際に分割点を生成し、前記分割点により前記出力集合を前記部分集合の単位で分割して管理することを特徴とする分散処理方法。
  3. 請求項2に記載の分散処理方法であって、
    前記管理ステップでは、
    前記分割命令に基づいて生成された前記分割点により前記出力集合を複数の部分集合に分割し、前記分割点の出力順に番号を付与して前記部分集合を管理することを特徴とする分散処理方法。
  4. 請求項3に記載の分散処理方法であって、
    前記出力順序決定ステップ
    前記信を行う前記データについてデータの出力順序を交換した場合に出力結果が一致するかを判定する可換性判定ステップを含み、
    前記可換性判定ステップに基づいて、前記データの出力順序を交換した場合に、当該データを処理した果が一致するデータと一致しないデータに分類して前記可換性判定情報に記憶し、前記分類ごとに分割命令を予め定義した前記可換性判定情報に基づいて、前記データの出力順序を決定することを特徴とする分散処理方法。
  5. 請求項2に記載の分散処理方法であって、
    前記分割命令出力ステップでは、
    前記分割命令を所定の周期又は所定のタイミングで出力することを特徴とする分散処理方法。
  6. 請求項2に記載の分散処理方法であって、
    前記計算機は、
    前記データを出力するクライアント装置と、
    前記受信ステップと、出力順序決定ステップと、管理ステップを実行するサーバを含み、
    前記クライアント装置と前記サーバのいずれか一方で、前記分割命令出力ステップを実行することを特徴とする分散処理方法。
  7. 請求項3に記載の分散処理方法であって、
    前記計算機が、前記番号順に前記部分集合を削除する削除ステップをさらに含み、
    前記出力順序決定ステップでは、
    前記信により前記計算機間で前記データを交換する際に前記番号を含めて交換を実施し、前記交換された番号が付与された部分集合が既に削除済みと判断された場合に、前記交換した番号が付与された部分集合の既に削除済みデータを破棄することを特徴とする分散処理方法。
  8. 請求項3に記載の分散処理方法であって、
    前記管理ステップでは、
    前記部分集合を単一のデータとして扱うことで、前記信の出力集合を前記データの出力順序を前記複数の計算機において一致させた場合の配信の出力集合として扱うことを特徴とする分散処理方法。
  9. 請求項3に記載の分散処理方法であって、
    前記出力順序決定ステップでは、
    前記複数の計算機において、データの出力順序が交換できないデータを受け付けた場合には他の計算機との合意に応じて出力順序を決定し、
    前記管理ステップでは、
    前記出力順序が決定された前記出力順序が交換できないデータを前記分割命令として扱うことを特徴とする分散処理方法。
  10. ネットワークを介して接続された複数の計算機でデータの信を行う分散処理システムであって、
    前記計算機は、前記データを受信し、記データの出力順序を交換した場合に出力結果が一致するか否かを予め記憶している可換性判定情報に基づいて、前記データの出力順序が前記複数の計算機において一致しない場合でも前記データを処理した結果の出力順序が一致する前記データの出力順序を決定し、前記ータを出力集合へ格納する際に、前記計算機間における出力順序を前記データを処理した結果の出力順序を前記複数の計算機において一致させた場合の出力順序と一致する順序で複数の部分集合に分割して前記出力集合へ格納して前記データの出力結果の一致を管理することを特徴とする分散処理システム。
  11. 請求項10に記載の分散処理システムであって、
    前記計算機は、
    前記信の対象のデータと出力順序が交換できない前記配信における制御用のデータである分割命令を出力する分割制御部と、
    前記分割命令を受け付けて、当該分割命令を前記出力集合に格納する際に分割点を生成し、前記分割点により前記出力集合を前記部分集合の単位で分割して管理する分割点管理部と、
    を有することを特徴とする分散処理システム。
  12. 請求項11に記載の分散処理システムであって、
    前記分割点管理部は、
    前記分割命令に基づいて生成された前記分割点により前記出力集合を複数の部分集合に分割し、前記分割点の出力順に番号を付与して前記部分集合を管理することを特徴とする分散処理システム。
  13. データの出力順序を交換した場合に出力結果が一致するか否かを予め記憶している可換性判定情報に基づいて、前記データの出力順序が前記複数の計算機において一致しない場合でも前記データを処理した結果の出力順序が一致する配信を行うサーバであって、
    前記サーバは、
    前記データを受信し、前記信によって前記データの出力順序を決定し、前記出力するデータを出力集合へ格納する際に、前記サーバ間における出力順序を前記データを処理した結果の出力順序を前記複数の計算機において一致させた場合の出力順序と一致する順序で複数の部分集合に分割して前記出力集合へ格納して前記データの出力結果の一致を管理することを特徴とするサーバ。
  14. 請求項13に記載のサーバであって、
    前記サーバは、
    前記信の対象のデータと出力順序が交換できない前記配信における制御用のデータである分割命令を出力する分割制御部と、
    前記分割命令を受け付けて、当該分割命令を前記出力集合に格納する際に分割点を生成し、前記分割点により前記出力集合を前記部分集合の単位で分割して管理する分割点管理部と、
    を有することを特徴とするサーバ。
  15. 請求項14に記載のサーバであって、
    前記分割点管理部は、
    前記分割命令に基づいて生成された前記分割点により前記出力集合を複数の部分集合に分割し、前記分割点の出力順に番号を付与して前記部分集合を管理することを特徴とするサーバ。
  16. 請求項1に記載の分散処理方法であって、
    前記可換性判定情報は、
    前記データと、既に受け付けたデータのうち未出力のデータについて可換又は競合を予め設定され、
    前記出力順序決定ステップでは、
    前記データと、前記未出力のデータが競合の場合には、前記データを処理した結果の出力順序を前記サーバ間で一致させることを特徴とする分散処理方法。
  17. 請求項10に記載の分散処理システムであって、
    前記可換性判定情報は、
    前記データと、既に受け付けたデータのうち未出力のデータについて可換又は競合を予め設定され、
    前記出力順序の決定では、
    前記データと、前記未出力のデータが競合の場合には、前記データを処理した結果の出力順序を前記サーバ間で一致させることを特徴とする分散処理システム。
  18. 請求項13に記載のサーバであって、
    前記可換性判定情報は、
    前記データと、既に受け付けたデータのうち未出力のデータについて可換又は競合を予め設定され、
    前記出力順序の決定では、
    前記データと、前記未出力のデータが競合の場合には、前記データを処理した結果の出力順序を前記サーバ間で一致させることを特徴とするサーバ。
JP2019091362A 2019-05-14 2019-05-14 分散処理方法、分散処理システム及びサーバ Active JP6937337B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019091362A JP6937337B2 (ja) 2019-05-14 2019-05-14 分散処理方法、分散処理システム及びサーバ
US16/812,704 US11354206B2 (en) 2019-05-14 2020-03-09 Distributed processing method, distributed processing system, and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019091362A JP6937337B2 (ja) 2019-05-14 2019-05-14 分散処理方法、分散処理システム及びサーバ

Publications (2)

Publication Number Publication Date
JP2020187526A JP2020187526A (ja) 2020-11-19
JP6937337B2 true JP6937337B2 (ja) 2021-09-22

Family

ID=73222753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019091362A Active JP6937337B2 (ja) 2019-05-14 2019-05-14 分散処理方法、分散処理システム及びサーバ

Country Status (2)

Country Link
US (1) US11354206B2 (ja)
JP (1) JP6937337B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3251182B2 (ja) * 1996-10-17 2002-01-28 三菱電機株式会社 ミラーディスク制御方法及びミラーディスク制御方式
GB0202600D0 (en) * 2002-02-05 2002-03-20 Ibm Consolidation of replicated data
JP2005215729A (ja) * 2004-01-27 2005-08-11 Hitachi Global Storage Technologies Netherlands Bv データ伝送制御方法及び記憶装置
US8046413B2 (en) * 2005-02-14 2011-10-25 Microsoft Corporation Automatic commutativity detection for generalized paxos
US20150112664A1 (en) * 2010-12-09 2015-04-23 Rage Frameworks, Inc. System and method for generating a tractable semantic network for a concept
US9846618B2 (en) * 2013-12-27 2017-12-19 Oracle International Corporation System and method for supporting flow control in a distributed data grid
US10545949B2 (en) * 2014-06-03 2020-01-28 Hitachi, Ltd. Data management system and data management method
EP3193256B1 (en) * 2016-01-12 2018-08-01 Politechnika Poznanska A fault-tolerant data processing computer system and method for implementing a distributed two-tier state machine

Also Published As

Publication number Publication date
US20200364123A1 (en) 2020-11-19
US11354206B2 (en) 2022-06-07
JP2020187526A (ja) 2020-11-19

Similar Documents

Publication Publication Date Title
US11886925B2 (en) Managing partitions in a scalable environment
US10635500B2 (en) Decoupling partitioning for scalability
US8868711B2 (en) Dynamic load balancing in a scalable environment
JP6259868B2 (ja) データ分配方法、データ記憶方法、関係する装置及びシステム
Crain et al. Evaluating the red belly blockchain
JP7036665B2 (ja) データ管理方法およびデータ管理システム
CN111932257B (zh) 一种区块链并行化处理方法及装置
US10102098B2 (en) Method and system for recommending application parameter setting and system specification setting in distributed computation
CN114185558A (zh) 基于K8s的原生应用选主方法、装置及存储介质
JP6937337B2 (ja) 分散処理方法、分散処理システム及びサーバ
CN112631994A (zh) 数据迁移方法及系统
CN116954816A (zh) 容器集群控制方法、装置、设备及计算机存储介质
US11567841B1 (en) Database system
CN114328434A (zh) 数据处理系统、方法、设备及存储介质
Konwar et al. SNOW revisited: Understanding when ideal READ transactions are possible
CN113901076A (zh) 数据同步方法、装置、服务器及存储介质
KR101654969B1 (ko) 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치
CN113918531A (zh) 分布式表格系统的数据同步方法、装置以及服务端设备
CN111342995A (zh) 同步装置、方法和服务器系统
CN111857548A (zh) 数据读取方法、装置及系统
EP3193482B1 (en) Message processing method and apparatus
US20230179423A1 (en) Method and apparatus for storing blockchain transaction data and distributed storage system using the same
EP4202675A1 (en) Information processing device, information processing method, and information processing program
CN116166438A (zh) 集群扩容方法、装置、电子设备及存储介质
CN117271619A (zh) 数据库的序列处理系统、方法、装置以及计算机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210830

R150 Certificate of patent or registration of utility model

Ref document number: 6937337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150