JP6475304B2 - トランザクション処理方法および装置 - Google Patents
トランザクション処理方法および装置 Download PDFInfo
- Publication number
- JP6475304B2 JP6475304B2 JP2017202754A JP2017202754A JP6475304B2 JP 6475304 B2 JP6475304 B2 JP 6475304B2 JP 2017202754 A JP2017202754 A JP 2017202754A JP 2017202754 A JP2017202754 A JP 2017202754A JP 6475304 B2 JP6475304 B2 JP 6475304B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- coordinator
- participant
- conclusion
- change information
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 21
- 230000004044 response Effects 0.000 claims description 118
- 230000008859 change Effects 0.000 claims description 89
- 238000000034 method Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 38
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明の実施形態は、コーディネータに適用されるトランザクション処理方法であって、コーディネータは、参加者に通信可能に接続され、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、サブオブジェクトのうちの1つは、コーディネータ内にあり、その他のサブオブジェクトは、異なる参加者内にあり、方法は、コーディネータによって、問合せメッセージを各参加者に送信するステップであって、問合せメッセージは、トランザクションID、オブジェクトID、およびオブジェクトのバージョン番号を運搬し、トランザクションIDは、トランザクションを識別するために使用され、オブジェクトIDは、オブジェクトを識別するために使用される、ステップと、コーディネータによって、各参加者から問合せメッセージに対する応答メッセージを受信するステップと、コーディネータによって、応答メッセージに応じて結論を引き出し、コーディネータによって、結論を実行し、結論をすべての参加者に送信するステップとを含むトランザクション処理方法を提供する。
本発明の実施形態では、コーディネータが故障したとき、データ整合性は、参加者の間でトランザクション状態および現在のバージョン番号を問い合わせることによって保証される。本発明の実施形態では、バージョンの更新によって、バージョン番号は、昇順ルールを採用してもよく、または降順ルールを採用してもよい。別の実施形態では、バージョン番号が一意である限り、文字または他の非数値がバージョン番号として使用されてよく、参加者およびコーディネータは、バージョンの更新によるバージョン番号の変更ルールについて同意する。導入を容易にするために、バージョン番号の値がバージョンの更新により増大することが例として以下で使用される。書き込みの各操作はオブジェクトバージョンの増大につながり、新しいバージョンのコンテンツが、古いバージョンのコンテンツの代わりとなる。新しいバージョンのサブオブジェクト、およびその古いバージョンのサブオブジェクトが、同じOSDに書き込まれることができ、古いバージョンのサブオブジェクトが上書きされる。トランザクション操作は、オブジェクトのすべてのサブオブジェクトに対して操作されることができ、これらのサブオブジェクトは、異なるOSDに分散される。OSDは、コントローラおよびストレージ媒体を含むことができ、コントローラは、管理のために構成され、ストレージ媒体は、データを記憶するために構成され、たとえば、ハードディスク(Hard Disk)、ソリッドステートディスク(SSD)、磁気テープ(Magnetic Tap)などである。OSDは、ストレージサーバまたはパーソナルコンピュータであってもよい。
図3に示されるように、本発明の別の実施形態は、実施形態2の方法を適用することができるトランザクション処理装置31をさらに提供する。トランザクション処理装置31は、参加者32に通信可能に接続され、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、サブオブジェクトのうちの1つは、トランザクション処理装置内にあり、他のサブオブジェクトは、異なる参加者内にある。トランザクション処理装置31は、問合せモジュール311、受信モジュール312、判断モジュール313、および実行モジュール314を含む。
図4に示されるように、トランザクション処理方法の別の実装様式が提供されることに留意されたい。実装様式は、実施形態2に開示された実装様式と同様であるが、次のような違いの1つがある。コーディネータは、Version_CとVersion_Tが同じであるかどうか比較することができる。
図3を同じく参照して、本発明の別の実施形態は、実施形態4の方法を適用することができるトランザクション処理装置31を提供する。トランザクション処理装置31は、参加者32に通信可能に接続され、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、サブオブジェクトのうちの1つは、トランザクション処理装置内にあり、その他のサブオブジェクトは、異なる参加者内にある。トランザクション処理装置31は、問合せモジュール311、受信モジュール312、判断モジュール313、および実行モジュール314を含む。
図5に示されるように、本発明の別の実施形態は、参加者42に通信可能に接続されたコーディネータ51を提供し、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、サブオブジェクトのうちの1つは、コーディネータ内にあり、その他のサブオブジェクトは、異なる参加者内にある。コーディネータは、プロセッサ(Processor)511、およびプロセッサと通信するメモリ512を含み、メモリは、プログラムを記憶するように構成され、プロセッサは、プログラムを実行するように構成される。プログラムは、上記の方法のうちの1または複数、たとえば、実施形態1、実施形態2、および実施形態4で説明された方法のうちの1または複数を実行することができる。
Claims (27)
- コーディネータに適用されるトランザクション処理方法であって、前記コーディネータは、参加者に通信可能に接続され、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、前記サブオブジェクトのうちの1つは、前記コーディネータ内にあり、その他のサブオブジェクトは、異なる参加者内にあり、前記方法は、
前記コーディネータによって、問合せメッセージを各参加者に送信するステップであって、前記問合せメッセージは、トランザクションID、オブジェクトID、および前記オブジェクトの変更情報を運搬し、前記トランザクションIDは、前記トランザクションを識別するために使用され、前記オブジェクトIDは、前記オブジェクトを識別するために使用され、前記変更情報は、前記オブジェクトのコンテンツに対応し、異なる変更情報を有する前記オブジェクトのコンテンツは異なっている、ステップと、
前記コーディネータによって、前記参加者のいずれか一人から前記問合せメッセージに対する応答メッセージを受信するステップと、
前記コーディネータによって、前記応答メッセージに応じて結論を引き出し、前記コーディネータによって、前記結論を実行し、前記結論を前記参加者に送信するステップであって、前記結論は以下を含む、すなわち
操作タイプが作成または修正である前記トランザクションに関し、前記応答メッセージが、前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの前記変更情報と同じであることを示す情報を運搬する場合、前記結論は前記トランザクションを実行することである、ステップと
を含むことを特徴とするトランザクション処理方法。 - 前記コーディネータおよび前記参加者はすべてオブジェクトベースのストレージデバイスOSDであり、前記トランザクションは、すべての前記サブオブジェクトの読み取り、すべての前記サブオブジェクトの削除、またはすべての前記サブオブジェクトの書き込みであることを特徴とする請求項1に記載の方法。
- 前記コーディネータおよび前記参加者は、元のコーディネータに通信可能に接続されており、前記元のコーディネータはサブオブジェクトを有しておらず、その前に、前記方法は、
前記元のコーディネータが故障した後に、元の参加者のうちの1つが前記コーディネータとして選択されることをさらに含むことを特徴とする請求項1または2に記載の方法。 - 前記元のコーディネータが故障する前に、前記方法は、
前記元のコーディネータによって、操作要求を各参加者に送信するステップであって、前記操作要求は、前記オブジェクトID、操作タイプ、前記コーディネータ内に記録された前記オブジェクトの前記変更情報、および参加者のリストを運搬し、前記参加者のリストは、すべての前記元の参加者を記録している、ステップと、
前記コーディネータによって、準備コマンドを各参加者に送信するステップであって、前記元の参加者のそれぞれが、参加者のリストを受信し記憶し、前記トランザクションのためのリソースを割り当てるように、前記コマンドは、前記トランザクションID、前記オブジェクトID、前記コーディネータ内に記録された前記オブジェクトの前記変更情報、および参加者の前記リストを運搬する、ステップと
をさらに含むことを特徴とする請求項3に記載の方法。 - 前記オブジェクトの前記変更情報は、前記オブジェクトのバージョン番号であることを特徴とする請求項1乃至4のいずれか一項に記載の方法。
- 参加者に通信可能に接続されたトランザクション処理装置であって、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、前記サブオブジェクトのうちの1つは、前記トランザクション処理装置内にあり、その他のサブオブジェクトは、異なる参加者内にあり、前記装置は、
問合せメッセージを各参加者に送信するように構成された問合せモジュールであって、前記問合せメッセージは、トランザクションID、オブジェクトID、および前記オブジェクトの変更情報を運搬し、前記トランザクションIDは、前記トランザクションを識別するために使用され、前記オブジェクトIDは、前記オブジェクトを識別するために使用され、前記変更情報は、前記オブジェクトのコンテンツに対応し、異なる変更情報を有する前記オブジェクトのコンテンツは異なっている、問合せモジュールと、
前記参加者から前記問合せメッセージに対する応答メッセージを受信するように構成された受信モジュールと、
前記応答メッセージに応じて結論を引き出し、前記結論をすべての前記参加者に送信するように構成された判断モジュールであって、前記結論は以下を含む、すなわち
操作タイプが作成または修正である前記トランザクションに関し、前記応答メッセージが、前記参加者内の前記オブジェクトの前記変更情報が前記トランザクション処理装置内の前記オブジェクトの前記変更情報と同じであることを示す情報を運搬する場合、前記結論は前記トランザクションを実行することである、判断モジュールと、
前記判断モジュールの前記結論を実行するように構成された実行モジュールと
を備えることを特徴とするトランザクション処理装置。 - 前記トランザクション処理装置および前記参加者はすべてオブジェクトベースのストレージデバイスOSDであり、前記トランザクションは、すべての前記サブオブジェクトの読み取り、すべての前記サブオブジェクトの削除、またはすべての前記サブオブジェクトの書き込みであることを特徴とする請求項6に記載のトランザクション処理装置。
- 前記トランザクション処理装置および前記参加者は、元のトランザクション処理装置に通信可能に接続されており、前記元のトランザクション処理装置はサブオブジェクトを有しておらず、前記受信モジュールは、
各参加者に対する前記元のトランザクション処理装置の、前記トランザクションID、前記オブジェクトID、前記オブジェクトの前記変更情報、および参加者のリストを受信するようにさらに構成されることを特徴とする請求項6または7に記載のトランザクション処理装置。 - 前記オブジェクトの前記変更情報は、前記オブジェクトのバージョン番号であることを特徴とする請求項7または8に記載のトランザクション処理装置。
- 参加者に通信可能に接続されたコーディネータであって、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、前記サブオブジェクトのうちの1つは、前記コーディネータ内にあり、その他のサブオブジェクトは、異なる参加者内にあり、前記コーディネータは、プロセッサ、および前記プロセッサと通信するメモリを備え、前記メモリは、プログラム命令を記憶するように構成され、前記プロセッサは、前記プログラム命令を実行するように構成され、前記プログラム命令は、
問合せメッセージを各参加者に送信することであって、前記問合せメッセージは、トランザクションID、オブジェクトID、および前記オブジェクトの変更情報を運搬し、前記トランザクションIDは、前記トランザクションを識別するために使用され、前記オブジェクトIDは、前記オブジェクトを識別するために使用され、前記変更情報は、前記オブジェクトのコンテンツに対応し、異なる変更情報を有する前記オブジェクトのコンテンツは異なっている、送信することと、
前記参加者のいずれか一人から前記問合せメッセージに対する応答メッセージを受信することと、
前記応答メッセージに応じて結論を引き出し、前記結論を実行し、前記結論を前記参加者に送信することであって、前記結論は以下を含む、すなわち
操作タイプが作成または修正である前記トランザクションに関し、前記応答メッセージが、前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの前記変更情報と同じであることを示す情報を運搬する場合、前記結論は前記トランザクションを実行することである、送信することと
を行うために使用されることを特徴とするコーディネータ。 - 前記コーディネータおよび前記参加者はすべてオブジェクトベースのストレージデバイスOSDであり、前記トランザクションは、すべての前記サブオブジェクトの読み取り、すべての前記サブオブジェクトの削除、またはすべての前記サブオブジェクトの書き込みであることを特徴とする請求項10に記載のコーディネータ。
- 前記プログラム命令は、元のコーディネータによって送信された前記トランザクションID、前記オブジェクトID、前記オブジェクトの前記変更情報、および参加者のリストを受信するためにさらに使用されることを特徴とする請求項10または11に記載のコーディネータ。
- 前記オブジェクトの前記変更情報は、前記オブジェクトのバージョン番号であることを特徴とする請求項10乃至12のいずれか一項に記載のコーディネータ。
- コーディネータに適用されるトランザクション処理方法であって、前記コーディネータは、参加者に通信可能に接続され、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、前記サブオブジェクトのうちの1つは、前記コーディネータ内にあり、その他のサブオブジェクトは、異なる参加者内にあり、前記方法は、
前記コーディネータによって、問合せメッセージを各参加者に送信するステップであって、前記問合せメッセージは、トランザクションIDおよびオブジェクトIDを運搬し、前記トランザクションIDは、トランザクションを識別するために使用され、前記オブジェクトIDは、前記オブジェクトを識別するために使用され、変更情報は、前記オブジェクトのコンテンツに対応し、異なる変更情報を有する前記オブジェクトのコンテンツは異なっている、ステップと、
前記コーディネータによって、前記参加者のいずれか一人から前記問合せメッセージに対する応答メッセージを受信するステップであって、前記応答メッセージは、前記応答メッセージを送信する前記参加者内の前記オブジェクトの変更情報を運搬する、ステップと、
前記コーディネータによって、前記応答メッセージに応じて結論を引き出し、前記コーディネータによって、前記結論を実行し、前記結論を前記参加者に送信するステップであって、前記結論は、
前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの変更情報と同じ場合、前記結論は、前記トランザクションを実行することであること、または、
前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの変更情報とは異なる場合、前記結論は、前記トランザクションをアボートすることであること
の少なくとも一方を含む、ステップと
を含むことを特徴とするトランザクション処理方法。 - 前記コーディネータおよび前記参加者はすべてオブジェクトベースのストレージデバイスOSDであり、前記トランザクションは、すべての前記サブオブジェクトの読み取り、すべての前記サブオブジェクトの削除、またはすべての前記サブオブジェクトの書き込みであることを特徴とする請求項14に記載の方法。
- 前記参加者内の前記オブジェクトの前記変更情報が、前記コーディネータ内の前記オブジェクトの変更情報とは異なることは、特に、
前記参加者内の前記オブジェクトのバージョンが、前記コーディネータ内の前記オブジェクトのバージョンよりも後である、または、
前記参加者内の前記オブジェクトのバージョンが、前記コーディネータ内の前記オブジェクトのバージョンよりも古い
ことを特徴とする請求項14に記載の方法。 - 前記コーディネータおよび前記参加者は、元のコーディネータに通信可能に接続されており、前記元のコーディネータはサブオブジェクトを有しておらず、その前に、前記方法は、
前記元のコーディネータが故障した後に、元の参加者のうちの1つが前記コーディネータとして選択されることをさらに含むことを特徴とする請求項14乃至16のいずれか一項に記載の方法。 - 元のコーディネータが故障する前に、前記方法は、
前記元のコーディネータによって、操作要求を各参加者に送信するステップであって、前記操作要求は、前記オブジェクトID、操作タイプ、前記コーディネータ内に記録された前記オブジェクトの前記変更情報、および参加者のリストを運搬し、前記参加者のリストは、すべての前記元の参加者を記録している、ステップと、
前記コーディネータによって、準備コマンドを各参加者に送信するステップであって、前記元の参加者のそれぞれが、参加者のリストを受信し記憶し、前記トランザクションのためのリソースを割り当てるように、前記コマンドは、前記トランザクションID、前記オブジェクトID、前記コーディネータ内に記録された前記オブジェクトの前記変更情報、および参加者の前記リストを運搬する、ステップと
をさらに含むことを特徴とする請求項14に記載の方法。 - 前記オブジェクトの前記変更情報は、前記オブジェクトのバージョン番号であることを特徴とする請求項14乃至18のいずれか一項に記載の方法。
- 参加者に通信可能に接続されたトランザクション処理装置であって、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、前記サブオブジェクトのうちの1つは、前記トランザクション処理装置内にあり、その他のサブオブジェクトは、異なる参加者内にあり、前記装置は、
問合せメッセージを各参加者に送信するように構成された問合せモジュールであって、前記問合せメッセージは、トランザクションIDおよびオブジェクトIDを運搬し、前記トランザクションIDは、前記トランザクションを識別するために使用され、前記オブジェクトIDは、前記オブジェクトを識別するために使用され、変更情報は、前記オブジェクトのコンテンツに対応し、異なる変更情報を有する前記オブジェクトのコンテンツは異なっている、問合せモジュールと、
前記参加者のいずれか一人から前記問合せメッセージに対する応答メッセージを受信するように構成された受信モジュールであって、前記応答メッセージは、前記応答メッセージを送信する前記参加者内の前記オブジェクトの変更情報を運搬する、受信モジュールと、
前記応答メッセージに応じて結論を引き出し、コーディネータによって前記結論を実行し、前記結論を前記参加者に送信するように構成された判断モジュールであって、前記結論は、
前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの変更情報と同じ場合、前記結論は、前記トランザクションを実行することであること、または、
前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの変更情報とは異なる場合、前記結論は、前記トランザクションをアボートすることであること
の少なくとも一方を含む、判断モジュールと、
前記判断モジュールの前記結論を実行するように構成された実行モジュールと
を備えることを特徴とするトランザクション処理装置。 - 前記コーディネータおよび前記参加者はすべてオブジェクトベースのストレージデバイスOSDであり、前記トランザクションは、すべての前記サブオブジェクトの読み取り、すべての前記サブオブジェクトの削除、またはすべての前記サブオブジェクトの書き込みであることを特徴とする請求項20に記載のトランザクション処理装置。
- 前記コーディネータおよび前記参加者は、元のコーディネータに通信可能に接続されており、前記元のコーディネータはサブオブジェクトを有しておらず、前記受信モジュールは、
前記元のコーディネータによって送信された前記トランザクションID、前記オブジェクトID、前記オブジェクトの前記変更情報、および参加者のリストを受信するようにさらに構成されることを特徴とする請求項20または21に記載のトランザクション処理装置。 - 前記オブジェクトの前記変更情報は、前記オブジェクトのバージョン番号であることを特徴とする請求項20乃至22のいずれか一項に記載のトランザクション処理装置。
- 参加者に通信可能に接続されたコーディネータであって、トランザクションによって操作されるオブジェクトは、複数のサブオブジェクトにより形成され、前記サブオブジェクトのうちの1つは、前記コーディネータ内にあり、その他のサブオブジェクトは、異なる参加者内にあり、前記コーディネータは、プロセッサ、および前記プロセッサと通信するメモリを備え、前記メモリは、プログラム命令を記憶するように構成され、前記プロセッサは、前記プログラム命令を実行するように構成され、前記プログラム命令は、
問合せメッセージを各参加者に送信することであって、前記問合せメッセージは、トランザクションIDおよびオブジェクトIDを運搬し、前記トランザクションIDは、前記トランザクションを識別するために使用され、前記オブジェクトIDは、前記オブジェクトを識別するために使用され、変更情報は、前記オブジェクトのコンテンツに対応し、異なる変更情報を有する前記オブジェクトのコンテンツは異なっている、送信することと、
前記参加者のいずれか一人から前記問合せメッセージに対する応答メッセージを受信することであって、前記応答メッセージは、前記応答メッセージを送信する前記参加者内の前記オブジェクトの変更情報を運搬する、受信することと、
前記応答メッセージに応じて結論を引き出し、前記結論を実行し、前記結論を前記参加者に送信することであって、前記結論は、
前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの変更情報と同じ場合、前記結論は、前記トランザクションを実行することであること、または、
前記参加者内の前記オブジェクトの前記変更情報が前記コーディネータ内の前記オブジェクトの変更情報とは異なる場合、前記結論は、前記トランザクションをアボートすることであること
の少なくとも一方を含む、送信することと
を行うために使用されることを特徴とするコーディネータ。 - 前記コーディネータおよび前記参加者はすべてオブジェクトベースのストレージデバイスOSDであり、前記トランザクションは、すべての前記サブオブジェクトの読み取り、すべての前記サブオブジェクトの削除、またはすべての前記サブオブジェクトの書き込みであることを特徴とする請求項24に記載のコーディネータ。
- 前記プログラム命令は、元のコーディネータによって送信された前記トランザクションID、前記オブジェクトID、前記オブジェクトの前記変更情報、および参加者のリストを受信するためにさらに使用されることを特徴とする請求項24に記載のコーディネータ。
- 前記オブジェクトの前記変更情報は、前記オブジェクトのバージョン番号であることを特徴とする請求項24に記載のコーディネータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013086169 | 2013-10-29 | ||
CNPCT/CN2013/086169 | 2013-10-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016526114A Division JP6231675B2 (ja) | 2013-10-29 | 2013-11-05 | トランザクション処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018049635A JP2018049635A (ja) | 2018-03-29 |
JP6475304B2 true JP6475304B2 (ja) | 2019-02-27 |
Family
ID=53003210
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016526114A Active JP6231675B2 (ja) | 2013-10-29 | 2013-11-05 | トランザクション処理方法および装置 |
JP2017202754A Active JP6475304B2 (ja) | 2013-10-29 | 2017-10-19 | トランザクション処理方法および装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016526114A Active JP6231675B2 (ja) | 2013-10-29 | 2013-11-05 | トランザクション処理方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9348841B2 (ja) |
EP (2) | EP3514693A1 (ja) |
JP (2) | JP6231675B2 (ja) |
WO (1) | WO2015062113A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065498A1 (en) * | 2014-08-26 | 2016-03-03 | rift.IO, Inc. | Distributed transaction subsystem |
US9509773B2 (en) * | 2014-09-10 | 2016-11-29 | Futurewei Technologies, Inc. | Array-based computations on a storage device |
US10666495B2 (en) | 2017-08-22 | 2020-05-26 | International Business Machines Corporation | Transaction processing |
US11874816B2 (en) * | 2018-10-23 | 2024-01-16 | Microsoft Technology Licensing, Llc | Lock free distributed transaction coordinator for in-memory database participants |
US11640383B2 (en) * | 2018-11-15 | 2023-05-02 | Huawei Technologies Co., Ltd. | Systems and methods for managing a shared database |
WO2022038934A1 (ja) * | 2020-08-18 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
US11625389B2 (en) * | 2021-03-19 | 2023-04-11 | Microsoft Technology Licensing, Llc | Snapshot isolation query transactions in distributed systems |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
US4949251A (en) * | 1988-07-18 | 1990-08-14 | Digital Equipment Corporation | Exactly-once semantics in a TP queuing system |
US5434994A (en) * | 1994-05-23 | 1995-07-18 | International Business Machines Corporation | System and method for maintaining replicated data coherency in a data processing system |
US5781910A (en) * | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
JPH10289142A (ja) * | 1997-04-16 | 1998-10-27 | Kokusai Electric Co Ltd | ネットワークのファイル更新システム |
US7401084B1 (en) * | 2001-06-14 | 2008-07-15 | Oracle International Corporation | Two-phase commit with queryable caches |
JP2006178926A (ja) * | 2004-10-18 | 2006-07-06 | Hitachi Ltd | 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法 |
US20060184528A1 (en) * | 2005-02-14 | 2006-08-17 | International Business Machines Corporation | Distributed database with device-served leases |
JP4177339B2 (ja) * | 2005-02-16 | 2008-11-05 | 株式会社東芝 | 分散システム、コンピュータおよび分散システムの状態遷移制御方法 |
CN101046815A (zh) * | 2007-03-14 | 2007-10-03 | 华为技术有限公司 | 事务协调器、资源使用端、服务端及分布式事务处理方法 |
AU2009256381B2 (en) | 2008-06-03 | 2014-09-18 | Hexagon Technology Center Gmbh | Method and apparatus for copying objects in an object-oriented environment using a multiple-transaction technique |
GB2472620B (en) * | 2009-08-12 | 2016-05-18 | Cloudtran Inc | Distributed transaction processing |
CN101706811B (zh) * | 2009-11-24 | 2012-01-25 | 中国科学院软件研究所 | 一种分布式数据库系统事务提交方法 |
JP5480046B2 (ja) * | 2010-07-12 | 2014-04-23 | 日本電信電話株式会社 | 分散トランザクション処理システム、装置、方法およびプログラム |
US9055065B2 (en) * | 2011-11-21 | 2015-06-09 | Red Hat, lnc. | Managing participant order in distributed transactions |
CN102750322B (zh) * | 2012-05-22 | 2014-11-05 | 中国科学院计算技术研究所 | 一种机群文件系统分布式元数据一致性保证方法和系统 |
US8676851B1 (en) * | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
US9152649B2 (en) * | 2012-10-17 | 2015-10-06 | Datadirect Networks, Inc. | Maintaining order and fault-tolerance in a distributed hash table system |
CN103064635B (zh) * | 2012-12-19 | 2016-08-24 | 华为技术有限公司 | 分布式存储方法和分布式存储装置 |
US9152501B2 (en) * | 2012-12-19 | 2015-10-06 | International Business Machines Corporation | Write performance in fault-tolerant clustered storage systems |
US9652491B2 (en) * | 2013-04-15 | 2017-05-16 | International Business Machines Corporation | Out-of-order execution of strictly-ordered transactional workloads |
-
2013
- 2013-11-05 JP JP2016526114A patent/JP6231675B2/ja active Active
- 2013-11-05 WO PCT/CN2013/086572 patent/WO2015062113A1/zh unknown
- 2013-11-05 EP EP18177451.4A patent/EP3514693A1/en active Pending
- 2013-11-05 EP EP13886150.5A patent/EP3026574B1/en active Active
-
2015
- 2015-06-08 US US14/733,705 patent/US9348841B2/en active Active
-
2016
- 2016-04-14 US US15/099,017 patent/US10055445B2/en active Active
-
2017
- 2017-10-19 JP JP2017202754A patent/JP6475304B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US9348841B2 (en) | 2016-05-24 |
EP3026574B1 (en) | 2018-09-05 |
US20150269185A1 (en) | 2015-09-24 |
US10055445B2 (en) | 2018-08-21 |
US20160232198A1 (en) | 2016-08-11 |
WO2015062113A1 (zh) | 2015-05-07 |
EP3514693A1 (en) | 2019-07-24 |
JP2016538631A (ja) | 2016-12-08 |
JP6231675B2 (ja) | 2017-11-15 |
EP3026574A1 (en) | 2016-06-01 |
EP3026574A4 (en) | 2016-08-24 |
JP2018049635A (ja) | 2018-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6475304B2 (ja) | トランザクション処理方法および装置 | |
US20210173853A1 (en) | Selective synchronization of content items in a content management system | |
KR101573965B1 (ko) | 분산형 저장 시스템 내의 데이터의 원자 다중 변경 | |
US7702741B2 (en) | Configuring or reconfiguring a multi-master information sharing environment | |
US9952940B2 (en) | Method of operating a shared nothing cluster system | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US10949401B2 (en) | Data replication in site recovery environment | |
US20070143286A1 (en) | File management method in file system and metadata server therefor | |
JP2005242403A (ja) | 計算機システム | |
CN107247729B (zh) | 一种文件处理方法和装置 | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
CN106997305B (zh) | 一种事务处理方法与装置 | |
CN102597995B (zh) | 同步数据库和非数据库资源 | |
JP6083268B2 (ja) | レプリケーションシステム | |
CN110196788B (zh) | 一种数据读取方法、装置、系统及存储介质 | |
WO2023103340A1 (zh) | 一种区块数据提交的方法及装置 | |
JP6697101B2 (ja) | 情報処理システム | |
CN115599295A (zh) | 一种存储系统的节点扩容方法和装置 | |
JP5480046B2 (ja) | 分散トランザクション処理システム、装置、方法およびプログラム | |
CN104220982A (zh) | 一种事务处理方法与装置 | |
CN111142791A (zh) | 数据迁移方法和装置 | |
JP4715777B2 (ja) | レプリケーション方法及びストレージ装置並びにプログラム | |
JP2010039988A (ja) | ファイル管理方法、装置及びプログラム | |
CN114722125A (zh) | 数据库事务处理的方法、装置、设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180511 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181207 |
|
TRDD | Decision of grant or rejection written | ||
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20181207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190131 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6475304 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |