JP6581315B2 - リアルタイムのトランザクション的に一貫性のある変更通知 - Google Patents
リアルタイムのトランザクション的に一貫性のある変更通知 Download PDFInfo
- Publication number
- JP6581315B2 JP6581315B2 JP2018543113A JP2018543113A JP6581315B2 JP 6581315 B2 JP6581315 B2 JP 6581315B2 JP 2018543113 A JP2018543113 A JP 2018543113A JP 2018543113 A JP2018543113 A JP 2018543113A JP 6581315 B2 JP6581315 B2 JP 6581315B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- change log
- max
- commit time
- data 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
Links
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/2358—Change logging, detection, and notification
-
- 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
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/465—Distributed object oriented systems
-
- 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/466—Transaction processing
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Description
分散ストレージシステムは、データストア内の1つ以上のメモリ場所にオーバーレイしているメモリハードウェア上にデータを格納する。ウォッチャはスタンディングクエリ(standing query)を発行して、分散システム上に格納された特定のデータをサブスクライブし、サブスクライブしているデータがミューテーションを受けるといつでも変更通知を受信し得る。たとえば、ライタは書込トランザクションを実行して、分散システム上に格納された特定のデータを修正/ミューテートし得、当該データが修正されると当該データをサブスクライブしているウォッチャに通知される。しかし、分散システムに対する需要が増加すると、多数の変更/書込が同時に起こった場合、分散システムがオーバーランされて変更通知をリアルタイムでストリームすることができなくなる。高需要の期間中は、サブスクリプションを完全にドロップして分散システムに対する負荷を軽減することが知られている。この理由で、順序通りの配信が保証されずに設計されるシステムもあり、順序付けはクライアントに委ねられることが多い。しかし、この結果、サブスクライブしているウォッチャが分散データの一貫性のないスナップショットを受信することになる。さらに、分散システム上に格納されたデータに対する各トランザクションを記録するために変更ログを用いることが知られている。これらの変更ログはデータストアに加えられるすべての変更を記録し、データストア上で読出トランザクションが起こると、変更ログは所与のスナップショットのすべてのデータについてのオン/オフチェックポイントとして機能する。
分散システム上で耐久性のある変更ログを使用すると、当該変更ログを単一のマシン上に時折トランケートすることが一般に必要であるため、トランザクションが実行を待機する間にボトルネックが生じてしまう。したがって、耐久性のある変更ログは、分散システムに対する需要が高い期間中は、その固有のスケーラビリティ限界のために、分散システムによって与えられる分散機能を無効にしてしまう。
インメモリ変更ログ、または変更ログキャッシュを有する分散システムは、当該分散システム上で実行されるトランザクションのトランザクション履歴を格納して、ウォッチサブスクリプションをより高速に処理し、それによって当該トランザクションが実行されるとほぼ「リアルタイムの」更新を提供する。したがって、このメモリ上のキャッシングによって、分散システムの多くの(たとえば1,000個の)マシンにわたって実行されるトランザクションのトランザクション履歴を単一の変更ログキャッシュが格納するので、増加したスケーラビリティが提供される。一般に、分散システム上の所与のデータストアが毎秒処理可能なトランザクションの数は、変更ログキャッシュが毎秒実行し得るタスクの数よりも多い。ファンインポイント(fan-in point)において変更ログキャッシュがデータストアに発行されるすべてのトランザクション要求に対処するためのスループットの減少を軽減するために、実装例は、高需要時に、変更ログキャッシュを、異なるコンピューティングリソース上で実行される複数の変更ログキャッシュ(たとえば変更ログ処理の複数のインスタンス)に動的に分割することを含む。その後、この複数の変更ログキャッシュ、およびそれらの関連付けられたトランザクション履歴が日和見的に互いにマージされて、ファンアウトポイント(fan-out point)において1つ以上のサブスクライブしているウォッチャについてのトランザクション履歴の保証または一貫性が維持され得る。
Claims (31)
- 方法であって、
データ処理ハードウェア(112)によって、分散システム(200)についての変更ログ処理(500)の初期のインスタンス(310)を実行することを備え、前記変更ログ処理(500)の各インスタンス(310)は、前記分散システム(200)上で実行されるトランザクション(204、214)のトランザクション履歴(312)を、前記データ処理ハードウェア(112)と通信しているメモリハードウェア(114)上に格納するように構成され、前記方法はさらに、
前記データ処理ハードウェア(112)において、前記分散システム(200)上で対応するトランザクション(204、214)を実行するためのトランザクション要求(138)を受信することと、
前記データ処理ハードウェア(112)によって、受信した前記トランザクション要求(138)に基づいて変更ログ負荷を求めることと、
前記変更ログ負荷が閾値負荷を満たす場合、前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)の少なくとも1つのその後のインスタンス(310)を実行することと、
前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)の複数のインスタンスが実行中であるか否かを判断することと、
前記変更ログ処理(500)の複数のインスタンスが実行中である場合、
前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の実行を中止することと、
前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)の前記初期のインスタンス(310)の前記トランザクション履歴(312)と、前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の前記トランザクション履歴(312)とをマージすることとを備える、方法。 - 前記メモリハードウェア(114)の変更ログキャッシュ(310)に各トランザクション履歴(312)を格納することをさらに備える、請求項1に記載の方法。
- 前記各トランザクション履歴(312)を格納することは、
前記データ処理ハードウェア(112)によって、前記トランザクション履歴(312)をデータストライプにシャードすることと、
各データストライプを複製することと、
前記データストライプおよび複製した前記データストライプを前記メモリハードウェア(114)の複数の記憶場所(250)に格納することとを備える、請求項2に記載の方法。 - 前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)を実行した後に前記変更ログ負荷が前記閾値負荷を満たさない場合、
前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の実行を中止することと、
前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)の前記初期のインスタンス(310)の前記トランザクション履歴(312)と、前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の前記トランザクション履歴(312)とをマージすることとをさらに備える、請求項1から3のいずれか1項に記載の方法。 - 各トランザクション要求(138)を受信したことに応答して、
前記データ処理ハードウェア(112)によって実時間を得ることと、
前記データ処理ハードウェア(112)によって、前記実時間に基づいて最大コミット時間(TDMax)を求めることとをさらに備え、前記最大コミット時間(TDMax)は、前記分散システム(200)上で前記対応するトランザクション(204、214)の実行を完了する最大時間を指定しており、さらに、
前記最大コミット時間(TDMax)を前記データ処理ハードウェア(112)から前記メモリハードウェア(114)の少なくとも1つの変更ログキャッシュ(310)に通信することを備える、請求項1から4のいずれか1項に記載の方法。 - 前記少なくとも1つの変更ログキャッシュ(310)は前記実時間から前記最大コミット時間(TDMax)まで通知ロックを設定し、前記通知ロックは、前記対応する変更ログキャッシュ(310)が、前記最大コミット時間(TDMax)よりも早い対応するコミット時間を有する完了済のトランザクション(204、214)について1つ以上のサブスクライブしているウォッチャ(322)に通知することを防止する、請求項5に記載の方法。
- 前記少なくとも1つの変更ログキャッシュ(310)は前記最大コミット時間(TDMax)の終わりに前記通知ロックを解除し、解除された前記通知ロックは、前記対応する変更ログキャッシュ(310)が、前記最大コミット時間(TDMax)よりも早い前記対応するコミット時間を有する完了済の各トランザクション(204、214)について前記1つ以上のサブスクライブしているウォッチャ(322)に通知することを許可する、請求項6に記載の方法。
- 前記最大コミット時間(TDMax)を通信した後、
前記データ処理ハードウェア(112)によって、前記分散システム(200)上で前記対応するトランザクション(204、214)の実行をコミットすることをさらに備え、前記トランザクション(204、214)は前記最大コミット時間(TDMax)を備え、さらに、
前記対応するトランザクション(204、214)が前記最大コミット時間(TDMax)にまたは前記最大コミット時間(TDMax)の前に各自のコミット時間を備える場合は前記分散システム(200)上の前記対応するトランザクション(204、214)の実行が受付けられることを示すトランザクション結果(332)を、前記データ処理ハードウェア(112)によって得ることと、
前記トランザクション結果(332)を前記データ処理ハードウェア(112)から前記少なくとも1つの変更ログキャッシュ(310)に通信することとを備え、受信した前記トランザクション結果(332)によって、前記少なくとも1つの変更ログキャッシュ(310)は、前記対応するトランザクション(204、214)と関連付けられた少なくとも1つのミューテーションを記録する、請求項5に記載の方法。 - 前記少なくとも1つの変更ログキャッシュ(310)は、記録された前記ミューテーションを前記データ処理ハードウェア(112)上で実行される1つ以上のウォッチャプロキシ(314)に通信し、各ウォッチャプロキシ(314)は、前記最大コミット時間(TDMax)の終わりに前記対応するトランザクション(204、214)の各自のサブスクライブしているウォッチャ(322)に通知(350)を提供するように構成され、前記通知(350)は記録された前記ミューテーションを備える、請求項8に記載の方法。
- 前記通知(350)は、前記最大コミット時間(TDMax)の前記終わりに前記トランザクション履歴(312)の一貫性のあるスナップショットをさらに備え、前記一貫性のあるスナップショットは、前記対応するトランザクション(204、214)と、前記最大コミット時間(TDMax)よりも早い対応するコミット時間を有するいずれかの完了済のトランザクション(204、214)とを備える、請求項9に記載の方法。
- 前記最大コミット時間(TDMax)を通信した後、
前記データ処理ハードウェア(112)によって、前記分散システム(200)上で前記対応するトランザクション(204、214)の実行をコミットすることをさらに備え、前記トランザクション(204、214)は前記最大コミット時間(TDMax)を備え、さらに、
前記対応するトランザクション(204、214)が前記最大コミット時間(TDMax)にまたは前記最大コミット時間(TDMax)の前にコミットできない場合は前記分散システム(200)上の前記対応するトランザクション(204、214)の実行が拒絶されることを示すトランザクション結果(332)を、前記データ処理ハードウェア(112)によって得ることと、
前記トランザクション結果(332)を前記データ処理ハードウェア(112)から前記少なくとも1つの変更ログキャッシュ(310)に通信することとを備え、受信した前記トランザクション結果(332)によって、前記少なくとも1つの変更ログキャッシュ(310)は、前記トランザクション処理が前記最大コミット時間(TDMax)を前記少なくとも1つの変更ログキャッシュ(310)に通信した前記実時間と前記最大コミット時間(TDMax)との間の前記トランザクション履歴(312)にギャップを作成する、請求項5に記載の方法。 - 前記少なくとも1つの変更ログキャッシュ(310)は、前記トランザクション履歴(312)の前記ギャップを前記データ処理ハードウェア(112)上で実行される1つ以上のウォッチャプロキシ(314)に通信し、各ウォッチャプロキシ(314)は、前記最大コミット時間(TDMax)の終わりに前記対応するトランザクション(204、214)の各自のサブスクライブしているウォッチャ(322)に通知(350)を提供するように構成され、前記通知(350)は前記トランザクション履歴(312)の前記ギャップ中にキャッシュミスを備える、請求項11に記載の方法。
- 前記データ処理ハードウェア(112)によって、オフラインイベント(650)の後に前記変更ログ処理(500)の再開を決定することと、
前記データ処理ハードウェア(112)上で実行される前記変更ログ処理(500)において、実時間を得ることと、
前記データ処理ハードウェア(112)によって、前記変更ログ処理(500)が再開すると前記実時間に基づいて現在のシーケンス番号を求めることと、
前記データ処理ハードウェア(112)によって、前記現在のシーケンス番号からグローバルな最大コミット時間遅延(TDMax)を待機してから、前記分散システム(200)上で実行されるいずれかのトランザクション(204、214)についての前記トランザクション履歴(312)を更新することとをさらに備える、請求項1から12のいずれか1項に記載の方法。 - 前記変更ログ処理(500)の前記再開の前に前記分散システム(200)上で実行されるトランザクション(204、214)は、前記グローバルな最大コミット時間遅延(TCDMax)内に完了する、請求項13に記載の方法。
- マージした前記トランザクション履歴(312)を1つ以上のサブスクライブしているウォッチャ(322)に送信することをさらに備え、サブスクライブしている各ウォッチャ(322)は、前記メモリハードウェア(114)上に格納されたデータ(202)についての変更通知(350)を受信するためのスタンディングクエリ(130)を有する、請求項1から14のいずれか1項に記載の方法。
- システム(100)であって、
分散システム(200)のデータ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信しているメモリハードウェア(114)とを備え、前記メモリハードウェア(114)は、前記データ処理ハードウェア(112)上で実行されると前記データ処理ハードウェア(112)に動作を実行させる命令を格納しており、前記動作は、
分散システム(200)についての変更ログ処理(500)の初期のインスタンス(310)を実行することを備え、前記変更ログ処理(500)の各インスタンス(310)は、前記分散システム(200)上で実行されるトランザクション(204、214)のトランザクション履歴(312)を前記メモリハードウェア(114)上に格納するように構成され、前記動作はさらに、
前記分散システム(200)上で対応するトランザクション(204、214)を実行するためのトランザクション要求(138)を受信することと、
受信した前記トランザクション要求(138)に基づいて変更ログ負荷を求めることと、
前記変更ログ負荷が閾値負荷を満たす場合、前記変更ログ処理(500)の少なくとも1つのその後のインスタンス(310)を実行することと、
前記変更ログ処理(500)の複数のインスタンスが実行中であるか否かを判断することと、
前記変更ログ処理(500)の複数のインスタンスが実行中である場合、
前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の実行を中止することと、
前記変更ログ処理(500)の前記初期のインスタンス(310)の前記トランザクション履歴(132)と、前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の前記トランザクション履歴(132)とをマージすることとを備える、システム。 - 前記動作はさらに、前記メモリハードウェア(114)の変更ログキャッシュ(310)に各トランザクション履歴(132)を格納することを備える、請求項16に記載のシステム(100)。
- 前記各トランザクション履歴(132)を格納することは、
前記トランザクション履歴(132)をデータストライプにシャードすることと、
各データストライプを複製することと、
前記データストライプおよび複製した前記データストライプを前記メモリハードウェア(114)の複数の記憶場所(250)に格納することとを備える、請求項17に記載のシステム(100)。 - 前記動作はさらに、
前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)を実行した後に前記変更ログ負荷が前記閾値負荷を満たさない場合、
前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の実行を中止することと、
前記変更ログ処理(500)の前記初期のインスタンス(310)の前記トランザクション履歴(132)と、前記変更ログ処理(500)の前記少なくとも1つのその後のインスタンス(310)の前記トランザクション履歴(132)とをマージすることとを備える、請求項16から18のいずれか1項に記載のシステム(100)。 - 前記動作はさらに、各トランザクション要求(138)を受信したことに応答して、
実時間を得ることと、
前記実時間に基づいて最大コミット時間(TCDMax)を求めることとを備え、前記最大コミット時間(TCDMax)は、前記分散システム(200)上で前記対応するトランザクション(204、214)の実行を完了する最大時間を指定しており、前記動作はさらに、
前記最大コミット時間(TCDMax)を前記メモリハードウェア(114)の少なくとも1つの変更ログキャッシュ(310)に通信することを備える、請求項16から19のいずれか1項に記載のシステム(100)。 - 前記少なくとも1つの変更ログキャッシュ(310)は前記実時間から前記最大コミット時間(TCDMax)まで通知ロックを設定し、前記通知ロックは、前記対応する変更ログキャッシュ(310)が、前記最大コミット時間(TCDMax)よりも早い対応するコミット時間を有する完了済のトランザクション(204、214)について1つ以上のサブスクライブしているウォッチャ(322)に通知することを防止する、請求項20に記載のシステム(100)。
- 前記少なくとも1つの変更ログキャッシュ(310)は前記最大コミット時間(TCDMax)の終わりに前記通知ロックを解除し、解除された前記通知ロックは、前記対応する変更ログキャッシュ(310)が、前記最大コミット時間(TCDMax)よりも早い前記対応するコミット時間を有する完了済の各トランザクション(204、214)について前記1つ以上のサブスクライブしているウォッチャ(322)に通知することを許可する、請求項21に記載のシステム(100)。
- 前記動作はさらに、前記最大コミット時間(TCDMax)を通信した後、
前記分散システム(200)上で前記対応するトランザクション(204、214)の実行をコミットすることを備え、前記トランザクション(204、214)は前記最大コミット時間(TCDMax)を備え、前記動作はさらに、
前記対応するトランザクション(204、214)が前記最大コミット時間(TDMax)にまたは前記最大コミット時間(TDMax)の前に各自のコミット時間を備える場合は前記分散システム(200)上の前記対応するトランザクション(204、214)の実行が受付けられることを示すトランザクション結果(332)を得ることと、
前記トランザクション結果(332)を前記少なくとも1つの変更ログキャッシュ(310)に通信することとを備え、受信した前記トランザクション結果(332)によって、前記少なくとも1つの変更ログキャッシュ(310)は、前記対応するトランザクション(204、214)と関連付けられた少なくとも1つのミューテーションを記録する、請求項20に記載のシステム(100)。 - 前記少なくとも1つの変更ログキャッシュ(310)は、記録された前記ミューテーションを前記データ処理ハードウェア(112)上で実行される1つ以上のウォッチャプロキシ(314)に通信し、各ウォッチャプロキシ(314)は、前記最大コミット時間(TDMax)の終わりに前記対応するトランザクション(204、214)の各自のサブスクライブしているウォッチャ(322)に通知(350)を提供するように構成され、前記通知(350)は記録された前記ミューテーションを備える、請求項23に記載のシステム(100)。
- 前記通知(350)は、前記最大コミット時間(TDMax)の前記終わりに前記トランザクション履歴(132)の一貫性のあるスナップショットをさらに備え、前記一貫性のあるスナップショットは、前記対応するトランザクション(204、214)と、前記最大コミット時間(TDMax)よりも早い対応するコミット時間を有するいずれかの完了済のトランザクション(204、214)とを備える、請求項24に記載のシステム(100)。
- 前記動作はさらに、前記最大コミット時間(TDMax)を通信した後、
前記分散システム(200)上で前記対応するトランザクション(204、214)の実行をコミットすることを備え、前記トランザクション(204、214)は前記最大コミット時間(TDMax)を備え、前記動作はさらに、
前記対応するトランザクション(204、214)が前記最大コミット時間(TDMax)にまたは前記最大コミット時間(TDMax)の前にコミットできない場合は前記分散システム(200)上の前記対応するトランザクション(204、214)の実行が拒絶されることを示すトランザクション結果(332)を得ることと、
前記トランザクション結果(332)を前記少なくとも1つの変更ログキャッシュ(310)に通信することとを備え、受信した前記トランザクション結果(332)によって、前記少なくとも1つの変更ログキャッシュ(310)は、前記トランザクション処理が前記最大コミット時間(TDMax)を前記少なくとも1つの変更ログキャッシュ(310)に通信した前記実時間と前記最大コミット時間(TDMax)との間の前記トランザクション履歴(132)にギャップを作成する、請求項20に記載のシステム(100)。 - 前記少なくとも1つの変更ログキャッシュ(310)は、前記トランザクション履歴(132)の前記ギャップを前記データ処理ハードウェア(112)上で実行される1つ以上のウォッチャプロキシ(314)に通信し、各ウォッチャプロキシ(314)は、前記最大コミット時間(TDMax)の終わりに前記対応するトランザクション(204、214)の各自のサブスクライブしているウォッチャ(322)に通知(350)を提供するように構成され、前記通知(350)は前記トランザクション履歴(132)の前記ギャップ中にキャッシュミスを備える、請求項26に記載のシステム(100)。
- 前記動作はさらに、
オフラインイベントの後に前記変更ログ処理(500)の再開を決定することと、
実時間を得ることと、
前記変更ログ処理(500)が再開すると前記実時間に基づいて現在のシーケンス番号を求めることと、
前記現在のシーケンス番号からグローバルな最大コミット時間遅延(TDMax)を待機してから、前記分散システム(200)上で実行されるいずれかのトランザクション(204、214)についての前記トランザクション履歴(132)を更新することとを備える、請求項16から27のいずれか1項に記載のシステム(100)。 - 前記変更ログ処理(500)の前記再開の前に前記分散システム(200)上で実行されるトランザクション(204、214)は、前記グローバルな最大コミット時間遅延(TDMax)内に完了する、請求項28に記載のシステム(100)。
- 前記動作はさらに、マージした前記トランザクション履歴(132)を1つ以上のサブスクライブしているウォッチャ(322)に送信することを備え、サブスクライブしている各ウォッチャ(322)は、前記メモリハードウェア(114)上に格納されたデータ(202)についての変更通知(350)を受信するためのスタンディングクエリ(130)を有する、請求項16から29のいずれか1項に記載のシステム(100)。
- コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに、請求項1から15のいずれか1項に記載の方法を実行させる、プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/163,832 | 2016-05-25 | ||
US15/163,832 US10509778B2 (en) | 2016-05-25 | 2016-05-25 | Real-time transactionally consistent change notifications |
PCT/US2017/029888 WO2017204988A1 (en) | 2016-05-25 | 2017-04-27 | Real-time transactionally consistent change notifications |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019511770A JP2019511770A (ja) | 2019-04-25 |
JP6581315B2 true JP6581315B2 (ja) | 2019-09-25 |
Family
ID=58699284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018543113A Active JP6581315B2 (ja) | 2016-05-25 | 2017-04-27 | リアルタイムのトランザクション的に一貫性のある変更通知 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10509778B2 (ja) |
EP (2) | EP3465433A1 (ja) |
JP (1) | JP6581315B2 (ja) |
KR (2) | KR102285920B1 (ja) |
CN (2) | CN108701051B (ja) |
AU (1) | AU2017269114B2 (ja) |
WO (1) | WO2017204988A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10951706B2 (en) * | 2016-12-09 | 2021-03-16 | Google Llc | High-throughput algorithm for multiversion concurrency control with globally synchronized time |
US10686883B2 (en) * | 2017-07-07 | 2020-06-16 | Hewlett Packard Enterprise Development Lp | Bluetooth low energy devices |
CN107609129B (zh) * | 2017-09-18 | 2021-03-23 | 北京奇虎科技有限公司 | 日志实时处理系统 |
US11089133B1 (en) | 2017-11-22 | 2021-08-10 | Amazon Technologies, Inc. | Synchronizing data with delayed subscriptions |
US11126610B1 (en) | 2017-11-22 | 2021-09-21 | Amazon Technologies, Inc. | Conflict resolution in a data proxy |
US10891282B1 (en) * | 2017-11-22 | 2021-01-12 | Amazon Technologies, Inc. | Mutations with immediate feedback |
US11159634B1 (en) * | 2017-11-22 | 2021-10-26 | Amazon Technologies, Inc. | Subscription fan out |
CN109640033B (zh) * | 2018-11-05 | 2021-03-23 | 视联动力信息技术股份有限公司 | 信息同步方法和装置 |
CN110866036B (zh) * | 2019-11-15 | 2023-02-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、系统、装置、终端及可读存储介质 |
CN111190912B (zh) * | 2019-12-27 | 2023-06-20 | 山大地纬软件股份有限公司 | 一种基于行变更的面向大事务的分片执行方法和装置 |
CN113342525A (zh) * | 2020-07-24 | 2021-09-03 | 北京一流科技有限公司 | 分布式数据处理系统及其方法 |
CN112559475B (zh) * | 2020-12-11 | 2023-01-10 | 上海哔哩哔哩科技有限公司 | 数据实时捕获和传输方法及系统 |
CN113268471B (zh) * | 2021-06-24 | 2023-09-22 | 京东科技控股股份有限公司 | 处理分布式事务的方法、代理连接池、系统、设备及介质 |
US20230385264A1 (en) * | 2022-05-31 | 2023-11-30 | Arista Networks, Inc. | Managing subscriptions to data queries that react and update to change notifications |
CN115658805B (zh) * | 2022-09-15 | 2023-10-17 | 星环信息科技(上海)股份有限公司 | 一种事务一致性管理引擎及方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925476B1 (en) * | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US8479258B2 (en) * | 2011-01-06 | 2013-07-02 | Martin Herman Weik, III | Garage management system |
US20040220945A1 (en) * | 2003-05-01 | 2004-11-04 | International Business Machines Corporation | Method, system and program product for selectively centralizing log entries in a computing environment |
US7457914B2 (en) * | 2005-03-25 | 2008-11-25 | Emc Corporation | Asynchronous event notification |
US7822759B2 (en) * | 2005-12-13 | 2010-10-26 | Microsoft Corporation | Query-driven sharing and syndication |
US7437359B2 (en) * | 2006-04-05 | 2008-10-14 | Arcsight, Inc. | Merging multiple log entries in accordance with merge properties and mapping properties |
US8086650B1 (en) * | 2007-06-15 | 2011-12-27 | Ipswitch, Inc. | Method for transforming and consolidating fields in log records from logs generated on different operating systems |
JP2009075655A (ja) * | 2007-09-18 | 2009-04-09 | Hitachi Ltd | ファイル管理システム、ファイル管理方法、およびファイル管理プログラム |
US8020046B2 (en) * | 2007-10-15 | 2011-09-13 | International Business Machines Corporation | Transaction log management |
US8336053B2 (en) * | 2007-10-15 | 2012-12-18 | International Business Machines Corporation | Transaction management |
US8650155B2 (en) * | 2008-02-26 | 2014-02-11 | Oracle International Corporation | Apparatus and method for log based replication of distributed transactions using globally acknowledged commits |
US20090320047A1 (en) * | 2008-06-23 | 2009-12-24 | Ingboo Inc. | Event Bundling |
US8149090B2 (en) * | 2008-08-18 | 2012-04-03 | Sensormatic Electronics, LLC | Mobile wireless network for asset tracking and supply chain monitoring |
KR101065410B1 (ko) * | 2009-07-28 | 2011-09-16 | 삼성모바일디스플레이주식회사 | 유기 발광 표시 장치 |
US9021304B2 (en) * | 2010-03-11 | 2015-04-28 | Nec Corporation | Fault analysis rule extraction device, fault analysis rule extraction method and storage medium |
US8965860B2 (en) * | 2010-04-01 | 2015-02-24 | Salesforce.Com, Inc. | Methods and systems for bulk uploading of data in an on-demand service environment |
US8671074B2 (en) * | 2010-04-12 | 2014-03-11 | Microsoft Corporation | Logical replication in clustered database system with adaptive cloning |
JP5447668B2 (ja) * | 2010-06-30 | 2014-03-19 | 富士通株式会社 | 証跡ログ解析システム、証跡ログ解析プログラム、および証跡ログ解析方法 |
US20120005152A1 (en) * | 2010-07-01 | 2012-01-05 | Peter Westen | Merged Event Logs |
US10430298B2 (en) | 2010-10-28 | 2019-10-01 | Microsoft Technology Licensing, Llc | Versatile in-memory database recovery using logical log records |
US8713581B2 (en) * | 2011-10-27 | 2014-04-29 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US8924375B1 (en) * | 2012-05-31 | 2014-12-30 | Symantec Corporation | Item attention tracking system and method |
JP5747877B2 (ja) * | 2012-07-20 | 2015-07-15 | コニカミノルタ株式会社 | 画像処理連携システム、画像処理連携方法、携帯情報装置、画像処理装置及び連携プログラム |
US8676851B1 (en) | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
US9164702B1 (en) | 2012-09-07 | 2015-10-20 | Google Inc. | Single-sided distributed cache system |
US8924771B2 (en) * | 2012-12-06 | 2014-12-30 | Lsi Corporation | Master-slave expander logging |
US20140189526A1 (en) * | 2013-01-02 | 2014-07-03 | International Business Machines Corporation | Changing log file content generation |
CN106063191B (zh) * | 2013-11-12 | 2019-09-17 | 皮沃塔尔软件公司 | 流事件数据收集 |
US20150347212A1 (en) * | 2014-05-28 | 2015-12-03 | International Business Machines Corporation | Error classification in a computing system |
KR20190044145A (ko) * | 2014-06-24 | 2019-04-29 | 구글 엘엘씨 | 원격 데이터베이스에 대한 변경사항들의 처리 |
SG11201610664UA (en) | 2014-06-26 | 2017-01-27 | Amazon Tech Inc | Multi-database log with multi-item transaction support |
US9661010B2 (en) * | 2014-11-21 | 2017-05-23 | Honeywell International Inc. | Security log mining devices, methods, and systems |
US9736243B2 (en) * | 2014-12-12 | 2017-08-15 | Microsoft Technology Licensing, Llc | Multiple transaction logs in a distributed storage system |
US20170034083A1 (en) * | 2015-07-27 | 2017-02-02 | Breadcrumbs Labs, LLC | Geolocation- and time-based alerts that identify client devices in geographic areas |
CN105426410B (zh) * | 2015-11-02 | 2018-11-09 | 东软集团股份有限公司 | 数据采集系统和用于数据采集系统的分析方法 |
CN105574217B (zh) * | 2016-03-16 | 2019-04-30 | 中国联合网络通信集团有限公司 | 分布式关系型数据库的数据同步方法和装置 |
-
2016
- 2016-05-25 US US15/163,832 patent/US10509778B2/en active Active
-
2017
- 2017-04-27 WO PCT/US2017/029888 patent/WO2017204988A1/en active Application Filing
- 2017-04-27 JP JP2018543113A patent/JP6581315B2/ja active Active
- 2017-04-27 KR KR1020207010641A patent/KR102285920B1/ko active IP Right Grant
- 2017-04-27 AU AU2017269114A patent/AU2017269114B2/en active Active
- 2017-04-27 EP EP17722952.3A patent/EP3465433A1/en not_active Withdrawn
- 2017-04-27 EP EP22180944.5A patent/EP4131000A1/en active Pending
- 2017-04-27 KR KR1020187023518A patent/KR102102269B1/ko active IP Right Grant
- 2017-04-27 CN CN201780011478.6A patent/CN108701051B/zh active Active
- 2017-04-27 CN CN202210197345.5A patent/CN114691306A/zh active Pending
-
2019
- 2019-11-18 US US16/686,411 patent/US11354296B2/en active Active
-
2022
- 2022-05-17 US US17/663,685 patent/US20220276992A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN108701051A (zh) | 2018-10-23 |
EP3465433A1 (en) | 2019-04-10 |
EP4131000A1 (en) | 2023-02-08 |
CN108701051B (zh) | 2022-03-04 |
AU2017269114B2 (en) | 2019-09-26 |
US11354296B2 (en) | 2022-06-07 |
KR20180104006A (ko) | 2018-09-19 |
KR102102269B1 (ko) | 2020-04-20 |
KR20200040938A (ko) | 2020-04-20 |
US20200081880A1 (en) | 2020-03-12 |
WO2017204988A1 (en) | 2017-11-30 |
KR102285920B1 (ko) | 2021-08-03 |
US10509778B2 (en) | 2019-12-17 |
CN114691306A (zh) | 2022-07-01 |
US20170344596A1 (en) | 2017-11-30 |
JP2019511770A (ja) | 2019-04-25 |
AU2017269114A1 (en) | 2018-08-30 |
US20220276992A1 (en) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6581315B2 (ja) | リアルタイムのトランザクション的に一貫性のある変更通知 | |
EP3198419B1 (en) | Managing change events for devices in an enterprise system | |
US20170272346A1 (en) | Client-side fault tolerance in a publish-subscribe system | |
US10803015B2 (en) | Caching system and method | |
US20180336346A1 (en) | Isolated virtual environments for untrusted applications | |
US11354299B2 (en) | Method and system for a high availability IP monitored by both OS/network and database instances | |
US8745635B2 (en) | Managing business process messaging | |
US10877858B2 (en) | Method and system for a speed-up cluster reconfiguration time via a generic fast self node death detection | |
US10419572B2 (en) | Caching system and method | |
US11556407B2 (en) | Fast node death detection | |
US9448827B1 (en) | Stub domain for request servicing | |
US11275601B2 (en) | System and method for auto recovery of deleted virtual machines identified through comparison of virtual machine management application snapshots and having corresponding backups at a storage device | |
US20180278610A1 (en) | Optimizing Data Replication Across Multiple Data Centers | |
US20210334185A1 (en) | Task based service management platform | |
CA3073723A1 (en) | Data rendering for applications | |
US11115365B1 (en) | Messaging overflow service | |
US11544114B1 (en) | Methods for optimizing cloud-scale distributed asynchronous systems with idempotent workloads and devices thereof | |
US11258760B1 (en) | Stateful distributed web application firewall |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181016 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190724 |
|
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: 20190806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190829 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6581315 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |