JP2019508796A - データ同期方法、装置及びシステム - Google Patents

データ同期方法、装置及びシステム Download PDF

Info

Publication number
JP2019508796A
JP2019508796A JP2018537667A JP2018537667A JP2019508796A JP 2019508796 A JP2019508796 A JP 2019508796A JP 2018537667 A JP2018537667 A JP 2018537667A JP 2018537667 A JP2018537667 A JP 2018537667A JP 2019508796 A JP2019508796 A JP 2019508796A
Authority
JP
Japan
Prior art keywords
real
data
change
time notification
data synchronization
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.)
Granted
Application number
JP2018537667A
Other languages
English (en)
Other versions
JP6745884B2 (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 JP2019508796A publication Critical patent/JP2019508796A/ja
Application granted granted Critical
Publication of JP6745884B2 publication Critical patent/JP6745884B2/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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/2358Change logging, detection, and notification
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本願は、データ同期方法、装置及びシステムを開示する。データ同期方法は、データ同期ソースエンドによって、ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成し、リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと;データ同期ターゲットエンドによって、リアルタイム通知を受信した後に、リアルタイム通知を解析することによりデータ変更に関連する情報を取得して、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を含む。先の解決策において、リアルタイム通知を受信した後、リアルタイム通知に含まれる情報に基づきローカルデータベース内のキャッシュを直接更新できる。また、キャッシュ同期更新遅延を縮めるために、ローカルデータベースの監視を開始してローカルデータの同期が完了した直後にキャッシュデータを更新することができる。

Description

本願はデータベース技術の分野に関し、特に、データ同期方法、装置及びシステムに関する。
ビッグデータの時代において、データ所有者は通常、障害回復を目的として3ケ所以上のデータセンタを構築する。従来のコールド・スタンバイ型の障害回復解決策では、アクティブデータセンタが一次サービスとして用いられ、他のデータセンタを用いてアクティブデータセンタにおけるデータをバックアップする。この解決策の課題は、アクティブデータセンタとスタンバイデータセンタとを直接再利用することができず、スタンバイデータセンタは障害発生時にのみ機能し、資源利用度が低くなることである。加えて、スタンバイデータセンタが一次サービスとしてのアクティブデータセンタを引き継ぐには、多くの時間を必要とし、煩雑であり、一般に、通常のサービスの処理に深刻な影響を与える。
コールド・スタンバイ技術に関する課題に対し、分散型の多重アクティブデータセンタ(略して多重アクティブ)技術が提案されている。この実施の考え方は以下の通りである。すなわち、複数のデータセンタにはアクティブサービスもスタンバイサービスも存在せず、データセンタは、通常モードにおいては互いに協力し、サービスアクセスに対して並行にサービスを提供する。これにより、スタンバイデータセンタが待機状態になることがなくなり、システムのサービス能力が2倍になる。1つのデータセンタが故障した場合、他のデータセンタが全サービスを即座に引き継ぐことができる。
多重アクティブ解決策において、データセンタはそれぞれ比較的対等な関係にあり、データセンタ間のデータ同期速度に対する要求は比較的高い。とりわけ、データセンタを異なる場所に配備するアプリケーションシナリオにおいて、比較的通信距離の長い2カ所間のデータ同期速度を向上させることは、現在の多重アクティブデータセンタの構築における課題である。
上記の技術的課題を解決するために、本願は、データ同期方法、装置及びシステムを提供する。技術的解決策は以下の通りである。
本願の第1の態様によれば、データ同期方法が提供される。この方法は、ソースエンドデータベースのデータが変更されたと特定した後に、データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成し、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記送信するステップと;前記データ同期ターゲットエンドにより、前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を含む。
本願の第2の態様によれば、データ同期方法が提供される。この方法は、データ同期ソースエンドに適用され、ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記生成するステップと;前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと;を含む。これにより、前記リアルタイム通知を受信した後に前記データ同期ターゲットエンドが前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する。
本願の第3の態様によれば、データ同期方法が提供される。この方法は、データ同期ターゲットエンドに適用され、データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップと;前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を含み、前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む。
本願の第4の態様によれば、データ同期ソースエンド装置が提供される、この装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを含み、前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、前記リアルタイム通知送信モジュールは、前記データ同期ターゲットエンドが前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するよう、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。
本願の第5の態様によれば、データ同期ターゲットエンド装置が提供される。この装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを含み、前記リアルタイム通知受信モジュールは、データ同期ソースエンドにより送信されたリアルタイム通知を受信するように構成される。前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む。
本願の第6の態様によれば、データ同期システムが提供される。このシステムは、データ同期ソースエンド装置とデータ同期ターゲットエンド装置とを含み、前記データ同期ソースエンド装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備える。前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含む。前記リアルタイム通知送信モジュールは、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。前記データ同期ターゲットエンド装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを含む。前記リアルタイム通知受信モジュールは、前記リアルタイム通知を受信するように構成される。そして、前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。
本願が提供する技術的解決策に基づき、データを変更した後、データ同期ソースエンドは、リアルタイム通知を、データ同期ターゲットエンドへ送信する。リアルタイム通知に含まれる情報に基づきターゲットエンドがローカルデータベース内のキャッシュを直接更新できれば、下層データベースの同期の完了を待つことなくキャッシュを更新してキャッシュ同期更新遅延を縮めることができる。リアルタイム通知に含まれる情報に基づきターゲットエンドがローカルのデータベース内のキャッシュを直接更新できない場合でも、キャッシュ同期更新遅延を縮めるにはローカルのデータベースを同期させ更新すべきであることも知得されているので、ローカルのデータベースの監視が開始され、ローカルデータの同期が完了した直後に、キャッシュデータを更新する。
上記の一般的な説明と以下の詳細な説明は、単なる例及び説明に過ぎず、本開示を限定するものではないことを理解されたい。
本願の実施又は既存の技術における技術的解決策をより明確に説明するため、実施又は既存の技術を説明するための添付図面を簡単に以下説明する。当然ながら、以下の説明における添付図面は本願の一部の実施を示すに過ぎず、当業者は、これらの添付図面から他の図面を更に導き出すことができる。
図1は、既存の技術におけるアクティブ−アクティブシステムを示す第1の概略構造図である。
図2は、既存の技術におけるアクティブ−アクティブシステムを示す第2の概略構造図である。
図3は、本願に係るアクティブ−アクティブシステムを示す第1の概略構造図である。
図4は、本願に係るアクティブ−アクティブシステムを示す第2の概略構造図である。
図5は、本願に係るデータ同期方法を示す第1の概略フローチャートである。
図6は、本願に係るデータ同期方法を示す第2の概略フローチャートである。
図7は、本願に係るデータ同期ソースエンド装置を示す概略構造図である。
図8は、本願に係るデータ同期ターゲットエンド装置を示す概略構造図である。
図9は、本願に係るデータ同期システムを示す概略構造図である。
図10は、本願に係る装置を構成するためのデバイスを示す概略構造図である。
当業者が本願における技術的解決策をより深く理解できるように、本願の実施における添付図面を参照して本願の実施における技術的解決策を詳細に以下説明する。当然ながら、記載された実施態様は、本願の実施態様の全てではなく一部に過ぎない。本願の実施態様に基づき当業者により得られる他の実施態様は、本願の保護範囲に含まれる。
まず、多重アクティブデータセンターソリューションのシステム構成及び動作原理を簡単に説明する。図1は、アクティブ−アクティブシステムを示す概略構造図である。2つのデータセンタが、設備室A及び設備室Bにそれぞれ設置されている。データベースA及びデータベースBは、設備室A及び設備室Bにそれぞれ配置されている。各設備室において、アプリケーションサーバは、直接、データベースと相互作用(交流)する。アプリケーションサーバは、ユーザ又は他のシステムが送信する指令に基づき、ローカルデータベースに対して読み取り/書き込み操作を実行する。多重アクティブシステムの要求に基づき、一方の設備室のデータベースが変更された場合、その変更は、できる限り速やかに他方の設備室と同期させる必要がある。同期工程において、最初に変更されるデータベースをソースエンドデータベースと称し、その後で同期させるデータベースをターゲットエンドデータベースと称する。
図1に示すアクティブ−アクティブシステムを例にとる。下層データベース(内部データベース)のプリミティブな(旧来の)データ同期解決策に基づき、アプリケーションサーバAがデータベースAに対して書き込み操作を実行すると、データベースA上で起こる書き込みイベントは順次にパックされる。次いで、パックされたイベントはデータベースBへバッチ方式で入力されてデータ変更が実行される。変更後、アプリケーションサーバBは、データベースAのデータと一致するデータをデータベースBから読み取ることができる。
キャッシングは、データベース操作では一般に用いられる技術である。基本的な下層データベース格納領域と比較して、キャッシュは、データ読み取り/書き込み性能に優れ、アプリケーションと下層データベースとの間の直接相互作用を回避できる。例えば、ステート型データの比較的明確な特徴は、データが読み取られる頻度が高く、書き込まれる頻度が低いことである。ユーザ情報データを例にとる。登録段階で個人情報を記入した後、ユーザが個人情報を頻繁に変更する可能性は低い。こうした特徴に基づき、ほとんどのシステムは、データベースの上層にあるキャッシュの層を用いて多数のデータクエリリクエストをバッファすることで、実際にデータベースへ送信されるクエリリクエストを減らし、システムの全体的クエリ性能を向上させている。
キャッシング技術は、多重アクティブシステムにも適用可能である。図2に示すように、キャッシュの層がデータベースの上層に配設され、よく用いられるデータが、キャッシュに予め入力される。アプリケーションサーバがデータを用いる必要がある場合、アプリケーションサーバは、データをキャッシュから優先的に読み取る必要があるため、データ読み取り効率が向上し、アプリケーションサーバと下層データベースとの間の直接相互作用を回避し、下層データベースへの読み取り/書き込みの負担を減らす。
キャッシング機構を追加した後、キャッシュは、アプリケーションサーバに読み取られるデータの主たるソースとなる。したがって、データセンタ間でデータ同期を実行する場合、ターゲットエンドでのデータクエリの精度を確保するために、ターゲットエンド設備室におけるキャッシュの同期更新の問題を考慮する必要がある。図2に示すアクティブ−アクティブシステムを例にとる。既存の同期解決策によれば、アプリケーションサーバAがデータベースAに対して書き込み操作を実行する場合、キャッシュAとキャッシュBの両方をも更新する必要がある。キャッシュAはローカルに更新され、既存の技術的解決策を直接用いることができる。これ以上説明はしない。キャッシュBの更新中、データベースAとデータベースBとの間のデータ同期操作をまず完了させる。次いで、アプリケーションサーバBが、同期されたデータベースBに基づきローカルのキャッシュBを更新する。加えて、アクティブ−アクティブシステムにおいては、2つのデータベースを設備室Aに配備できる。一方のデータベースを書き込みデータベースとして用い、他方のデータベースを読み取りデータベースとして用いる。別の設備室、例えば設備室Bには、読み取りデータベースを配備する。そのため、データ書き込み操作は、設備室Aの書き込みデータベースを用いることにより実行される。データが書き込みデータベースに書き込まれた後、新規に書き込まれたデータをローカルの設備室の読み取りデータベース及び他の設備室の読み取りデータベースへと同期させることができる。そのため、キャッシング操作中、書き込みデータベースに書き込まれたデータは、対応するキャッシュが更新される前に、両設備室の読み取りデータベースを通過する必要がある。
実際のアプリケーション(適用)において、こうしたキャッシュデータ同期方法には、少なくとも2つの課題がある。
第1に、キャッシング機構において、ターゲットエンドのアプリケーションサーバは、キャッシュから優先的にデータを読み取り、ターゲットエンドのキャッシュデータに対して最終的に同期更新を実行する。下層データベース間のシリアルデータ同期の効率は、とりわけ、データセンタが異なる場所に配備されている場合には比較的低い。そのため、遅延は比較的大きく、キャッシュ更新ステップを追加した後は、遅延は更に大きくなる。
第2に、ターゲットエンドのアプリケーションサーバは、実際には、ローカルの下層データの更新を感知できず、キャッシュデータを即座に更新できない。その結果、遅延は更に大きくなる。
異なる場所にあるデータセンタを例にとる。2つのデータセンタが互いに1000kmの距離を隔てたそれぞれ別の都市に配備されている。試験によれば、書き込みデータベースと遠隔の読み取りデータベースとの間のデータ同期遅延は約3秒である。したがって、データベースのプリミティブなデータ同期・複製解決策を用いることにより、2つの都市のデータを同期させる場合、データは数秒以内に同期させることができる。ユーザが一方の都市のデータセンタでデータを書き込んだ場合、他方の都市のデータセンタが書き込まれたデータを即座に読み取ることができず、ユーザは、再度、数秒後に再試行しなければならないということが起こり得る。結果として、ユーザエクスペリエンスに悪影響を及ぼすことになる。
上記課題を解決するため、本願は、データセンタのデータベースキャッシュ間の同期更新の遅延を縮めるべく、データ同期方法を提供する。この方法は下記のステップを含む。
ソースエンドデータベースのデータが変更されたと特定された後、データ同期ソースエンドは、このデータ変更についてリアルタイム通知を生成し、リアルタイム通知をデータ同期ターゲットエンドへ送信する。リアルタイム通知はこのデータ変更に関する情報を含む。したがって、リアルタイム通知を受信した後、データ同期ターゲットエンドは、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する。
この方法は、データ同期ソースエンドとデータ同期ターゲットエンドとに別々に配置された同期装置により実行できる。図3に示すようにデータ同期ソースエンドに配置された同期装置Aは、アプリケーションサーバAに通信可能に接続される。アプリケーションサーバAがデータベースAに対して書き込み操作を実行した、と特定された後、同期装置Aは、リアルタイム通知を生成し、リアルタイム通知を、データ同期ターゲットエンドに配置された同期装置Bへ送信し、同期装置Bは、リアルタイム通知に基づきキャッシュBを直接更新する。
図3に示すように、実際のアプリケーションデザインにおいて、同期装置の関連する機能モジュールは全てアプリケーションサーバとは比較的無関係である物理的エンティティ(例えば、専用サーバ)に配置できることが分かる。或いは、機能モジュールの一部又は全てをアプリケーションサーバ内に配置できる。各同期装置の機能モジュールの全てをアプリケーションサーバ内に配置する場合、本質的には、データ同期ソースエンド及びデータ同期ターゲットエンドのそれぞれの側の同期装置の機能が、対応する側のアプリケーションサーバに組み込まれ、対応するシステム構成を図4に示すように単純化することができる。同期装置とアプリケーションサーバとの間の相互作用は、アプリケーションサーバ内の内部相互作用として単純化される。
本願で提供される技術的解決策では、下層データベースのプリミティブなデータ同期解決策に対する過度な調整を伴うことなくデータ同期ターゲットエンドデータベース内のキャッシュの更新遅延を縮めるため、リアルタイム通知が導入される。加えて、データ同期ソースエンドのローカルのキャッシュの更新操作は、既存の技術的解決策を用いることにより直接実施でき、それは、データ同期ターゲットエンドデータベース内のキャッシュの更新遅延とは基本的に無関係である。したがって、本願ではこれ以上説明はしない。
なお、図3及び図4に示すシステムによれば、構成上の典型的な解決策は、データベースAが書き込みデータベースであること、そしてデータベースBが読み取りデータベースであることである。当然ながら、本願における解決策とデータベースの読み取り/書き込みの分離メカニズムとの間に必然的な関連はない。例えば、データベースA及びデータベースBはどちらも書き込みデータベースであり、又は、書き込みデータベースと読み取りデータベースとを1つの設備室に配備し、別の設備室に読み取りデータベースを配備する。このことが、本願における解決策の実施に影響することはない。
本願において提供されるデータ同期方法を、具体的実施を参照して更に詳細に以下説明する。
図5は、本願における解決策を、アクティブ−アクティブシステムに適用するデータ同期手順を示す。説明を容易にするため、下記の実施を図4に示す単純化したシステム構成を参照して、手順全体を説明する。
S101:データ同期ソースエンドが、ソースエンドデータベースのデータが変更されたことを特定する。
データ変更については、アプリケーションサーバAがデータ書き込みリクエストをデータベースAへ送信した後、又はデータベースAへのデータの書き込みが成功したと特定された後に、データ変更を特定できる。前者の方法は、理論上、全体の手順の遅延を更に小さくでき、後者の方法は、データ同期ソースエンドデータベースへのデータ書き込みに失敗する状況を回避できる。この失敗の結果、データ同期ターゲットエンドでのキャッシュの更新がこのデータベースにおける更新と整合しなくなる。これは、システム安定性及びアプリケーションシナリオなどの要因に基づき、当業者が柔軟に設定できる。
S102:データ同期ソースエンドが、このデータ変更についてリアルタイム通知を生成し、リアルタイム通知をデータ同期ターゲットエンドへ送信する。
この実施において、アプリケーションサーバAは、データベースAに対して実行される各データ書き込み操作に対応するデータ変更の詳細を、リアルタイム通知に書き込む。本質的に、変更の詳細は、リアルタイム通知に対応するメッセージ本文に書き込まれる。ここでの変更の詳細は、少なくとも変更された値の情報{例えば:張三,男性,20}を含まなければならない。両方の側でデータベースの実際のデータ格納フォーマット及びデータのデータ伝送方法に基づいて承認されたように、詳細は、変更に関連するデータテーブル識別子、行識別子、及び列識別子等の情報{例えば:name=「張三」,age=「20」}を更に含むことができる。本願は、「変更の詳細」の具体的内容を限定しない。生成後、リアルタイム通知は即座にデータ同期ターゲットエンドへ送信される。
リアルタイム通知を生成し送信する工程において、圧縮、暗号化、又は別の符号化スキームを更に用いて伝送効率、暗号化伝送等を改良できることが分かる。本願のこの実施は、リアルタイム通知の具体的な生成及び伝送方法を限定しない。
加えて、対照的に、S103においてアプリケーションサーバAがデータベースAへのデータ書き込みに成功した後、データベースAは、この変更についてデータベースに対する同期操作を開始する。なお、データ同期ソースエンドについては、ステップS102及びS103は2つの相対的に独立した操作である。したがって、この2つのステップを実行する順序は限定されない。データ同期ターゲットエンドについては、リアルタイム通知を受信した後にステップ104が実行される。
S104:データ同期ターゲットエンドが、リアルタイム通知を解析することによりデータ変更の詳細を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを直接更新する。
データ同期ターゲットエンドでは、アプリケーションサーバBが、リアルタイム通知受信ポートに対してリアルタイム検出を実行する。リアルタイム通知を受信した後、アプリケーションサーバBは、それを即座に解析する。アプリケーションサーバAが実行したリアルタイム通知の処理に基づき、アプリケーションサーバBは、解析中に、対応する操作、例えば解凍及び解読、を実行する必要がある場合がある。ここでは詳細を述べない。
この実施において、リアルタイム通知を解析することによりデータベースAのデータ変更の詳細を取得した後、アプリケーションサーバBは、解析結果に基づきローカルデータベース内のキャッシュBを直接更新する。データは、下層データベースのデータの同期中にはリアルタイムで遠隔地へ伝送されず、パックされて変更されたデータブロックの数が特定の値に達した後にバッチ方式で伝送されるため、リアルタイム通知の平均伝送速度は、下層データベースの同期速度よりも速い。図5のS105に示すように、通常、データ同期ターゲットエンドは、下層データベースの同期が完了する前に、リアルタイム通知に基づきローカルのキャッシュを直接更新できる。試験によれば、約1000kmの距離を隔てた遠隔のアクティブ−アクティブシステムにおいて、下層データベースの同期の平均遅延は約3秒である。キャッシュデータの同期更新の遅延は、リアルタイム通知を通じて約30ms、更にそれ以下に短縮でき、データベースキャッシュ同期速度を大幅に向上させることができる。
なお、アプリケーションサーバBは、リアルタイム通知を受信した直後に更新メッセージをキャッシュサーバへ送信して更新操作を実行する。ただし、更新メッセージを受信した後、キャッシュサーバは、実際の状況に基づきキャッシュデータを更新する必要があるかどうかを更に特定できる。例えば、特定は、データを書き込むためのタイムスタンプに基づき実行でき、又は、キャッシュを更新するかどうかの特定の基準となる何らかの他の情報を通知メッセージに含めることができる。例えば、バージョン番号を見てキャッシュを更新する必要があるかどうかを特定できるように、バージョン番号情報を含めることができる。状況によっては、更新操作はアプリケーションサーバBが実行するが、本質的に、キャッシュデータが最終的に更新に成功したかどうかは、キャッシュサーバが特定する必要がある。この更新方法は、本願の解決策の実施に影響しない。
先の実施において、データ同期ソースエンドは、ローカルデータベースの変更の詳細をリアルタイム通知に追加し、リアルタイム通知の低い遅延特性を用い、下層データベースの同期が完了する前にデータ同期ターゲットエンドがローカルデータベース内のキャッシュの同期更新を完了できるようにする。ただし、実際のアプリケーションにおいて、リアルタイム通知で伝送できる情報の量は、複数の客観的要因、例えば伝送帯域幅及び通知メッセージセンタの格納容量によって限られる可能性がある。データ同期ソースエンドにより1回に変更されたデータの量が多すぎる場合、これらの変更の詳細を、リアルタイム通知を通じてデータ同期ターゲットエンドへ伝送することは困難である。本願は、この状況に対応する解決策を提供する。上記のリアルタイム通知は、メッセージシステムを用いることにより転送できる。例えば、既存のメッセージシステムを用いることができる、又は、専用メッセージシステムを確立できる。メッセージシステムの構造及び形式は限定されない。
図6は、本願における解決策をアクティブ−アクティブシステムに適用する別のデータ同期手順を示す。説明を容易にするため、下記の実施を、図3に示すシステム構成を参照に、全体の手順を説明する。
S201:データ同期ソースエンドが、ソースエンドデータベースのデータが変更されたことを特定する。
このステップはS101と同様である。この実施において、詳細を再び説明しない。
S202:データ同期ソースエンドが、このデータ変更についてリアルタイム通知を生成し、このリアルタイム通知をデータ同期ターゲットエンドへ送信する。
アプリケーションサーバAがデータベースAに対してデータ書き込み操作を実行する場合、各書き込み操作について識別子情報が生成される。例えば、識別子情報は、特定のアルゴリズムを用いることにより生成されるシーケンス番号又は識別子文字列とすることができる。書き込みリクエストがデータベースAに対して開始されると、アプリケーションサーバAは、変更する必要があるデータの詳細(例えば、値、データテーブル識別子、行識別子及び列識別子)を、識別子情報と共にデータベースAへ送信する。この実施において、リアルタイム通知メッセージ本文のベアラ(情報伝達)能力は限られているため、アプリケーションサーバAは、識別子情報をリアルタイム通知に書き込む。生成された後、リアルタイム通知は即座にデータ同期ターゲットエンドへ送信される。
S203:アプリケーションサーバAがデータベースAへのデータの書き込みに成功した後、データベースAは、この変更についてデータベースに対する同期操作を開始する。同期工程において、上記変更の識別子情報は具体的なデータ変更内容と共に、データベースBにも伝送される。
上記の実施と同様、データ同期ソースエンドについては、ステップS202及びS203は2つの相対的に独立した操作である。したがって、この2つのステップを実行する順序は限定されない。データ同期ターゲットエンドについては、ステップS204は、リアルタイム通知を受信した後に実行される。
S204:データ同期ターゲットエンドが、リアルタイム通知を解析することによりデータ変更操作識別子を取得し、解析結果に基づきターゲットエンドデータベースを監視する。
データ同期ターゲットエンドでは、アプリケーションサーバBが、リアルタイム通知受信ポートに対してリアルタイム検出を実行する。リアルタイム通知を受信した後、アプリケーションサーバBは、それを即座に解析する。この実施において、リアルタイム通知を解析することによりソースエンドがデータベースAに対して実行した変更の操作識別子を取得した後、アプリケーションサーバBは、識別子を求めてデータベースBの監視を始める。
S205:データ同期ソースエンドからデータ同期ターゲットエンドの下層データベースへの同期が完了する。
S206:ターゲットエンドデータベースの同期された内容に基づき、データ同期ソースエンドがターゲットエンドデータベース内のキャッシュを更新する。
監視を通じて識別子に対応する変更操作がデータベースAからデータベースBへと同期されたことを検出した後、アプリケーションサーバは、対応するデータをデータベースBから読み取り、読み取り結果に基づきローカルデータベース内のキャッシュBを更新する。
リアルタイム通知の伝送速度は下層データベースの同期速度より速いため、リアルタイム通知を受信した後、アプリケーションサーバBは通常、一定期間後にキャッシュBを更新できる。上記の実施とは対照的に、この実施において、データ同期ターゲットエンドは、下層データベースの同期が完了した後にのみローカルキャッシュを更新できる。ただし、データ同期ターゲットエンドが下層データベースを変更すべきであることを事前に知得できるように、リアルタイム通知が用いられる。監視を通じて、同期が完了した直後にデータを取得することによりキャッシュを更新できる。したがって、既存の技術的解決策と比較して、キャッシュ同期更新の遅延をある程度は縮めることができる。
上記の実施において述べた2通りのデータ同期方法は、データ同期ターゲットエンドでのキャッシュの同期更新の遅延を異なるレベルで縮めることができる。リアルタイム通知の容量が限られていない場合、1つ目の解決策を選択して比較的短い遅延を実現できる。実際のアプリケーションにおいて、アプリケーションサーバが変更すべきデータベース内のデータの量は不明確である。CIF(Customer Information File、顧客情報ファイル)システムを例にとる。変更するユーザ個人情報のデータ量は比較的少ない。多数のサブアカウントと関連づけられている大型アカウントの場合、変更操作は、多数のサブアカウントにおけるデータの変更を伴う可能性がある。本願は、この状況のための適応型データ同期解決策を更に提供する。
ソースエンドデータベースのデータが変更された、と特定された後に、データ同期ソースエンドはまず、この変更のデータ量が所定の閾値を超えているかどうかを特定する。閾値は、リアルタイム通知のベアラ能力に基づき特定され、リアルタイム通知のベアラ能力は、伝送帯域幅及び通知メッセージセンタの格納容量等の要因に依存する。当然ながら、閾値は、リアルタイム通知の生成中に実行される圧縮及び符号化などの要因に基づき更に特定できる。結論として、リアルタイム通知がこの変更操作に関する変更の詳細を含むことができる、と特定された場合、少なくともこの変更に関する特定値情報を含む変更の詳細がリアルタイム通知に書き込まれる。リアルタイム通知がこの変更操作に関する変更の詳細を含むことができないと特定された場合、この変更の操作識別子のみがリアルタイム通知に書き込まれる。
リアルタイム通知を受信した後、データ同期ターゲットエンドはまず、リアルタイム通知を解析する。解析結果が変更に関する特定値情報を含む場合、ターゲットエンドデータベース内のキャッシュが解析結果に基づき直接更新される。そうでない場合は、ターゲットエンドデータベースが解析により取得される変更操作識別子に基づき監視される。識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、対応するデータをターゲットエンドデータベースから取得することによりターゲットエンドデータベース内のキャッシュが更新される。
先の解決策において、データ同期ソースエンドは、変更に関連するデータ量に基づき、異なる内容を含むリアルタイム通知を適応させて生成する。そのため、小規模なデータ変更の場合、データ同期ターゲットエンドは、下層データベースの同期の完了を待つことなくローカルのキャッシュにおいてデータを更新できる。大規模なデータ変更の場合、ローカルキャッシュ内のデータは、同期が完了した直後に更新できる。
先の各実施では、1つのデータの変更の場合のキャッシュの同期更新工程が示されたことが分かる。連続的なデータ変更の場合、上記手順を繰り返すだけでよい。加えて、先の各実施においては、説明のためにアクティブ−アクティブシステムのみを例にとる。少なくとも3つのデータセンタを含む多重アクティブシステムの場合、データ同期ソースエンド及びデータ同期ターゲットエンドのキャッシュ更新手順は同様である。本願の実施の詳細は、ここでは繰り返さない。
本願は、データ同期ソースエンド装置を更に提供する。図7に示すように、この装置は、リアルタイム通知生成モジュール110とリアルタイム通知送信モジュール120とを含むことができる。
リアルタイム通知生成モジュール110は、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、リアルタイム通知は、このデータ変更に関する情報を含む。
リアルタイム通知送信モジュール120は、リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。したがって、リアルタイム通知を受信した後、データ同期ターゲットエンドは、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する。
本願の特定の実施において、リアルタイム通知生成モジュール110は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更に関する特定値情報をリアルタイム通知に書き込むように構成できる。
本願の特定の実施において、リアルタイム通知生成モジュール110は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
本願の特定の実施において、リアルタイム通知生成モジュール110は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報をリアルタイム通知に書き込み、肯定の場合、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
本願の特定の実施において、データ同期ソースエンド装置を、データ同期ソースエンドアプリケーションサーバに配設できる。
本願は、データ同期ターゲットエンド装置を更に提供する。図8に示すように、この装置は、リアルタイム通知受信モジュール210とキャッシュデータ更新モジュール220とを含むことができる。
リアルタイム通知受信モジュール210は、データ同期ソースエンドが送信するリアルタイム通知を受信するように構成される。
キャッシュデータ更新モジュール220は、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。
データ同期ソースエンドが、ソースエンドデータベースのデータは変更された、と特定した後に、このデータ変更についてリアルタイム通知が生成されて送信され、リアルタイム通知は、このデータ変更に関する情報を含む。
本願の特定の実施において、リアルタイム通知は、この変更に関する特定値情報を含むことができる。
これに応じ、キャッシュデータ更新モジュール220は、具体的には、解析により取得された変更に関する特定値情報に基づき、ターゲットエンドデータベース内のキャッシュを直接更新するように構成できる。
本願の特定の実施において、リアルタイム通知は、この変更の操作識別子を含むことができる。
これに応じ、キャッシュデータ更新モジュール220は、具体的には、解析により取得される変更操作識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づきターゲットエンドデータベース内のキャッシュを更新するように構成できる。
本願の特定の実施において、リアルタイム通知は、この変更に関する特定値情報又はこの変更の操作識別子を含むことができる。
これに応じ、キャッシュデータ更新モジュール220は、具体的には、解析結果が変更に関する特定値情報である場合、解析結果に基づきターゲットエンドデータベース内のキャッシュを直接更新し、解析結果が変更操作識別子である場合、識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づき、ターゲットエンドデータベース内のキャッシュを更新するように構成できる。
本願の特定の実施において、データ同期ターゲットエンド装置は、データ同期ターゲットエンドのアプリケーションサーバに配設できる。
本願は、データ同期システムを更に提供する。図9に示すように、システムは、データ同期ソースエンド装置100とデータ同期ターゲットエンド装置200とを含むことができる。
データ同期ソースエンド装置100は、リアルタイム通知生成モジュール110とリアルタイム通知送信モジュール120とを含むことができる。
リアルタイム通知生成モジュール110は、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成されており、リアルタイム通知は、このデータ変更に関する情報を含む。
リアルタイム通知送信モジュール120は、リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。
データ同期ターゲットエンド装置200は、リアルタイム通知受信モジュール210とキャッシュデータ更新モジュール220とを含むことができる。
リアルタイム通知受信モジュール210は、リアルタイム通知を受信するように構成される。
キャッシュデータ更新モジュール220は、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。
本願の特定の実施において、リアルタイム通知生成モジュール110は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更に関する特定値情報をリアルタイム通知に書き込むように構成できる。
これに応じ、キャッシュデータ更新モジュール220は、具体的には、解析により取得される変更に関する特定値情報に基づき、ターゲットエンドデータベース内のキャッシュを直接更新するように構成できる。
本願の別の特定の実施において、リアルタイム通知生成モジュール110は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
これに応じ、キャッシュデータ更新モジュール220は、具体的には、解析により取得される変更操作識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づきターゲットエンドデータベース内のキャッシュを更新するように構成できる。
本願の別の特定の実施において、リアルタイム通知生成モジュール110は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報をリアルタイム通知に書き込み、肯定の場合、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
これに応じ、キャッシュデータ更新モジュール220は、具体的には、解析結果が変更に関する特定値情報である場合、解析結果に基づきターゲットエンドデータベース内のキャッシュを直接更新し、解析結果が変更操作識別子であった場合、識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づき、ターゲットエンドデータベース内のキャッシュを更新するように構成できる。
上記装置における各モジュールの機能及び役割の実施工程については、先の方法の対応するステップの実施工程を参照されたい。ここでは詳細を再び説明しない。
実際のアプリケーション設計において、データ同期ソースエンド装置及びデータ同期ターゲットエンド装置の関連機能モジュールは全て、図3に示すように、アプリケーションサーバとは相対的に無関係である物理的エンティティ(例えば、専用サーバ)に配置できる。或いは、機能モジュールの一部又は全てをアプリケーションサーバ内に配置できる。同期装置の機能モジュールの全てをアプリケーションサーバ内に配置する場合、本質的には、データ同期ソースエンド及びデータ同期ターゲットエンドの両方の側の同期装置の機能が両方の側のアプリケーションサーバに組み込まれ、対応するシステム構成を図4に示すように単純化でき、同期装置とアプリケーションサーバとの間の相互作用が、アプリケーションサーバ内の内部相互作用として単純化される。
本願において提供されるデータ同期ソースエンド装置及びデータ同期ターゲットエンド装置は、ハードウェアデバイス上、例えばサーバ上、へ別々に配設できる。図10は、本願に係る上記装置を構成するデバイスのハードウェア構造を示す概略図である。デバイスは、プロセッサ1010、メモリ1020、入力/出力インターフェース1030、通信インターフェース1040、及びバス1050を含むことができる。プロセッサ1010、メモリ1020、入力/出力インターフェース1030、及び通信インターフェース1040は、デバイスにおいてバス1050を用いることにより相互通信接続を実施する。
プロセッサ1010は、本願において提供される技術的解決策を実施するために関連プログラムを実行するように構成された、汎用CPU(Central Processing Unit、中央処理演算装置)、マイクロプロセッサ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、又は1つ以上の集積回路とすることができる。
メモリ1020は、ROM(Read Only Memory)、RAM(Random Access Memory)、静的格納デバイス、動的格納デバイスなどの形態で実施できる。メモリ1020は、オペレーティングシステム及び別のアプリケーションプログラムを格納できる。本願において提供される技術的解決策を、ソフトウェア又はファームウェアを使用することにより実施する場合、関連するプログラムコードがメモリ1020に格納され、プロセッサ1010により呼び出されて実行される。
入力/出力インターフェース1030は、入力/出力モジュールに接続されて情報入力及び出力を実施するように構成される。入力/出力モジュールは、デバイスにおけるコンポーネント(不図示)として構成でき、又は対応する機能を提供するためにデバイスへ接続できる。入力デバイスとしては、キーボード、マウス、タッチスクリーン、マイクロホン、センサ等を挙げることができる。出力デバイスとしては、ディスプレイ、スピーカ、バイブレータ、インジケータ等を挙げることができる。
通信インターフェース1040は、本デバイスと別のデバイスとの間の通信及び相互作用を実施するため、通信モジュール(不図示)に接続されるように構成される。通信モジュールは、有線(例えばUSB又はネットワークケーブル)、又は無線(例えばモバイルネットワーク、WI−FI又はBluetooth(登録商標))で通信を実施できる。
バス1050は、デバイスのコンポーネント(例えばプロセッサ1010、メモリ1020、入力/出力インターフェース1030、及び通信インターフェース1040)間で情報を伝送するためのチャンネルを含む。
上記では、デバイスのプロセッサ1010、メモリ1020、入力/出力インターフェース1030、通信インターフェース1040、及びバス1050のみを示しているが、特定の実施工程において、デバイスは、通常の稼動に必須な別のコンポーネントを更に含むことができる点に留意すべきである。加えて、当業者は理解できることであるが、デバイスは、本願の解決策の実施に必要なコンポーネントのみを含むことができ、必ずしも図に示すコンポーネントを全て含むとは限らない。
実施の説明から分かることであるが、本願は、必要なユニバーサルハードウェアプラットフォームに加え、ソフトウェアを用いることにより実施可能であることを、当業者は明確に理解できる。そのような理解に基づき、本質的に又は部分的に従来技術に寄与する本願における技術的解決策は、ソフトウェア製品の形態で実施できる。ソフトウェア製品は、記録媒体、例えばROM/RAM、磁気ディスク、又は光ディスクに格納でき、コンピュータデバイス(パーソナルコンピュータ、サーバ、又はネットワークデバイス)に本願の実施又は実施の一部に記載する方法を実行するように指示する幾つかの命令を含む。
本明細書中の実施は全て、順を追う方式で説明される。実施中の同一又は同様の部分は互いを参照する。各実施は、他の実施との差異に焦点を当てている。特に、装置又はシステムの実施は、方法の実施と同様であるので、比較的に簡潔に記載されている。関連する部分については、方法の実施における関連する説明を参照されたい。記載した装置又はシステムの実施は、一例に過ぎない。別々の部分として記載したモジュールは、物理的に別々であっても、そうでなくともよい。本願における解決策を実施する場合、各モジュールの機能は、一つ以上のソフトウェア及び/又はハードウェアにおいて実施できる。モジュールの一部又は全てを、実施の解決策の目的を達成するための実際の必要性に基づき選択できる。当業者は、創造的な努力をせずに本開示の実施を理解し実施できる。
上の記載は本願の特定の実施に過ぎない。なお、当業者は、本願の原理から逸脱することなくいくつかの改良又は向上を図ることができ、この改良又は向上は、本願の保護範囲に含まれる。
100 データ同期ソースエンド装置
110 リアルタイム通知生成モジュール
120 リアルタイム通知送信モジュール
200 データ同期ターゲットエンド装置
210 リアルタイム通知受信モジュール
220 キャッシュデータ更新モジュール
1010 プロセッサ
1020 メモリ
1030 入力/出力インターフェース
1040 通信インターフェース
上の記載は本願の特定の実施に過ぎない。なお、当業者は、本願の原理から逸脱することなくいくつかの改良又は向上を図ることができ、この改良又は向上は、本願の保護範囲に含まれる。
以下、本発明の実施の態様の例を列挙する。
[第1の局面]
データ同期方法であって:
ソースエンドデータベースのデータが変更されたと特定した後に、データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成し、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記送信するステップと;
前記データ同期ターゲットエンドにより、前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を備える、
データ同期方法。
[第2の局面]
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは:
この変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
第1の局面に記載のデータ同期方法。
[第3の局面]
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは:
この変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
解析により取得される前記変更操作識別子に基づき、前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
第1の局面に記載のデータ同期方法。
[第4の局面]
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは:
この変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込み、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
前記解析結果が変更に関する特定値情報である場合に、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップ;又は
前記解析結果が変更操作識別子である場合に、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップ;を備える、
第1の局面に記載のデータ同期方法。
[第5の局面]
データ同期ソースエンドに適用されるデータ同期方法であって:
ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記生成するステップと;
前記リアルタイム通知を受信した後に、前記データ同期ターゲットエンドが前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと;を備える
データ同期方法。
[第6の局面]
このデータ変更についてリアルタイム通知を生成する前記ステップは:
前記変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備える、
第5の局面に記載のデータ同期方法。
[第7の局面]
このデータ変更についてリアルタイム通知を生成する前記ステップは:
前記変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備える、
第5の局面に記載のデータ同期方法。
[第8の局面]
このデータ変更についてリアルタイム通知を生成する前記ステップは:
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合には、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合には、この変更の操作識別子を前記リアルタイム通知に書き込む、
第5の局面に記載のデータ同期方法。
[第9の局面]
データ同期ターゲットエンドに適用されるデータ同期方法であって:
データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップと;
前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を備え、
前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期方法。
[第10の局面]
前記リアルタイム通知が、この変更に関する特定値情報を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
第9の局面に記載のデータ同期方法。
[第11の局面]
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
第9の局面に記載のデータ同期方法。
[第12の局面]
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
このデータ変更について前記リアルタイム通知を生成する前記ステップは:
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更の操作識別子を前記リアルタイム通知に書き込み、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、
前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
第9の局面に記載のデータ同期方法。
[第13の局面]
データ同期ソースエンド装置であって:
リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
前記リアルタイム通知送信モジュールは、前記データ同期ターゲットエンドが前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するよう、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される、
データ同期ソースエンド装置。
[第14の局面]
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する特定値情報を前記リアルタイム通知に書き込むように構成される、
第13の局面に記載のデータ同期ソースエンド装置。
[第15の局面]
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
第13の局面に記載のデータ同期ソースエンド装置。
[第16の局面]
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
第13の局面に記載のデータ同期ソースエンド装置。
[第17の局面]
前記データ同期ソースエンド装置はデータ同期ソースエンドアプリケーションサーバに配設される、
第13の局面に記載のデータ同期ソースエンド装置。
[第18の局面]
データ同期ターゲットエンド装置であって:
リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
前記リアルタイム通知受信モジュールは、データ同期ソースエンドにより送信されたリアルタイム通知を受信するように構成され、
前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成され、
前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期ターゲットエンド装置。
[第19の局面]
前記リアルタイム通知が、この変更に関する特定値情報を含み、
前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更に関連する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するように構成される、
第18の局面に記載のデータ同期ターゲットエンド装置。
[第20の局面]
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
第18の局面に記載のデータ同期ターゲットエンド装置。
[第21の局面]
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
前記キャッシュデータ更新モジュールは、具体的には、前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
第18の局面に記載のデータ同期ターゲットエンド装置。
[第22の局面]
前記データ同期ターゲットエンド装置は、データ同期ターゲットエンドアプリケーションサーバに配設される、
第18の局面に記載のデータ同期ターゲットエンド装置。
[第23の局面]
データ同期システムであって:
データ同期ソースエンド装置とデータ同期ターゲットエンド装置とを備え、
前記データ同期ソースエンド装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
前記リアルタイム通知送信モジュールは、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成され、
前記データ同期ターゲットエンド装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
前記リアルタイム通知受信モジュールは、前記リアルタイム通知を受信するように構成され、
前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される、
データ同期システム。

Claims (23)

  1. データ同期方法であって:
    ソースエンドデータベースのデータが変更されたと特定した後に、データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成し、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記送信するステップと;
    前記データ同期ターゲットエンドにより、前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を備える、
    データ同期方法。
  2. データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは:
    この変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備え、
    前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
    解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
    請求項1に記載のデータ同期方法。
  3. データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは:
    この変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備え、
    前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
    解析により取得される前記変更操作識別子に基づき、前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
    請求項1に記載のデータ同期方法。
  4. データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは:
    この変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込み、
    前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
    前記解析結果が変更に関する特定値情報である場合に、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップ;又は
    前記解析結果が変更操作識別子である場合に、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップ;を備える、
    請求項1に記載のデータ同期方法。
  5. データ同期ソースエンドに適用されるデータ同期方法であって:
    ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記生成するステップと;
    前記リアルタイム通知を受信した後に、前記データ同期ターゲットエンドが前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと;を備える
    データ同期方法。
  6. このデータ変更についてリアルタイム通知を生成する前記ステップは:
    前記変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備える、
    請求項5に記載のデータ同期方法。
  7. このデータ変更についてリアルタイム通知を生成する前記ステップは:
    前記変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備える、
    請求項5に記載のデータ同期方法。
  8. このデータ変更についてリアルタイム通知を生成する前記ステップは:
    前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合には、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合には、この変更の操作識別子を前記リアルタイム通知に書き込む、
    請求項5に記載のデータ同期方法。
  9. データ同期ターゲットエンドに適用されるデータ同期方法であって:
    データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップと;
    前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと;を備え、
    前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
    データ同期方法。
  10. 前記リアルタイム通知が、この変更に関する特定値情報を含み、
    解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
    解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
    請求項9に記載のデータ同期方法。
  11. 前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
    解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
    解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
    請求項9に記載のデータ同期方法。
  12. 前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
    このデータ変更について前記リアルタイム通知を生成する前記ステップは:
    前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更の操作識別子を前記リアルタイム通知に書き込み、
    前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは:
    前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、
    前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
    請求項9に記載のデータ同期方法。
  13. データ同期ソースエンド装置であって:
    リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
    前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
    前記リアルタイム通知送信モジュールは、前記データ同期ターゲットエンドが前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するよう、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される、
    データ同期ソースエンド装置。
  14. 前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する特定値情報を前記リアルタイム通知に書き込むように構成される、
    請求項13に記載のデータ同期ソースエンド装置。
  15. 前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
    請求項13に記載のデータ同期ソースエンド装置。
  16. 前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
    請求項13に記載のデータ同期ソースエンド装置。
  17. 前記データ同期ソースエンド装置はデータ同期ソースエンドアプリケーションサーバに配設される、
    請求項13に記載のデータ同期ソースエンド装置。
  18. データ同期ターゲットエンド装置であって:
    リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
    前記リアルタイム通知受信モジュールは、データ同期ソースエンドにより送信されたリアルタイム通知を受信するように構成され、
    前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成され、
    前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
    データ同期ターゲットエンド装置。
  19. 前記リアルタイム通知が、この変更に関する特定値情報を含み、
    前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更に関連する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するように構成される、
    請求項18に記載のデータ同期ターゲットエンド装置。
  20. 前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
    前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
    請求項18に記載のデータ同期ターゲットエンド装置。
  21. 前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
    前記キャッシュデータ更新モジュールは、具体的には、前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
    請求項18に記載のデータ同期ターゲットエンド装置。
  22. 前記データ同期ターゲットエンド装置は、データ同期ターゲットエンドアプリケーションサーバに配設される、
    請求項18に記載のデータ同期ターゲットエンド装置。
  23. データ同期システムであって:
    データ同期ソースエンド装置とデータ同期ターゲットエンド装置とを備え、
    前記データ同期ソースエンド装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
    前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
    前記リアルタイム通知送信モジュールは、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成され、
    前記データ同期ターゲットエンド装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
    前記リアルタイム通知受信モジュールは、前記リアルタイム通知を受信するように構成され、
    前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される、
    データ同期システム。
JP2018537667A 2016-01-18 2017-01-09 データ同期方法、装置及びシステム Active JP6745884B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610031809.XA CN106980625B (zh) 2016-01-18 2016-01-18 一种数据同步方法、装置及系统
CN201610031809.X 2016-01-18
PCT/CN2017/070648 WO2017124938A1 (zh) 2016-01-18 2017-01-09 一种数据同步方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2019508796A true JP2019508796A (ja) 2019-03-28
JP6745884B2 JP6745884B2 (ja) 2020-08-26

Family

ID=59340589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018537667A Active JP6745884B2 (ja) 2016-01-18 2017-01-09 データ同期方法、装置及びシステム

Country Status (10)

Country Link
US (3) US11010404B2 (ja)
EP (1) EP3407527B1 (ja)
JP (1) JP6745884B2 (ja)
KR (1) KR102153804B1 (ja)
CN (1) CN106980625B (ja)
MY (1) MY185258A (ja)
PH (1) PH12018501520A1 (ja)
SG (1) SG11201806007RA (ja)
TW (1) TW201730784A (ja)
WO (1) WO2017124938A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021507377A (ja) * 2017-12-14 2021-02-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データ・ストレージ・システムにおけるコピー・ソース・ツー・ターゲット管理

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980625B (zh) 2016-01-18 2020-08-04 阿里巴巴集团控股有限公司 一种数据同步方法、装置及系统
US10809998B2 (en) 2016-02-12 2020-10-20 Nutanix, Inc. Virtualized file server splitting and merging
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
CN106412071A (zh) * 2016-10-08 2017-02-15 中国工商银行股份有限公司 一种数据同步方法及装置
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
CN107465767B (zh) * 2017-09-29 2020-06-23 网宿科技股份有限公司 一种数据同步的方法和系统
CN108337303A (zh) * 2018-01-24 2018-07-27 中国银联股份有限公司 一种数据同步方法和分布式系统
CN110309157A (zh) * 2018-03-06 2019-10-08 北京京东尚科信息技术有限公司 一种数据同步更新方法和装置
CN108200219B (zh) * 2018-03-13 2020-04-14 Oppo广东移动通信有限公司 数据同步方法、装置、服务器及存储介质
CN108551484B (zh) * 2018-04-23 2021-04-20 平安科技(深圳)有限公司 用户信息同步方法、装置、计算机装置及存储介质
CN109254997B (zh) * 2018-08-27 2020-12-11 广州城市信息研究所有限公司 数据同步方法、系统、计算机设备和可读存储介质
CN109284300A (zh) * 2018-08-31 2019-01-29 江苏龙虎网信息科技股份有限公司 一种客户端海量数据实时更新方法
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
CN109714394B (zh) * 2018-12-05 2021-11-09 深圳店匠科技有限公司 跨境多服务端的信息同步方法、系统和存储介质
CN109814791B (zh) * 2018-12-20 2020-11-13 东软集团股份有限公司 处理流程节点的方法、装置、存储介质及电子设备
CN109753511B (zh) * 2018-12-28 2020-12-04 北京东方国信科技股份有限公司 一种大数据平台的跨地域实时同步方法及系统
CN109783580A (zh) * 2019-01-24 2019-05-21 北京致远互联软件股份有限公司 数据同步方法及装置
CN110046167B (zh) * 2019-02-18 2024-03-26 创新先进技术有限公司 数据更新方法和系统
CN109936481B (zh) 2019-03-22 2021-06-18 北京达佳互联信息技术有限公司 主从服务器切换方法、装置、电子设备及存储介质
CN110222065A (zh) * 2019-05-29 2019-09-10 深圳市思迪信息技术股份有限公司 基于移动平台的机房站点更新方法及系统
KR102211403B1 (ko) * 2019-06-19 2021-02-03 주식회사 코비젼 다중 웹서버 환경의 공용자원 동기화 시스템
CN110633324B (zh) * 2019-09-18 2022-07-26 中化信息技术有限公司 用于同步数据的方法、装置、电子设备和计算机可读介质
CN110990200B (zh) * 2019-11-26 2022-07-05 苏宁云计算有限公司 一种基于多活数据中心的流量切换方法及装置
CN111125247A (zh) * 2019-12-06 2020-05-08 北京浪潮数据技术有限公司 一种redis客户端缓存方法、装置、设备及存储介质
CN111061768A (zh) * 2019-12-23 2020-04-24 珠海格力电器股份有限公司 数据处理方法及系统
CN111162995A (zh) * 2019-12-26 2020-05-15 苏州浪潮智能科技有限公司 一种数据变更通知方法、装置、设备及可读存储介质
US11500850B1 (en) * 2020-02-26 2022-11-15 Snap Inc. Synchronizing content with third-party application
CN111464332B (zh) * 2020-03-06 2023-02-24 中国人民财产保险股份有限公司 容灾方法、装置及设备
CN113556371B (zh) * 2020-04-26 2022-09-30 深信服科技股份有限公司 一种数据同步方法、系统、设备及计算机可读存储介质
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN112069256A (zh) * 2020-08-27 2020-12-11 苏州浪潮智能科技有限公司 一种服务器集群上数据同步装置及其同步方法
CN112559025A (zh) * 2020-12-16 2021-03-26 中国人寿保险股份有限公司 配置信息更新同步方法及设备
CN112905694A (zh) * 2021-02-05 2021-06-04 广州虎牙科技有限公司 数据同步方法、装置、服务器及存储介质
CN115150411A (zh) * 2021-03-31 2022-10-04 华为技术有限公司 数据同步的方法和装置
CN113656366B (zh) * 2021-08-03 2024-05-03 北京数码大方科技股份有限公司 电子仓库的数据处理方法和装置
CN113992680B (zh) * 2021-11-10 2024-02-02 中国工商银行股份有限公司 应用于分布式多活系统的调度方法、装置、设备及介质
CN113986909B (zh) * 2021-12-24 2022-04-22 畅捷通信息技术股份有限公司 一种反向记录同步状态的实时数据同步方法、系统及介质
CN114415984B (zh) * 2022-03-31 2022-08-16 阿里云计算有限公司 数据处理方法及装置
CN114722046A (zh) * 2022-04-18 2022-07-08 聚好看科技股份有限公司 一种服务器及首页缓存数据分版本生成方法
CN116561089B (zh) * 2023-07-10 2023-09-19 成都泛联智存科技有限公司 数据同步方法、装置、客户端和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131917A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd 記憶装置システム
JP2010170485A (ja) * 2009-01-26 2010-08-05 Toshiba Corp データ記憶システム及び非同期レプリケーション方法
JP2015162091A (ja) * 2014-02-27 2015-09-07 富士通株式会社 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792436B1 (en) * 2000-02-11 2004-09-14 Persistence Software, Inc. Method for synchronizing multiple software caches in a memory
WO2002023330A2 (en) * 2000-09-11 2002-03-21 Avantgo, Inc. Method, system, and computer program product for synchronization of similar data objects with event information
EP1459213B1 (en) * 2001-11-15 2017-05-10 Good Technology Holdings Limited System and methods for asychronous synchronization
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
US20070011667A1 (en) * 2005-05-25 2007-01-11 Saravanan Subbiah Lock management for clustered virtual machines
CN101188566B (zh) * 2007-12-13 2010-06-02 东软集团股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN101291342A (zh) * 2008-06-18 2008-10-22 中兴通讯股份有限公司 一种分布式体系中的数据同步方法及系统
US8037136B2 (en) * 2009-03-11 2011-10-11 Business Objects Software Ltd Tracking a state of a document accessible over a computer network
US8756195B2 (en) * 2009-08-27 2014-06-17 The Boeing Company Universal delta set management
US8321392B2 (en) * 2009-12-30 2012-11-27 Sybase, Inc. Pending state management for mobile business objects
US20120028660A1 (en) * 2010-07-28 2012-02-02 Matthew Stafford Method and apparatus for notifying devices of new messages
CN102346740B (zh) * 2010-08-02 2016-08-10 联想(北京)有限公司 一种文件同步方法、电子设备和同步系统
CN102741843B (zh) * 2011-03-22 2014-03-26 青岛海信传媒网络技术有限公司 从数据库中读取数据的方法及装置
CN102279880B (zh) * 2011-07-28 2014-07-16 赵香芳 一种实时更新缓存的方法和系统
CN103138912B (zh) * 2011-12-05 2016-08-03 阿里巴巴集团控股有限公司 数据同步方法及系统
CN103581262B (zh) * 2012-08-06 2017-12-29 腾讯科技(深圳)有限公司 一种主备数据同步方法、装置和系统
US20140229435A1 (en) * 2013-01-27 2014-08-14 Travel Holdings, Inc. In-memory real-time synchronized database system and method
US9020893B2 (en) * 2013-03-01 2015-04-28 Datadirect Networks, Inc. Asynchronous namespace maintenance
US10747746B2 (en) * 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
EP3127008B1 (en) * 2014-03-31 2020-06-03 Oracle International Corporation Infrastructure for synchronization of mobile device with mobile cloud service
CN106980625B (zh) 2016-01-18 2020-08-04 阿里巴巴集团控股有限公司 一种数据同步方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131917A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd 記憶装置システム
JP2010170485A (ja) * 2009-01-26 2010-08-05 Toshiba Corp データ記憶システム及び非同期レプリケーション方法
JP2015162091A (ja) * 2014-02-27 2015-09-07 富士通株式会社 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021507377A (ja) * 2017-12-14 2021-02-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データ・ストレージ・システムにおけるコピー・ソース・ツー・ターゲット管理
JP7058020B2 (ja) 2017-12-14 2022-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージ・システムにおけるコピー・ソース・ツー・ターゲット管理のための方法、システム及びコンピュータ・プログラム

Also Published As

Publication number Publication date
SG11201806007RA (en) 2018-08-30
EP3407527A4 (en) 2019-07-03
MY185258A (en) 2021-04-30
WO2017124938A1 (zh) 2017-07-27
CN106980625A (zh) 2017-07-25
TW201730784A (zh) 2017-09-01
US20210271689A1 (en) 2021-09-02
US10754873B2 (en) 2020-08-25
EP3407527A1 (en) 2018-11-28
US11010404B2 (en) 2021-05-18
CN106980625B (zh) 2020-08-04
KR102153804B1 (ko) 2020-09-09
EP3407527B1 (en) 2021-07-07
US20180341693A1 (en) 2018-11-29
KR20180105675A (ko) 2018-09-28
PH12018501520A1 (en) 2019-03-18
US20200125580A1 (en) 2020-04-23
JP6745884B2 (ja) 2020-08-26

Similar Documents

Publication Publication Date Title
JP2019508796A (ja) データ同期方法、装置及びシステム
CN106302595B (zh) 一种对服务器进行健康检查的方法及设备
JP6557323B2 (ja) データベース障害時のデータ記憶
EP2769304B1 (en) Telemetry file hash and conflict detection
US11379836B2 (en) Methods and systems for recording data based on plurality of blockchain networks
CN111177165B (zh) 数据一致性检测的方法、装置及设备
WO2016029744A1 (zh) 一种元数据恢复方法及相关装置
CN113434600B (zh) 一种数据同步方法及装置
WO2014206089A1 (zh) 同步终端镜像的方法、装置、终端及服务器
CN106897288B (zh) 数据库的服务提供方法和系统
CN107516048B (zh) 一种控制分布式文件系统中文件访问的方法与设备
US10516628B2 (en) Transfer device, transfer system, and transfer method
KR102567900B1 (ko) 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
KR102089629B1 (ko) 데이터 처리 방법 및 그 방법을 처리하는 전자장치
US11838207B2 (en) Systems for session-based routing
CN111182047B (zh) 用于在跨网络的大数据平台之间转移文件的方法和系统
US10671505B2 (en) System and method for monitoring service
CN106375354B (zh) 数据处理方法及装置
CN110855778B (zh) 一种基于网络嗅探器的数据预加载方法、装置和系统
CN103401895B (zh) 网络加速方法及系统
CN113656221B (zh) 数据的处理方法、装置、计算机可读存储介质及处理器
US20160056994A1 (en) Diagnosing Network Misconfiguration Externally
CN114328021A (zh) 一种将redo日志发送到备数据库的方法和装置
TW202420077A (zh) 虛擬機器備援方法及系統
KR20230083822A (ko) 빅데이터의 전송 오류 방지 방법 및 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200526

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200804

R150 Certificate of patent or registration of utility model

Ref document number: 6745884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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