JP7098007B2 - データベースのための遠隔データ同期方法及び装置 - Google Patents

データベースのための遠隔データ同期方法及び装置 Download PDF

Info

Publication number
JP7098007B2
JP7098007B2 JP2021004094A JP2021004094A JP7098007B2 JP 7098007 B2 JP7098007 B2 JP 7098007B2 JP 2021004094 A JP2021004094 A JP 2021004094A JP 2021004094 A JP2021004094 A JP 2021004094A JP 7098007 B2 JP7098007 B2 JP 7098007B2
Authority
JP
Japan
Prior art keywords
event
data update
service
data
service application
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
JP2021004094A
Other languages
English (en)
Other versions
JP2021068470A (ja
Inventor
トン,イン
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2021068470A publication Critical patent/JP2021068470A/ja
Application granted granted Critical
Publication of JP7098007B2 publication Critical patent/JP7098007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本願はデータベース技術に関し、特にデータベースのための遠隔データ同期方法及び装置に関する。
各所に展開されるデータベース間におけるデータの同期には、普通、データベース関連アプリケーションが関与する。データの同期を必要とするツーエンドでのデータベースが比較的互いに遠く離れていると、従来のデータベース同期技術では同期遅延が拡大し、同期効率は低下してしまう。また、ツーエンドで同一のオブジェクトを変更すると、大幅な遅延によってデータベース側でデータ衝突を生じる可能性があり、それによって、正確なデータ修正をデータベースが拒否し、ツーエンドでのデータベースのデータに不整合が生じ、信頼性は低下する。
上記に鑑み、本願は、高速で信頼性の高いデータ同期を実現するために、データベースのための遠隔データ同期方法及び装置を提供する。
具体的に、本発明は以下の技術的解決により実施される。
第1の態様では、データベースのための遠隔データ同期方法が提供され、当該方法はサービスアプリケーションによって実行され、データベースはサービスアプリケーションのデータを記憶するために用いられ、当該方法は:
データ更新イベントで更新されたサービスデータを取得し、データ更新イベントに対応するイベントバージョンを生成し、サービスデータとイベントバージョンとをイベントオブジェクト内にカプセル化するステップと;
ピアエンドのサービスアプリケーションが、イベントバージョンに従って、データ更新イベントが有効であると判定する際に、ピアエンドのデータベースがサービスデータに従って更新されるようにするために、イベントオブジェクトをピアエンドのサービスアプリケーションに伝送するステップと;を備える。
第2の態様では、データベースのための遠隔データ同期方法が提供され、当該方法はサービスアプリケーションによって実行され、データベースは前記サービスアプリケーションのデータを記憶するために用いられ、当該方法は:
ピアエンドのサービスアプリケーションが送信したイベントオブジェクトを受信するステップであって、イベントオブジェクトはデータ更新イベントで更新されたサービスデータと、データ更新イベントに対応するイベントバージョンとを含み;
イベントバージョンに従いピアエンドのデータ更新イベントが有効であると判定する際に、データ更新イベントで更新されたサービスデータに従って、ローカルデータベースを更新するステップ;を備える。
第3の態様では、データベースのための遠隔データ同期装置が提供され、当該装置はサ
ービスアプリケーション内に配設され、データベースはサービスアプリケーションのデータを記憶するために用いられ、当該装置は:
データ更新イベントで更新されたサービスデータを取得し、データ更新イベントに対応するイベントバージョンを生成し、サービスデータとイベントバージョンとをイベントオブジェクト内にカプセル化するように構成されたイベントカプセル化モジュールと;
ピアエンドのサービスアプリケーションが、イベントバージョンに従って、データ更新イベントが有効であると判定した際に、ピアエンドのデータベースがサービスデータに従って更新されるようにするために、イベントオブジェクトをピアエンドのサービスアプリケーションへ伝送するように構成されたイベント送信モジュールと;を備える。
第4の態様では、データベースのための遠隔データ同期装置が提供され、当該装置はサービスアプリケーション内に配設され、データベースはサービスアプリケーションのデータを記憶するために用いられ、当該装置は:
ピアエンドのサービスアプリケーションが送信したイベントオブジェクトを受信するように構成されたイベント受信モジュールであって、イベントオブジェクトは、データ更新イベントにて更新されたサービスデータと、データ更新イベントに対応したイベントバージョンとを備える、イベント受信モジュールと;
イベントバージョンに従いピアエンドのデータ更新イベントが有効であると判定された際に、データ更新イベントにて更新されたサービスデータに従って、ローカルデータベースを更新するように構成されたデータ更新モジュールと;を備える。
本願で提供されるデータベースのための遠隔データ同期方法及び装置によれば、データ更新情報の高速伝送は、サービスアプリケーションが更新済みデータとイベントバージョンとをイベントオブジェクト中へカプセル化した後、このイベントオブジェクトをピアエンドアプリケーションへ伝送することにより実現され、さらに、データ更新イベントの発生順序をイベントバージョンにより特定することにより、高速で信頼性のあるデータ同期が保証される。
一の実施例におけるデータ同期のアプリケーションシナリオを示す。 一の実施例におけるデータ同期のプラットフォーム構造を示す。 一の実施例におけるデータ同期のイベント送信側エンドでの実行フローを示す。 一の実施例におけるサービスアプリケーションの概略構造図である。 一の実施例におけるデータ同期のイベント受信側エンドでの実行フローを示す。 一の実施例における遠隔データ同期装置の構造図である。
ここでは、例示の実施の形態を、図に示すその実施例を用いて詳細に説明する。特に記載のない限り、以下の説明で図を参照する場合、各図を通じ同一の符号は同一又は類似の要素を示す。以下の例示の実施の形態で述べる実施は、本願と一致する全ての実施を表すものではない。むしろ、これらの実施は、添付の特許請求の範囲で詳述され、本発明のいくつかの態様と一致する、装置及び方法の単なる例に過ぎない。
図1はデータ同期のアプリケーションシナリオを示す。図1に示すように、「サービスアプリケーション」とは、ユーザ情報を取得及び記憶すること、例えば、アリペイ(Alipay(商標))ユーザの、アカウント、電話番号、その他のユーザ情報を記憶することを目的としたアプリケーションであると仮定する。このサービスアプリケーションは、場所Aと場所Bの両方で展開され、この2つの場所は、中国とアメリカ、河北省と江蘇省などのように互いに遠く離れている。サービスアプリケーションのユーザ情報はデータベースに記憶される。例えば、サービスアプリケーションが場所Aで取得したユーザ情報(
例えば、Alipay(商標)のウェブサイト上のユーザ登録から導出したユーザ情報)はデータベースAに記憶される一方、場所Bで取得したユーザ情報はデータベースBに記憶される。サービス要求に基づき、これら2つの場所におけるデータベースのデータの整合性を取るために、場所Aで取得したユーザ情報は場所Bと同期させる必要があり、同様に、場所Bで取得したユーザ情報は場所Aと同期させる必要があるため、データベースAとデータベースBとの間の遠隔データの同期が必要となる。
この実施の形態の遠隔データの同期方法は、データの同期処理がアプリケーション層すなわちサービスアプリケーションにより実行される(図1の実線で示すように、データの同期が2つの場所のサービスアプリケーション間で生じる)という点で、データベース間でのデータの同期モード(図1の点線で示すように、データ同期は、データベースAとデータベースBとの間で直接実行される)とは異なる。以下、データベース層による同期とアプリケーション層による同期とを、遅延パフォーマンスと信頼性の視点から比較する。
遅延パフォーマンス:データベースは、標準同期モードをデータベース同期メカニズムとして採用しているのが普通である。例えば、データベースに記憶された情報が更新されたかどうかを一定の間隔でチェックし、更新された場合には、更新されたデータがその時間間隔内にピアエンドへ伝送される。さらに、伝送モードについては、一つのユーザデータ内のユーザ名の変更を例に挙げて示す。このユーザ名をデータベースが変更する場合、複数のデータベース指示(例えば、複数のSQL文)を実行してデータ更新を実現することができ、また、ピアエンドとの同期時に、これら複数のデータベース指示もピアエンドへ伝送されねばならず、さらに、複数のデータベース指示はその実行順序に従ってピアエンドへ送信されねばならない(例えば、これら指示の一つの受信に成功したピアエンドからのフィードバックを受信してから次の指示を送信する)。これらのすべての要因が原因で、ピアエンドのデータベースへのデータ伝送速度が相対的に遅くなる、特に、このデータ伝送速度は遠隔での(このような長距離の)データ同期では劇的に低下してしまうことになる。
引き続き、この実施の形態のデータ同期方法では、データ更新が発生する度に、サービスアプリケーションは更新済みデータをリアルタイムで即座にピアエンドへ送信する能力がある。そして、伝送モードになった場合、サービスアプリケーションは、このデータ更新に関する情報をサービスレベルで取得することができる。例えば、より具体的でオペレーショナルレベル(operational level)のSQL文ではなく、このデータ更新の結果の方が注視される。例えば、複数のデータベース指示を実行すると、一つのユーザデータのユーザ名が変更され、その他にも、サービスアプリケーションは、例えば変更されたユーザ名が属する一つのユーザデータなどのより多くの情報をサービスレベルで取得し、このデータ更新イベントの発生時間をマーク付けすることが可能である。すなわち、サービスアプリケーションがこのデータ更新全体を一つのイベントとみなし、ピアエンドへの伝送時に、このイベントのデータ更新結果をピアエンドへ一度に直接伝送することができるので、より簡潔で高速となる。
信頼性:データベース同期の従来のメカニズムには、データ同期を実行するツーエンドがデータベース文書を同時に修正しようとする間際に、ツーエンドでのデータ更新の発生順序をデータベース自体が判定することは非常に難しいという欠陥があり、この事実により、データベースが本来は正確なこれらのデータ更新をデータの衝突と見なして拒否してしまうという状況を引き起こす。この実施の形態では、サービスアプリケーション層は、ローカルエンドにおけるデータ更新のタイムマークを記録でき、さらに、様々なデータ更新の順序をタイムマークに応じて判断し、最新データを選択してこれをデータベースに更新することができる。すなわち、アプリケーション層はより多くの処理を実行する能力があり、データベースのデータ同期をより信頼性の高いものにすることができる。
上の説明に基づき、本願の実施の形態における遠隔データの同期方法はサービスアプリケーションによって実行される。図2は、このデータ同期方法の原理を例証する。ここで、場所AのデータベースAにおいてデータ更新が発生し、次に、データを場所Aから場所Bへ同期させる必要があると仮定する。このとき、場所Aのサービスアプリケーションがデータ同期の送信側エンドとして機能し、場所Bにおけるサービスアプリケーションがデータ同期の受信側エンドとして利用される。図2は、送信側エンドとして機能するサービスアプリケーション及び受信側エンドとして機能するサービスアプリケーションのそれぞれが含む処理モジュールを示す。ここで留意すべきは、データを場所Bから場所Aに同期させる場合、図2に示すように、場所Bのサービスアプリケーションは場所Aのサービスアプリケーションの様々なモジュールを含み、同様に、場所Aのサービスアプリケーションは場所Bのサービスアプリケーションの様々なモジュールを含む、すなわち逆方向への一貫したフローがあるということである。以下の実施の形態では、両方向のうちの一方向でのデータ同期の処理手順についてのみ説明する。
図3は、送信側エンドとして機能する場所Aのサービスアプリケーションが実行する遠隔データの同期方法のフローを示す。この方法は、図2及び図3に示すように、以下のステップを含んでよい。
301.サービスアプリケーションが、サービスデータを変更するデータ更新イベントを実行する。
実施例として、サービスアプリケーションは、ユーザ名をJim(ジム)からTom(トム)に変更する要求を、アプリケーションサイトを介してユーザから受信すると、サービスアプリケーションはデータベースを修正することができるようになる。例えば、アプリケーションは、データベースインターフェースを介してデータベースを操作することで、上述のユーザ名の変更を終えることができる。このデータ変更は一の「データ更新イベント」と呼ぶことができる。
この実施の形態では、データベースにデータ文書が記憶されており、各データ文書はこれに記憶されたユーザ情報を含む。データベース内の多種多様なユーザ情報はそれぞれ異なる行に記憶でき、また、一つ一つの行情報はデータ記憶ユニットと呼ぶことができる。例えば、第1データ記憶ユニットは、ユーザY1の情報、例えばUser:{id=1,name=Jim}を記憶するために用いられる。当然ながら、このユニットはさらに多くの情報、例えばUser:{id=1,name=Jim,phone=132****1112}を含んでもよい。第2データ記憶ユニットは、ユーザY2の情報、例えばUser:{id=2,name=Mary}を記憶するために用いられる。ここで、ユーザ情報中のidは、異なるサービスデータを区別するために用いられる「サービスメインキー」と呼ぶことができ、この実施の形態では、異なるidを用いて異なるユーザ情報を区別する。1人のユーザの情報しかない場合は、サービスメインキーを用いなくてよい。
このステップでは、データ更新イベントにて実行するサービスデータの変更を、一のユーザ情報中のデータの一部にすることもできる。例えば、ユーザ情報User:{id=1,name=Jim,phone=132****1112}のうち名前だけを修正できる。しかし、ユーザ情報を記憶するために用いるこの実施の形態のアプリケーションサービスに関し、この実施の形態は、上で述べたユーザ情報の全体を一つのサービスデータとして参照できる。図2に示すように、サービスデータの変更は、サービスアプリケーション内のデータ変更モジュールによって実行できる。
302.サービスアプリケーションは、データ更新イベントで更新されたサービスデー
タを取得し、このデータ更新イベントに対応するイベントバージョンを生成し、サービスデータとイベントバージョンをイベントオブジェクト内にカプセル化する。
実施例として、サービスアプリケーションのデータ変更モジュールによってサービスデータの変更を実行した後、例えば、ユーザ名をJimからTomに変更した後に、サービスアプリケーションは、この変更に対応するサービスデータすなわちUser:{id=1,name=Tom})も取得する必要がある。これはすなわち、このデータ変更はこのサービスデータの名前の変更ということである。
サービスアプリケーションは、このデータ更新イベントに対応するイベントバージョンも生成する。この実施の形態では、データベースデータのデータ更新、例えば一つの追加、削除、修正は、全て「一つのデータ更新イベント」と呼ぶことができる。また、イベントの経時的順序を表すために、イベントの発生順序に従って「イベントバージョン」を記録する。例えば、1回目に発生するイベントのバージョンは「1」つまりversion=1であってよく、2回目に発生するイベントのバージョンは段階1の累増つまりversion=2であってよい。当然ながら、イベントバージョンの累増段階は1である必要はなく、例えば2であってもよい。1回目に発生するイベントのバージョンが1で、2回目に発生する第2イベントのバージョンが3であってもよい、あるいはイベントバージョンを数字で表す必要はなく、代わりに、例えばイベント発生のタイムスタンプで表すこともできる。例えば、1回目に発生するイベントのバージョンが2014.12.31であり、2回目に発生するイベントのバージョンが2015.1.20である場合には、イベント発生の経時的順序をこれらのタイムスタンプで識別することもできる。
このステップでは、図2に示すように、上述のサービスデータを取得する操作とイベントバージョンを生成する操作は、サービスアプリケーションのイベントカプセル化モジュールによって実行でき、さらに、イベントカプセル化モジュールは、サービスデータとイベントバージョンをイベントオブジェクト内にカプセル化することができる。例えば、カプセル化されたイベントオブジェクトは、Event:{user={id=1,name=Tom},version=1}で表すことができる。サービスアプリケーションに複数のユーザ情報が記憶されている場合には、上述のイベントオブジェクトは、このイベントオブジェクトがどのユーザに対応しているかを示すサービスメインキーを含むことができる。
303.サービスアプリケーションは、イベントオブジェクトをピアエンドのサービスアプリケーションへ伝送する。
実施例として、図2に示すように、サービスアプリケーションによってカプセル化されたイベントオブジェクトは、イベント送信モジュールによってピアエンドのサービスアプリケーション(つまり、データ同期を必要とする遠隔ピアエンド)へ送信され、次に、ピアエンドのサービスアプリケーションのイベント受信モジュールによって受信される。この実施の形態では、送信側エンドのイベント送信モジュールと受信側エンドのイベント受信モジュールを総称して「イベント通知プラットフォーム」と呼ぶことができ、このイベント通知プラットフォームは、サービスアプリケーションによってカプセル化されたイベントオブジェクトを伝送するように機能し、伝送はメッセージ形式で完了されてよい。
イベント通知プラットフォームを介してイベントを伝送することにより、リアルタイム伝送を達成できる。例えば、サービスアプリケーションは、データベースのデータの更新後に、リアルタイムでのイベントオブジェクトへのカプセル化を終え、このイベントオブジェクトを、イベント通知プラットフォームを介してピアエンドへ伝送することができ、これにより同期効率は従来の標準的なデータベース同期と比べて著しく向上する。さらに
、一のデータ更新に関して、イベント通知プラットフォームは、一の「イベント」オブジェクトを介して、このデータ更新の情報をピアエンドにその都度伝送することができ、これにより、データベースが一のデータ更新に含まれる複数の指示情報を順次に伝送する従来のモードに対してデータ同期速度が増加する。例えば、国境をまたぐデータ同期において、このプラットフォームは、一のイベントの、ピアエンドへの国境をまたぐ伝送を約数ミリ秒付近でサポートする能力を有する。
この実施の形態では、サービスアプリケーションは、サービスデータとイベントバージョンとをイベントオブジェクト内にカプセル化した後に、イベントオブジェクトを記録することもできる。図4の実施例を参照すると、サービスアプリケーションはイベント記録モジュールをさらに含んでもよく、このモジュールはイベントオブジェクトを記録するように構成でき、またイベントオブジェクトはデータベースに記録でき、さらに各イベントオブジェクトは次のように記録することができる:
Event:{user={id=1,name=Jim},version=0};
Event:{user={id=1,name=Tom},version=1};
一方、イベントオブジェクトを記録することは、ピアエンド(すなわち、受信側エンド)から送信されたイベントオブジェクトを受信すると、イベントの有効性を判定するべく、イベントバージョンに関する情報を、記録されたイベントオブジェクトから抽出するために用いることができ、また、この処理を行うために、受信側エンドで実行される方法の下記説明を参照することができる。他方、全てのイベントオブジェクトを記録することはデータ変更手順のより優れた知見を促し、これにより履歴のトレーサビリティが得られる。
イベント記録モジュールによるイベントオブジェクトの記録は、イベントカプセル化モジュールがイベントオブジェクト内へのカプセル化を終え、このイベントオブジェクトを送信する前、又は、イベント送信モジュールがイベントオブジェクトを送信した後、のいずれかに実行できる。
図5は、受信側エンドとして機能する場所Bのサービスアプリケーションによって実行される遠隔データの同期方法のフローを示す。この方法は、図2及び図5に示すように、以下のステップを含んでもよい。
501.サービスアプリケーションは、ピアエンドのサービスアプリケーションが送信したイベントオブジェクトを受信し、イベントオブジェクトは、データ更新イベントにて更新されたサービスデータと、データ更新イベントに対応するイベントバージョンとを含む。
実施例として、受信側エンドのサービスアプリケーションは、イベント受信モジュールにより、ピアエンドが送信したイベントオブジェクトを受信することができ、このイベントオブジェクトはサービスデータとイベントバージョンとを含んでよく、例えば、イベントオブジェクトは上の実施例で述べたEvent:{user={id=1,name=Tom},version=1}であり、また、2人以上のユーザの情報をデータベースに記憶する場合には、イベントオブジェクトのサービスデータは、サービスメインキーと更新対象のデータとを少なくとも含み、このサービスメインキーを用いて異なるユーザ情報を区別する。
502.サービスアプリケーションは、イベントオブジェクト内のサービスメインキーに従って、ローカルに記録されている、このサービスメインキーに対応するデータ更新イベントのイベントバージョンを取得する。
実施例として、図2に示すように、サービスアプリケーション内のデータ更新モジュールは、イベントオブジェクトのカプセル化解除を行うことで、イベントオブジェクト内のサービスメインキーとイベントバージョンとを取得することができ、例えば、上述のイベントでは、サービスメインキーはid=1、イベントバージョンはversion=1である。
イベント記録モジュールを介することで、サービスアプリケーション自体が発生したイベントオブジェクトを記録できることは図3に示す実施例で述べた。このステップでは、受信したピアエンドのイベントオブジェクト内のサービスメインキーid=1に従って、データ更新モジュールが、ローカルに記録されている、サービスメインキーに対応するデータ更新イベントのイベントバージョンを取得することができる。例えば、サービスメインキーとイベントバージョンとに関する情報、例えば{id=1,version=0}を、ローカルに記録されているイベント記録から抽出する。同一のidに対応する複数のイベントバージョンがローカルに記録されている場合には、最後に発生したイベントのイベントバージョン、例えば、最新の時間のもの又はバージョン番号が最大のものを取得する。
503.サービスアプリケーションは、受信したデータ更新イベントが有効であるか否かをイベントバージョンに従って判断する。
実施例として、サービスアプリケーションのデータ更新モジュールは、ローカルに記録されているイベントバージョンを、同一のidに対応している受信したピアエンドのイベントバージョンと比較する。ピアエンドのイベントの発生時間の方が遅い場合には、ピアエンドのイベントが有効である、つまり、これが最新のデータ更新イベントであることを意味し、また、ピアエンドのイベントの発生時間の方が早い場合には、最新のデータ更新イベントがローカルに記録されており、ピアエンドのイベントは無効であることを意味する。
データ更新イベントが有効であるか否かを具体的に判定する場合、上述の実施例にてイベントバージョンの数を比較することができる。ピアエンドイベントのイベントバージョンversion=1がローカルエンドのイベントバージョンversion=0よりも大きい場合には、ピアエンドのデータ更新イベントは有効と判定し、504を実行するように進み、それ以外の場合は、ピアエンドのイベントバージョンがローカルエンドのイベントバージョンよりも小さいと仮定し、ピアエンドのイベントは無効であると判定して、506を実行できる。加えて、イベントバージョンがタイムスタンプで表されている場合、これらのタイムスタンプ同士を同様に比較して、ローカルエンドとピアエンドのイベント発生の経時的順序を判断する。
504.サービスアプリケーションは、データ更新イベントで更新されたサービスデータに従って、ローカルデータベースを更新する。
実施例として、サービスアプリケーションは、ピアエンドのデータ更新イベントが有効であると判定した後、データベース内の対応するサービスデータを変更するためにデータベースインターフェースを呼び出す。つまり、user={id=1,name=Tom}に従って、ローカルサービスデータをuser={id=1,name=Tom}に更新する。
505.サービスアプリケーションによってイベントオブジェクトを記録する。
実施例として、サービスアプリケーションは、ピアエンドのデータ更新イベントに従ってローカルデータベース内のサービスデータを更新した後に、このイベントに従って、ローカルに記録されているイベントオブジェクトをさらに更新し、また、上の実施例で述べたように、サービスアプリケーションは、最新のイベントオブジェクトEvent:{user={id=1,name=Tom},version=1}をイベント記録モジュールを介してローカルデータベースに記録し、追跡用に履歴イベント記録を確保する。実際には、イベントオブジェクトは、ピアエンドのイベントが有効と判定された後、又はローカルデータベースを更新した後、のいずれかに記録することができる。
506.サービスアプリケーションは、イベントオブジェクトを破棄し、イベントオブジェクトに従ったローカルデータベースの更新をしない。
この実施の形態のサービスアプリケーションは、イベントバージョンを用いて様々なデータ更新イベントの発生順序を識別する。これは最新イベントの正確な識別を支援し、データベースの正確な更新を確実に行えるようにする。例えば、ツーエンドが同じ対象のデータを同時に変更する間際であっても、イベントバージョン同士を比較することにより、最新のデータ更新を正確に識別できるようになる。
この実施の形態の遠隔データの同期方法によれば、このイベントベースのデータ同期は、データ更新に関する情報のリアルタイムの伝送、さらに比較的に高速なイベント伝送を可能にする。さらに、イベントバージョンによって異なるデータ更新の順序を区別することもでき、これにより、データベースのデータ更新の正確性と信頼性が保証される。
上述の説明から分かるように、送信側エンドと受信側エンド両方のサービスアプリケーションは、図2及び図4に示すような遠隔データ同期装置を含み、この遠隔データ同期装置は、各種内蔵モジュールを用いてこの実施の形態の遠隔データ同期方法を実行する。さらに、受信側エンドのサービスアプリケーションに関し、図6に見られるその遠隔データ同期装置の構造はデータ受信モジュール61とデータ更新モジュール62とを含み、ここで、データ更新モジュール62は記録取得ユニット621とイベント判断ユニット622とを含んでいてもよい。
記録取得ユニット621は、イベントオブジェクト内のサービスメインキーに従い、このサービスメインキーに対応した、ローカルに記録されているデータ更新イベントのイベントバージョンを取得するように構成されており、サービスメインキーを用いて異なるサービスデータを区別する。
イベント判断ユニット622は、ローカルイベントバージョンをピアエンドのイベントバージョンと比較し、経時上、ローカルに記録されているデータ更新イベントよりも後にピアエンドデータ更新イベントが発生したことを判定するように構成されている。
上記は本願の好ましい実施の形態にすぎず、本願を限定するために用いられるものではない。本願の精神及び原理の範囲内において行われる任意の変形、同等物の置換、及び改良は、本願の範囲内に含まれるものである。

Claims (20)

  1. コンピュータに実装される方法であって、
    サービスアプリケーションによって、ローカルデータベースに格納されるサービスデータを更新するデータ更新イベントに対応する1または複数のデータベース操作の実行を前記サービスアプリケーションの前記ローカルデータベースに指示するステップであって、各サービスデータは複数のデータ項目からなるデータ記憶ユニットを含む、前記指示するステップと
    前記サービスアプリケーションによって、前記1または複数のデータベース操作が完了したかを判定するステップと、
    前記サービスアプリケーションによって、前記データ更新イベントの前記1または複数のデータベース操作によって更新された前記サービスデータを取得するステップと、
    前記サービスアプリケーションによって、前記データ更新イベントに対応するイベントバージョンを生成するステップであって、各イベントバージョンは対応するデータ更新イベント発生の時系列的順序を示す数値またはタイムスタンプである、ステップと、
    前記サービスアプリケーションによって、前記サービスデータと前記イベントバージョンとサービスメインキーとをイベントオブジェクトにカプセル化するステップと、
    前記サービスアプリケーションによって、ピアエンドのサービスアプリケーションのピアエンドデータベース内の対応するサービスデータの同期のために前記ピアエンドのサービスアプリケーションへ前記イベントオブジェクトを伝送するステップと、
    前記サービスアプリケーションによって、前記ピアエンドのサービスアプリケーションから加イベントオブジェクトを受信するステップであって、前記追加イベントオブジェクトは前記ピアエンドのサービスアプリケーションによりカプセル化されたイベントオブジェクトである、前記受信するステップと、
    前記サービスアプリケーションによって、前記追加イベントオブジェクトのサービスメインキーに関連したローカルに記録されている複数のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記ローカルに記録されている複数のデータ更新イベントに関連した複数のイベントバージョンに基づき、前記ローカルに記録されている複数のデータ更新イベントの中からローカルに記録されている特定のデータ更新イベントを特定するステップであって、前記ローカルに記録されている特定のデータ更新イベントは特定のイベントバージョンと関連づけられ、かつ、前記複数のローカルに記録されているデータ更新イベントの発生順中で時系列的に最新である、前記ローカルに記録されている特定のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記追加イベントオブジェクトのイベントバージョンと前記特定のイベントバージョンとの比較に基づき、前記追加イベントオブジェクトに関連した追加データ更新イベントが有効か判定するステップと
    を備える、コンピュータに実装される方法。
  2. 前記サービスメインキーは、異なるサービスデータを区別するために用いられる、
    請求項1に記載のコンピュータに実装される方法。
  3. 前記サービスデータと前記イベントバージョンと前記サービスメインキーをイベントオブジェクトにカプセル化するステップの後、前記イベントオブジェクトを記録するステップ
    をさらに備える、請求項1に記載のコンピュータに実装される方法。
  4. コンピュータに実装される方法であって、
    サービスアプリケーションによって、ピアエンドサービスアプリケーションによって送られたイベントオブジェクトを受信するステップであって、前記イベントオブジェクトは、
    ピアエンドのデータ更新イベントで更新されたサービスデータであって、各サービスデータは複数のデータ項目からなるデータ記憶ユニットを含む、前記サービスデータと、
    前記ピアエンドのデータ更新イベントに対応するイベントバージョンであって、各イベントバージョンは、対応するデータ更新イベント発生の時系列的順序を示す数値またはタイムスタンプである、前記イベントバージョンと、
    サービスメインキーと
    を備える、前記受信するステップと、
    前記サービスアプリケーションによって、前記サービスメインキーに関連したローカルに記録されている複数のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記ローカルに記録されている複数のデータ更新イベントに関連した複数のイベントバージョンに基づき、前記ローカルに記録されている複数のデータ更新イベントの中からローカルに記録されている特定のデータ更新イベントを特定するステップであって、前記ローカルに記録されている特定のデータ更新イベントは特定のイベントバージョンと関連づけられ、かつ、前記複数のローカルに記録されているデータ更新イベントの発生順中で時系列的に最新である、前記ローカルに記録されている特定のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記イベントバージョンと前記特定のイベントバージョンとの比較に基づき、前記ピアエンドのデータ更新イベントが有効か判定するステップと、
    前記サービスアプリケーションによって、前記ピアエンドのデータ更新イベントで更新された前記サービスデータに対応する1または複数のデータベース操作を判定するステップと、
    前記サービスアプリケーションによって、ローカルデータベースに保存されるサービスデータ更新する前記1または複数のデータベース操作を実行するよう前記サービスアプリケーションの前記ローカルデータベースに指示するステップと
    を備える、コンピュータに実装される方法。
  5. 前記ピアエンドのデータ更新イベントが有効か判定するステップは、前記イベントバージョンに従って、前記ローカルに記録された特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップをさらに備える、請求項4に記載のコンピュータに実装される方法。
  6. 前記ローカルに記録された特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップは、
    前記イベントオブジェクトに備えられる前記サービスメインキーに応じて、前記特定のイベントバージョンを取得するステップであって、前記サービスメインキーは異なるサービスデータと区別するために用いられる、前記特定のイベントバージョンを取得するステップと、
    前記特定のイベントバージョンと前記イベントバージョンとを比較するステップと、
    前記ローカルに記録される特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップと
    をさらに備える、請求項5に記載のコンピュータに実装される方法。
  7. 前記ピアエンドのデータ更新イベントが有効と判定した後、前記イベントオブジェクトを記録するステップ
    をさらに備える、請求項4に記載のコンピュータに実装される方法。
  8. コンピュータ実装システムであって、
    1または複数のコンピュータと、
    前記1または複数のコンピュータと相互利用可能に接続され命令を記憶する機械読み取り可能な媒体を備えた1または複数のコンピュータ記憶装置を備え、前記命令は前記1または複数のコンピュータに実行された際に、
    サービスアプリケーションによって、ローカルデータベースに格納されるサービスデータを更新するデータ更新イベントに対応する1または複数のデータベース操作の実行を前記サービスアプリケーションの前記ローカルデータベースに指示するステップであって、各サービスデータは複数のデータ項目からなるデータ記憶ユニットを含む、前記指示するステップと
    前記サービスアプリケーションによって、前記1または複数のデータベース操作が完了したかを判定するステップと、
    前記サービスアプリケーションによって、前記データ更新イベントの前記1または複数のデータベース操作によって更新された前記サービスデータを取得するステップと、
    前記サービスアプリケーションによって、前記データ更新イベントに対応するイベントバージョンを生成するステップであって、各イベントバージョンは対応するデータ更新イベント発生の時系列的順序を示す数値またはタイムスタンプである、ステップと、
    前記サービスアプリケーションによって、前記サービスデータと前記イベントバージョンとサービスメインキーとをイベントオブジェクトにカプセル化するステップと、
    前記サービスアプリケーションによって、ピアエンドのサービスアプリケーションのピアエンドデータベース内の対応するサービスデータの同期のために前記ピアエンドのサービスアプリケーションへ前記イベントオブジェクトを伝送するステップと、
    前記サービスアプリケーションによって、前記ピアエンドのサービスアプリケーションからの加イベントオブジェクトを受信するステップであって、前記追加イベントオブジェクトは前記ピアエンドのサービスアプリケーションによりカプセル化されたイベントオブジェクトである、前記受信するステップと、
    前記サービスアプリケーションによって、前記追加イベントオブジェクトのサービスメインキーに関連したローカルに記録されている複数のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記ローカルに記録されている複数のデータ更新イベントに関連した複数のイベントバージョンに基づき、前記ローカルに記録されている複数のデータ更新イベントの中からローカルに記録されている特定のデータ更新イベントを特定するステップであって、前記ローカルに記録されている特定のデータ更新イベントは特定のイベントバージョンと関連づけられ、かつ、前記複数のローカルに記録されているデータ更新イベントの発生順中で時系列的に最新である、前記ローカルに記録されている特定のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記追加イベントオブジェクトのイベントバージョンと前記特定のイベントバージョンとの比較に基づき、前記追加イベントオブジェクトに関連した追加データ更新イベントが有効か判定するステップと
    を備える操作を実行する、コンピュータ実装システム。
  9. 前記サービスメインキーは、異なるサービスデータを区別するために用いられる、
    請求項8に記載のコンピュータ実装システム。
  10. 前記操作は、前記サービスデータと前記イベントバージョンと前記サービスメインキーをイベントオブジェクトにカプセル化するステップの後、前記イベントオブジェクトを記録するステップ
    をさらに備える、請求項8に記載のコンピュータ実装システム。
  11. コンピュータ実装システムであって、
    1または複数のコンピュータと、
    前記1または複数のコンピュータと相互利用可能に接続され命令を記憶する機械読み取り可能な媒体を備えた1または複数のコンピュータ記憶装置を備え、前記命令は前記1または複数のコンピュータに実行された際に、
    サービスアプリケーションによって、ピアエンドサービスアプリケーションによって送られたイベントオブジェクトを受信するステップであって、前記イベントオブジェクトは、
    ピアエンドのデータ更新イベントで更新されたサービスデータであって、各サービスデータは複数のデータ項目からなるデータ記憶ユニットを含む、前記サービスデータと、
    前記ピアエンドのデータ更新イベントに対応するイベントバージョンであって、各イベントバージョンは、対応するデータ更新イベント発生の時系列的順序を示す数値またはタイムスタンプである、前記イベントバージョンと、
    サービスメインキーと
    を備える、前記受信するステップと、
    前記サービスアプリケーションによって、前記サービスメインキーに関連したローカルに記録されている複数のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記ローカルに記録されている複数のデータ更新イベントに関連した複数のイベントバージョンに基づき、前記ローカルに記録されている複数のデータ更新イベントの中からローカルに記録されている特定のデータ更新イベントを特定するステップであって、前記ローカルに記録されている特定のデータ更新イベントは特定のイベントバージョンと関連づけられ、かつ、前記複数のローカルに記録されているデータ更新イベントの発生順中で時系列的に最新である、前記ローカルに記録されている特定のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記イベントバージョンと前記特定のイベントバージョンとの比較に基づき、前記ピアエンドのデータ更新イベントが有効か判定するステップと、
    前記サービスアプリケーションによって、前記ピアエンドのデータ更新イベントで更新された前記サービスデータに対応する1または複数のデータベース操作を判定するステップと、
    前記サービスアプリケーションによって、ローカルデータベースに保存されるサービスデータ更新する前記1または複数のデータベース操作を実行するよう前記サービスアプリケーションの前記ローカルデータベースに指示するステップと
    を備える操作を実行する、コンピュータ実装システム。
  12. 前記ピアエンドのデータ更新イベントが有効か判定するステップは、前記イベントバージョンに従って、前記ローカルに記録された特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップをさらに備える、請求項11に記載のコンピュータ実装システム。
  13. 前記ローカルに記録された特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップは、
    前記イベントオブジェクトに備えられる前記サービスメインキーに応じて、前記特定のイベントバージョンを取得するステップであって、前記サービスメインキーは異なるサービスデータと区別するために用いられる、前記特定のイベントバージョンを取得するステップと、
    前記特定のイベントバージョンと前記イベントバージョンとを比較するステップと、
    前記ローカルに記録される特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップと
    をさらに備える、請求項12に記載のコンピュータ実装システム。
  14. 前記操作は、前記ピアエンドのデータ更新イベントが有効と判定した後、前記イベントオブジェクトを記録するステップ
    をさらに備える、請求項11に記載のコンピュータ実装システム。
  15. コンピュータ実装システムによって実行可能な1または複数の命令を記憶するコンピュータ読み取り可能な記憶媒体であって、前記命令の実行により、
    サービスアプリケーションによって、ローカルデータベースに格納されるサービスデータを更新するデータ更新イベントに対応する1または複数のデータベース操作の実行を前記サービスアプリケーションの前記ローカルデータベースに指示するステップであって、各サービスデータは複数のデータ項目からなるデータ記憶ユニットを含む、前記指示するステップと
    前記サービスアプリケーションによって、前記1または複数のデータベース操作が完了したかを判定するステップと、
    前記サービスアプリケーションによって、前記データ更新イベントの前記1または複数のデータベース操作によって更新された前記サービスデータを取得するステップと、
    前記サービスアプリケーションによって、前記データ更新イベントに対応するイベントバージョンを生成するステップであって、各イベントバージョンは対応するデータ更新イベント発生の時系列的順序を示す数値またはタイムスタンプである、ステップと、
    前記サービスアプリケーションによって、前記サービスデータと前記イベントバージョンとサービスメインキーとをイベントオブジェクトにカプセル化するステップと、
    前記サービスアプリケーションによって、ピアエンドのサービスアプリケーションのピアエンドデータベース内の対応するサービスデータの同期のために前記ピアエンドのサービスアプリケーションへ前記イベントオブジェクトを伝送するステップと、
    前記サービスアプリケーションによって、前記ピアエンドのサービスアプリケーションからの追加イベントオブジェクトを受信するステップであって、前記追加イベントオブジェクトは前記ピアエンドのサービスアプリケーションによりカプセル化されたイベントオブジェクトである、前記受信するステップと、
    前記サービスアプリケーションによって、前記追加イベントオブジェクトのサービスメインキーに関連したローカルに記録されている複数のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記ローカルに記録されている複数のデータ更新イベントに関連した複数のイベントバージョンに基づき、前記ローカルに記録されている複数のデータ更新イベントの中からローカルに記録されている特定のデータ更新イベントを特定するステップであって、前記ローカルに記録されている特定のデータ更新イベントは特定のイベントバージョンと関連づけられ、かつ、前記複数のローカルに記録されているデータ更新イベントの発生順中で時系列的に最新である、前記ローカルに記録されている特定のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記追加イベントオブジェクトのイベントバージョンと前記特定のイベントバージョンとの比較に基づき、前記追加イベントオブジェクトに関連した追加データ更新イベントが有効か判定するステップと
    を備える操作を実行する、コンピュータ読み取り可能な記憶媒体。
  16. 前記サービスメインキーは、異なるサービスデータを区別するために用いられる、
    請求項15に記載のコンピュータ読み取り可能な記憶媒体。
  17. 前記操作は、前記サービスデータと前記イベントバージョンと前記サービスメインキーをイベントオブジェクトにカプセル化するステップの後、前記イベントオブジェクトを記録するステップ
    をさらに備える、請求項15に記載のコンピュータ読み取り可能な記憶媒体。
  18. コンピュータシステムによって実行可能な1または複数の命令を記憶するコンピュータ読み取り可能な記憶媒体であって、前記命令の実行により、
    サービスアプリケーションによって、ピアエンドサービスアプリケーションによって送られたイベントオブジェクトを受信するステップであって、前記イベントオブジェクトは、
    ピアエンドのデータ更新イベントで更新されたサービスデータであって、各サービスデータは複数のデータ項目からなるデータ記憶ユニットを含む、前記サービスデータと、
    前記ピアエンドのデータ更新イベントに対応するイベントバージョンであって、各イベントバージョンは、対応するデータ更新イベント発生の時系列的順序を示す数値またはタイムスタンプである、前記イベントバージョンと、
    サービスメインキーと
    を備える、前記受信するステップと、
    前記サービスアプリケーションによって、前記サービスメインキーに関連したローカルに記録されている複数のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記ローカルに記録されている複数のデータ更新イベントに関連した複数のイベントバージョンに基づき、前記ローカルに記録されている複数のデータ更新イベントの中からローカルに記録されている特定のデータ更新イベントを特定するステップであって、前記ローカルに記録されている特定のデータ更新イベントは特定のイベントバージョンと関連づけられ、かつ、前記複数のローカルに記録されているデータ更新イベントの発生順中で時系列的に最新である、前記ローカルに記録されている特定のデータ更新イベントを特定するステップと、
    前記サービスアプリケーションによって、前記イベントバージョンと前記特定のイベントバージョンとの比較に基づき、前記ピアエンドのデータ更新イベントが有効か判定するステップと、
    前記サービスアプリケーションによって、前記ピアエンドのデータ更新イベントで更新された前記サービスデータに対応する1または複数のデータベース操作を判定するステップと、
    前記サービスアプリケーションによって、ローカルデータベースに保存されるサービスデータ更新する前記1または複数のデータベース操作を実行するよう前記サービスアプリケーションの前記ローカルデータベースに指示するステップと
    を備える操作を実行する、コンピュータ読み取り可能な記憶媒体。
  19. 前記ピアエンドのデータ更新イベントが有効か判定するステップは、前記イベントバージョンに従って、前記ローカルに記録された特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップをさらに備える、請求項18に記載のコンピュータ読み取り可能な記憶媒体。
  20. 前記ローカルに記録された特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップは、
    前記イベントオブジェクトに備えられる前記サービスメインキーに応じて、前記特定のイベントバージョンを取得するステップであって、前記サービスメインキーは異なるサービスデータと区別するために用いられる、前記特定のイベントバージョンを取得するステップと、
    前記特定のイベントバージョンと前記イベントバージョンとを比較するステップと、
    前記ローカルに記録される特定のデータ更新イベント後に前記ピアエンドのデータ更新イベントが発生順に生じているか判定するステップと
    をさらに備える、請求項19に記載のコンピュータ読み取り可能な記憶媒体。
JP2021004094A 2015-04-01 2021-01-14 データベースのための遠隔データ同期方法及び装置 Active JP7098007B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510152707.9A CN106156094B (zh) 2015-04-01 2015-04-01 一种数据库的远程数据同步方法和装置
CN201510152707.9 2015-04-01

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017551147A Division JP2018510430A (ja) 2015-04-01 2016-03-15 データベースのための遠隔データ同期方法及び装置

Publications (2)

Publication Number Publication Date
JP2021068470A JP2021068470A (ja) 2021-04-30
JP7098007B2 true JP7098007B2 (ja) 2022-07-08

Family

ID=57005449

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017551147A Pending JP2018510430A (ja) 2015-04-01 2016-03-15 データベースのための遠隔データ同期方法及び装置
JP2021004094A Active JP7098007B2 (ja) 2015-04-01 2021-01-14 データベースのための遠隔データ同期方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017551147A Pending JP2018510430A (ja) 2015-04-01 2016-03-15 データベースのための遠隔データ同期方法及び装置

Country Status (7)

Country Link
US (1) US10877990B2 (ja)
EP (2) EP3839762A1 (ja)
JP (2) JP2018510430A (ja)
KR (1) KR102151302B1 (ja)
CN (1) CN106156094B (ja)
SG (1) SG11201707774PA (ja)
WO (1) WO2016155492A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9935818B1 (en) * 2017-05-02 2018-04-03 At&T Intellectual Property I, L.P. Diagnostic traffic generation for automatic testing and troubleshooting
CN110069505B (zh) * 2017-09-21 2021-12-24 张锐 离线数据处理方法及离线数据更新装置
CN111382201B (zh) * 2018-12-29 2023-08-18 广州市百果园信息技术有限公司 异构数据库同步方法、装置、计算机设备及存储介质
KR20210016838A (ko) 2019-08-05 2021-02-17 삼성전자주식회사 서버 및 서버의 데이터 관리 방법
FR3101975B1 (fr) * 2019-10-11 2023-03-10 Thales Sa Procede de gestion d'une base de donnees partagee par un groupe d'applications, produit programme d'ordinateur et systeme embarque associes
CN111651522B (zh) * 2020-05-27 2023-05-19 泰康保险集团股份有限公司 一种数据同步方法及装置
CN112434050B (zh) * 2020-10-16 2022-12-09 广东电力信息科技有限公司 电网业务处理系统的数据同步方法、装置和业务处理系统
CN112245906B (zh) * 2020-11-18 2023-08-25 腾讯科技(深圳)有限公司 数据同步方法、装置、电子设备及存储介质
CN112487007B (zh) * 2020-12-01 2024-05-10 银清科技有限公司 一种多网间流程同步管理方法、装置及系统
WO2024143735A1 (ko) * 2022-12-27 2024-07-04 삼성전자 주식회사 분산형 데이터 베이스 구조를 지원하는 서버 및 이의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001159985A (ja) 1999-12-02 2001-06-12 Sun Corp 二重化装置
JP2001337858A (ja) 2000-05-25 2001-12-07 Mitsubishi Electric Corp 複製データ管理システム
JP2007164523A (ja) 2005-12-14 2007-06-28 Nec Corp 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム
JP2008009809A (ja) 2006-06-30 2008-01-17 Fujitsu Ltd データベース同期処理プログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226650B1 (en) 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6351776B1 (en) 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
WO2001035211A2 (en) * 1999-11-09 2001-05-17 Jarna, Inc. Synchronizing data among multiple devices in a peer-to-peer environment
CN1223948C (zh) * 2002-11-15 2005-10-19 鸿富锦精密工业(深圳)有限公司 数据同步系统和方法
US7720890B2 (en) * 2005-02-22 2010-05-18 Microsoft Corporation Ghosted synchronization
US20080189340A1 (en) * 2007-02-01 2008-08-07 David Randall Blea Apparatus, system, and method for synchronizing a remote database
JP4989295B2 (ja) * 2007-04-27 2012-08-01 三菱電機株式会社 データベース等価システムおよびデータベース等価方法
CN100456255C (zh) * 2007-04-29 2009-01-28 华为技术有限公司 一种取快照数据的装置及方法
WO2009147704A1 (ja) * 2008-06-04 2009-12-10 株式会社 アテナテレコムラボ テーブルとテーブル項目の平行編集プログラム
CN101216832A (zh) * 2007-12-28 2008-07-09 腾讯科技(深圳)有限公司 数据同步方法及装置
CN101551801B (zh) * 2008-03-31 2013-05-22 国际商业机器公司 数据同步的方法和系统
CN101582071A (zh) * 2008-05-16 2009-11-18 鸿富锦精密工业(深圳)有限公司 数据更新系统及方法
CN102098342B (zh) 2011-01-31 2013-08-28 华为技术有限公司 一种基于事务级的数据同步方法、装置及系统
AU2012261986B2 (en) * 2011-06-03 2016-02-04 Apple Inc. Cloud storage
CN102945236A (zh) * 2011-11-29 2013-02-27 Ut斯达康通讯有限公司 一种通过事件触发同步不同数据库的方法
US9858288B2 (en) * 2012-08-03 2018-01-02 Egnyte, Inc. System and method for event-based synchronization of remote and local file systems
JP6319784B2 (ja) * 2012-11-26 2018-05-09 日本電気株式会社 情報処理装置
US9396245B2 (en) * 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
CN103595807B (zh) * 2013-11-20 2016-06-15 中国银行股份有限公司 一种数据同步更新方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001159985A (ja) 1999-12-02 2001-06-12 Sun Corp 二重化装置
JP2001337858A (ja) 2000-05-25 2001-12-07 Mitsubishi Electric Corp 複製データ管理システム
JP2007164523A (ja) 2005-12-14 2007-06-28 Nec Corp 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム
JP2008009809A (ja) 2006-06-30 2008-01-17 Fujitsu Ltd データベース同期処理プログラム

Also Published As

Publication number Publication date
EP3839762A1 (en) 2021-06-23
SG11201707774PA (en) 2017-10-30
US10877990B2 (en) 2020-12-29
CN106156094B (zh) 2019-09-17
EP3282369A4 (en) 2018-09-19
KR20170132866A (ko) 2017-12-04
US20180018381A1 (en) 2018-01-18
KR102151302B1 (ko) 2020-09-03
EP3282369A1 (en) 2018-02-14
WO2016155492A1 (zh) 2016-10-06
JP2018510430A (ja) 2018-04-12
JP2021068470A (ja) 2021-04-30
CN106156094A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
JP7098007B2 (ja) データベースのための遠隔データ同期方法及び装置
CN105074698B (zh) 并行地执行连续事件处理(cep)查询
CN110362632B (zh) 一种数据同步方法、装置、设备及计算机可读存储介质
US20090112939A1 (en) Linking framework for information technology management
CN104572672A (zh) 异构数据库的同步方法和应用系统
CN107688611B (zh) 一种基于saltstack的Redis键值管理系统及方法
CN105956176A (zh) 数据库管理系统
CN109558411A (zh) 一种基于区块链数据的下链同步方法及装置
US9680719B2 (en) Communication system, client terminal, and server
CN101000619A (zh) 基于sql的数据同步方法及装置
CN109656778A (zh) 数据获取方法、装置、计算机设备和存储介质
CN108111355B (zh) 数据通信网关机及其同步数据的方法、装置、及介质
CN107316176A (zh) 保单处理的控制方法和装置
CN110113495A (zh) App的远程控制方法、装置、电子设备及系统
CN102594874A (zh) 一种同步处理方法和装置
CN107547160A (zh) 一种时间同步方法及装置
CN111090648B (zh) 一种关系型数据库数据同步冲突解决方法
JP7568898B2 (ja) 通信プログラム、通信方法、及び通信装置
CN113064950B (zh) 一种数据同步方法、装置、设备及存储介质
JP5294261B2 (ja) 通話録音システム
CN113553488A (zh) 搜索引擎中索引数据的更新方法、装置、电子设备及介质
CN105791350B (zh) 项目数据处理方法和系统
CN106354830A (zh) 一种数据库集群节点间数据同步的方法及装置
CN105072153A (zh) 一种移动设备上基于增量更新的异构数据同步方案
CN106375354B (zh) 数据处理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220628

R150 Certificate of patent or registration of utility model

Ref document number: 7098007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150