(57)【要約】  本願は、データ同期方法、装置及びシステムを開示する。データ同期方法は、データ同期ソースエンドによって、ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成し、リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと；データ同期ターゲットエンドによって、リアルタイム通知を受信した後に、リアルタイム通知を解析することによりデータ変更に関連する情報を取得して、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を含む。先の解決策において、リアルタイム通知を受信した後、リアルタイム通知に含まれる情報に基づきローカルデータベース内のキャッシュを直接更新できる。また、キャッシュ同期更新遅延を縮めるために、ローカルデータベースの監視を開始してローカルデータの同期が完了した直後にキャッシュデータを更新することができる。
2019508796.tif 000002
【特許請求の範囲】
【請求項１】
データ同期方法であって： 
ソースエンドデータベースのデータが変更されたと特定した後に、データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成し、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記送信するステップと；
前記データ同期ターゲットエンドにより、前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を備える、
データ同期方法。
【請求項２】
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは：
この変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
請求項１に記載のデータ同期方法。
【請求項３】
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは：
この変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更操作識別子に基づき、前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
請求項１に記載のデータ同期方法。
【請求項４】
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは：
この変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込み、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
前記解析結果が変更に関する特定値情報である場合に、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップ；又は
前記解析結果が変更操作識別子である場合に、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップ；を備える、
請求項１に記載のデータ同期方法。
【請求項５】
データ同期ソースエンドに適用されるデータ同期方法であって：
ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記生成するステップと；
前記リアルタイム通知を受信した後に、前記データ同期ターゲットエンドが前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと；を備える
データ同期方法。
【請求項６】
このデータ変更についてリアルタイム通知を生成する前記ステップは：
前記変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備える、
請求項５に記載のデータ同期方法。
【請求項７】
このデータ変更についてリアルタイム通知を生成する前記ステップは：
前記変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備える、
請求項５に記載のデータ同期方法。
【請求項８】
このデータ変更についてリアルタイム通知を生成する前記ステップは：
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合には、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合には、この変更の操作識別子を前記リアルタイム通知に書き込む、
請求項５に記載のデータ同期方法。
【請求項９】
データ同期ターゲットエンドに適用されるデータ同期方法であって：
データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップと；
前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を備え、
前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期方法。
【請求項１０】
前記リアルタイム通知が、この変更に関する特定値情報を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
請求項９に記載のデータ同期方法。
【請求項１１】
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
請求項９に記載のデータ同期方法。
【請求項１２】
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
このデータ変更について前記リアルタイム通知を生成する前記ステップは：
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更の操作識別子を前記リアルタイム通知に書き込み、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、
前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
請求項９に記載のデータ同期方法。
【請求項１３】
データ同期ソースエンド装置であって：
リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
前記リアルタイム通知送信モジュールは、前記データ同期ターゲットエンドが前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するよう、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される、
データ同期ソースエンド装置。
【請求項１４】
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する特定値情報を前記リアルタイム通知に書き込むように構成される、
請求項１３に記載のデータ同期ソースエンド装置。
【請求項１５】
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
請求項１３に記載のデータ同期ソースエンド装置。
【請求項１６】
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
請求項１３に記載のデータ同期ソースエンド装置。
【請求項１７】
前記データ同期ソースエンド装置はデータ同期ソースエンドアプリケーションサーバに配設される、
請求項１３に記載のデータ同期ソースエンド装置。
【請求項１８】
データ同期ターゲットエンド装置であって：
リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
前記リアルタイム通知受信モジュールは、データ同期ソースエンドにより送信されたリアルタイム通知を受信するように構成され、
前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成され、
前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期ターゲットエンド装置。
【請求項１９】
前記リアルタイム通知が、この変更に関する特定値情報を含み、
前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更に関連する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するように構成される、
請求項１８に記載のデータ同期ターゲットエンド装置。
【請求項２０】
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
請求項１８に記載のデータ同期ターゲットエンド装置。
【請求項２１】
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
前記キャッシュデータ更新モジュールは、具体的には、前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
請求項１８に記載のデータ同期ターゲットエンド装置。
【請求項２２】
前記データ同期ターゲットエンド装置は、データ同期ターゲットエンドアプリケーションサーバに配設される、
請求項１８に記載のデータ同期ターゲットエンド装置。
【請求項２３】
データ同期システムであって：
データ同期ソースエンド装置とデータ同期ターゲットエンド装置とを備え、
前記データ同期ソースエンド装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
前記リアルタイム通知送信モジュールは、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成され、
前記データ同期ターゲットエンド装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
前記リアルタイム通知受信モジュールは、前記リアルタイム通知を受信するように構成され、
前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される、
データ同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はデータベース技術の分野に関し、特に、データ同期方法、装置及びシステムに関する。
【背景技術】
【０００２】
ビッグデータの時代において、データ所有者は通常、障害回復を目的として３ケ所以上のデータセンタを構築する。従来のコールド・スタンバイ型の障害回復解決策では、アクティブデータセンタが一次サービスとして用いられ、他のデータセンタを用いてアクティブデータセンタにおけるデータをバックアップする。この解決策の課題は、アクティブデータセンタとスタンバイデータセンタとを直接再利用することができず、スタンバイデータセンタは障害発生時にのみ機能し、資源利用度が低くなることである。加えて、スタンバイデータセンタが一次サービスとしてのアクティブデータセンタを引き継ぐには、多くの時間を必要とし、煩雑であり、一般に、通常のサービスの処理に深刻な影響を与える。
【０００３】
コールド・スタンバイ技術に関する課題に対し、分散型の多重アクティブデータセンタ（略して多重アクティブ）技術が提案されている。この実施の考え方は以下の通りである。すなわち、複数のデータセンタにはアクティブサービスもスタンバイサービスも存在せず、データセンタは、通常モードにおいては互いに協力し、サービスアクセスに対して並行にサービスを提供する。これにより、スタンバイデータセンタが待機状態になることがなくなり、システムのサービス能力が２倍になる。１つのデータセンタが故障した場合、他のデータセンタが全サービスを即座に引き継ぐことができる。
【０００４】
多重アクティブ解決策において、データセンタはそれぞれ比較的対等な関係にあり、データセンタ間のデータ同期速度に対する要求は比較的高い。とりわけ、データセンタを異なる場所に配備するアプリケーションシナリオにおいて、比較的通信距離の長い２カ所間のデータ同期速度を向上させることは、現在の多重アクティブデータセンタの構築における課題である。
【発明の概要】
【０００５】
上記の技術的課題を解決するために、本願は、データ同期方法、装置及びシステムを提供する。技術的解決策は以下の通りである。
【０００６】
本願の第１の態様によれば、データ同期方法が提供される。この方法は、ソースエンドデータベースのデータが変更されたと特定した後に、データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成し、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記送信するステップと；前記データ同期ターゲットエンドにより、前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を含む。
【０００７】
本願の第２の態様によれば、データ同期方法が提供される。この方法は、データ同期ソースエンドに適用され、ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記生成するステップと；前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと；を含む。これにより、前記リアルタイム通知を受信した後に前記データ同期ターゲットエンドが前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する。
【０００８】
本願の第３の態様によれば、データ同期方法が提供される。この方法は、データ同期ターゲットエンドに適用され、データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップと；前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を含み、前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む。
【０００９】
本願の第４の態様によれば、データ同期ソースエンド装置が提供される、この装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを含み、前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、前記リアルタイム通知送信モジュールは、前記データ同期ターゲットエンドが前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するよう、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。
【００１０】
本願の第５の態様によれば、データ同期ターゲットエンド装置が提供される。この装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを含み、前記リアルタイム通知受信モジュールは、データ同期ソースエンドにより送信されたリアルタイム通知を受信するように構成される。前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む。
【００１１】
本願の第６の態様によれば、データ同期システムが提供される。このシステムは、データ同期ソースエンド装置とデータ同期ターゲットエンド装置とを含み、前記データ同期ソースエンド装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備える。前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含む。前記リアルタイム通知送信モジュールは、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。前記データ同期ターゲットエンド装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを含む。前記リアルタイム通知受信モジュールは、前記リアルタイム通知を受信するように構成される。そして、前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。
【００１２】
本願が提供する技術的解決策に基づき、データを変更した後、データ同期ソースエンドは、リアルタイム通知を、データ同期ターゲットエンドへ送信する。リアルタイム通知に含まれる情報に基づきターゲットエンドがローカルデータベース内のキャッシュを直接更新できれば、下層データベースの同期の完了を待つことなくキャッシュを更新してキャッシュ同期更新遅延を縮めることができる。リアルタイム通知に含まれる情報に基づきターゲットエンドがローカルのデータベース内のキャッシュを直接更新できない場合でも、キャッシュ同期更新遅延を縮めるにはローカルのデータベースを同期させ更新すべきであることも知得されているので、ローカルのデータベースの監視が開始され、ローカルデータの同期が完了した直後に、キャッシュデータを更新する。
【００１３】
上記の一般的な説明と以下の詳細な説明は、単なる例及び説明に過ぎず、本開示を限定するものではないことを理解されたい。
【図面の簡単な説明】
【００１４】
本願の実施又は既存の技術における技術的解決策をより明確に説明するため、実施又は既存の技術を説明するための添付図面を簡単に以下説明する。当然ながら、以下の説明における添付図面は本願の一部の実施を示すに過ぎず、当業者は、これらの添付図面から他の図面を更に導き出すことができる。
【００１５】
【図１】図１は、既存の技術におけるアクティブ−アクティブシステムを示す第１の概略構造図である。
【００１６】
【図２】図２は、既存の技術におけるアクティブ−アクティブシステムを示す第２の概略構造図である。
【００１７】
【図３】図３は、本願に係るアクティブ−アクティブシステムを示す第１の概略構造図である。
【００１８】
【図４】図４は、本願に係るアクティブ−アクティブシステムを示す第２の概略構造図である。
【００１９】
【図５】図５は、本願に係るデータ同期方法を示す第１の概略フローチャートである。
【００２０】
【図６】図６は、本願に係るデータ同期方法を示す第２の概略フローチャートである。
【００２１】
【図７】図７は、本願に係るデータ同期ソースエンド装置を示す概略構造図である。
【００２２】
【図８】図８は、本願に係るデータ同期ターゲットエンド装置を示す概略構造図である。
【００２３】
【図９】図９は、本願に係るデータ同期システムを示す概略構造図である。
【００２４】
【図１０】図１０は、本願に係る装置を構成するためのデバイスを示す概略構造図である。
【発明を実施するための形態】
【００２５】
当業者が本願における技術的解決策をより深く理解できるように、本願の実施における添付図面を参照して本願の実施における技術的解決策を詳細に以下説明する。当然ながら、記載された実施態様は、本願の実施態様の全てではなく一部に過ぎない。本願の実施態様に基づき当業者により得られる他の実施態様は、本願の保護範囲に含まれる。
【００２６】
まず、多重アクティブデータセンターソリューションのシステム構成及び動作原理を簡単に説明する。図１は、アクティブ−アクティブシステムを示す概略構造図である。２つのデータセンタが、設備室Ａ及び設備室Ｂにそれぞれ設置されている。データベースＡ及びデータベースＢは、設備室Ａ及び設備室Ｂにそれぞれ配置されている。各設備室において、アプリケーションサーバは、直接、データベースと相互作用（交流）する。アプリケーションサーバは、ユーザ又は他のシステムが送信する指令に基づき、ローカルデータベースに対して読み取り／書き込み操作を実行する。多重アクティブシステムの要求に基づき、一方の設備室のデータベースが変更された場合、その変更は、できる限り速やかに他方の設備室と同期させる必要がある。同期工程において、最初に変更されるデータベースをソースエンドデータベースと称し、その後で同期させるデータベースをターゲットエンドデータベースと称する。
【００２７】
図１に示すアクティブ−アクティブシステムを例にとる。下層データベース（内部データベース）のプリミティブな（旧来の）データ同期解決策に基づき、アプリケーションサーバＡがデータベースＡに対して書き込み操作を実行すると、データベースＡ上で起こる書き込みイベントは順次にパックされる。次いで、パックされたイベントはデータベースＢへバッチ方式で入力されてデータ変更が実行される。変更後、アプリケーションサーバＢは、データベースＡのデータと一致するデータをデータベースＢから読み取ることができる。
【００２８】
キャッシングは、データベース操作では一般に用いられる技術である。基本的な下層データベース格納領域と比較して、キャッシュは、データ読み取り／書き込み性能に優れ、アプリケーションと下層データベースとの間の直接相互作用を回避できる。例えば、ステート型データの比較的明確な特徴は、データが読み取られる頻度が高く、書き込まれる頻度が低いことである。ユーザ情報データを例にとる。登録段階で個人情報を記入した後、ユーザが個人情報を頻繁に変更する可能性は低い。こうした特徴に基づき、ほとんどのシステムは、データベースの上層にあるキャッシュの層を用いて多数のデータクエリリクエストをバッファすることで、実際にデータベースへ送信されるクエリリクエストを減らし、システムの全体的クエリ性能を向上させている。
【００２９】
キャッシング技術は、多重アクティブシステムにも適用可能である。図２に示すように、キャッシュの層がデータベースの上層に配設され、よく用いられるデータが、キャッシュに予め入力される。アプリケーションサーバがデータを用いる必要がある場合、アプリケーションサーバは、データをキャッシュから優先的に読み取る必要があるため、データ読み取り効率が向上し、アプリケーションサーバと下層データベースとの間の直接相互作用を回避し、下層データベースへの読み取り／書き込みの負担を減らす。
【００３０】
キャッシング機構を追加した後、キャッシュは、アプリケーションサーバに読み取られるデータの主たるソースとなる。したがって、データセンタ間でデータ同期を実行する場合、ターゲットエンドでのデータクエリの精度を確保するために、ターゲットエンド設備室におけるキャッシュの同期更新の問題を考慮する必要がある。図２に示すアクティブ−アクティブシステムを例にとる。既存の同期解決策によれば、アプリケーションサーバＡがデータベースＡに対して書き込み操作を実行する場合、キャッシュＡとキャッシュＢの両方をも更新する必要がある。キャッシュＡはローカルに更新され、既存の技術的解決策を直接用いることができる。これ以上説明はしない。キャッシュＢの更新中、データベースＡとデータベースＢとの間のデータ同期操作をまず完了させる。次いで、アプリケーションサーバＢが、同期されたデータベースＢに基づきローカルのキャッシュＢを更新する。加えて、アクティブ−アクティブシステムにおいては、２つのデータベースを設備室Ａに配備できる。一方のデータベースを書き込みデータベースとして用い、他方のデータベースを読み取りデータベースとして用いる。別の設備室、例えば設備室Ｂには、読み取りデータベースを配備する。そのため、データ書き込み操作は、設備室Ａの書き込みデータベースを用いることにより実行される。データが書き込みデータベースに書き込まれた後、新規に書き込まれたデータをローカルの設備室の読み取りデータベース及び他の設備室の読み取りデータベースへと同期させることができる。そのため、キャッシング操作中、書き込みデータベースに書き込まれたデータは、対応するキャッシュが更新される前に、両設備室の読み取りデータベースを通過する必要がある。
【００３１】
実際のアプリケーション（適用）において、こうしたキャッシュデータ同期方法には、少なくとも２つの課題がある。
【００３２】
第１に、キャッシング機構において、ターゲットエンドのアプリケーションサーバは、キャッシュから優先的にデータを読み取り、ターゲットエンドのキャッシュデータに対して最終的に同期更新を実行する。下層データベース間のシリアルデータ同期の効率は、とりわけ、データセンタが異なる場所に配備されている場合には比較的低い。そのため、遅延は比較的大きく、キャッシュ更新ステップを追加した後は、遅延は更に大きくなる。
【００３３】
第２に、ターゲットエンドのアプリケーションサーバは、実際には、ローカルの下層データの更新を感知できず、キャッシュデータを即座に更新できない。その結果、遅延は更に大きくなる。
【００３４】
異なる場所にあるデータセンタを例にとる。２つのデータセンタが互いに１０００ｋｍの距離を隔てたそれぞれ別の都市に配備されている。試験によれば、書き込みデータベースと遠隔の読み取りデータベースとの間のデータ同期遅延は約３秒である。したがって、データベースのプリミティブなデータ同期・複製解決策を用いることにより、２つの都市のデータを同期させる場合、データは数秒以内に同期させることができる。ユーザが一方の都市のデータセンタでデータを書き込んだ場合、他方の都市のデータセンタが書き込まれたデータを即座に読み取ることができず、ユーザは、再度、数秒後に再試行しなければならないということが起こり得る。結果として、ユーザエクスペリエンスに悪影響を及ぼすことになる。
【００３５】
上記課題を解決するため、本願は、データセンタのデータベースキャッシュ間の同期更新の遅延を縮めるべく、データ同期方法を提供する。この方法は下記のステップを含む。
【００３６】
ソースエンドデータベースのデータが変更されたと特定された後、データ同期ソースエンドは、このデータ変更についてリアルタイム通知を生成し、リアルタイム通知をデータ同期ターゲットエンドへ送信する。リアルタイム通知はこのデータ変更に関する情報を含む。したがって、リアルタイム通知を受信した後、データ同期ターゲットエンドは、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する。
【００３７】
この方法は、データ同期ソースエンドとデータ同期ターゲットエンドとに別々に配置された同期装置により実行できる。図３に示すようにデータ同期ソースエンドに配置された同期装置Ａは、アプリケーションサーバＡに通信可能に接続される。アプリケーションサーバＡがデータベースＡに対して書き込み操作を実行した、と特定された後、同期装置Ａは、リアルタイム通知を生成し、リアルタイム通知を、データ同期ターゲットエンドに配置された同期装置Ｂへ送信し、同期装置Ｂは、リアルタイム通知に基づきキャッシュＢを直接更新する。
【００３８】
図３に示すように、実際のアプリケーションデザインにおいて、同期装置の関連する機能モジュールは全てアプリケーションサーバとは比較的無関係である物理的エンティティ（例えば、専用サーバ）に配置できることが分かる。或いは、機能モジュールの一部又は全てをアプリケーションサーバ内に配置できる。各同期装置の機能モジュールの全てをアプリケーションサーバ内に配置する場合、本質的には、データ同期ソースエンド及びデータ同期ターゲットエンドのそれぞれの側の同期装置の機能が、対応する側のアプリケーションサーバに組み込まれ、対応するシステム構成を図４に示すように単純化することができる。同期装置とアプリケーションサーバとの間の相互作用は、アプリケーションサーバ内の内部相互作用として単純化される。
【００３９】
本願で提供される技術的解決策では、下層データベースのプリミティブなデータ同期解決策に対する過度な調整を伴うことなくデータ同期ターゲットエンドデータベース内のキャッシュの更新遅延を縮めるため、リアルタイム通知が導入される。加えて、データ同期ソースエンドのローカルのキャッシュの更新操作は、既存の技術的解決策を用いることにより直接実施でき、それは、データ同期ターゲットエンドデータベース内のキャッシュの更新遅延とは基本的に無関係である。したがって、本願ではこれ以上説明はしない。
【００４０】
なお、図３及び図４に示すシステムによれば、構成上の典型的な解決策は、データベースＡが書き込みデータベースであること、そしてデータベースＢが読み取りデータベースであることである。当然ながら、本願における解決策とデータベースの読み取り／書き込みの分離メカニズムとの間に必然的な関連はない。例えば、データベースＡ及びデータベースＢはどちらも書き込みデータベースであり、又は、書き込みデータベースと読み取りデータベースとを１つの設備室に配備し、別の設備室に読み取りデータベースを配備する。このことが、本願における解決策の実施に影響することはない。
【００４１】
本願において提供されるデータ同期方法を、具体的実施を参照して更に詳細に以下説明する。
【００４２】
図５は、本願における解決策を、アクティブ−アクティブシステムに適用するデータ同期手順を示す。説明を容易にするため、下記の実施を図４に示す単純化したシステム構成を参照して、手順全体を説明する。
【００４３】
Ｓ１０１：データ同期ソースエンドが、ソースエンドデータベースのデータが変更されたことを特定する。
【００４４】
データ変更については、アプリケーションサーバＡがデータ書き込みリクエストをデータベースＡへ送信した後、又はデータベースＡへのデータの書き込みが成功したと特定された後に、データ変更を特定できる。前者の方法は、理論上、全体の手順の遅延を更に小さくでき、後者の方法は、データ同期ソースエンドデータベースへのデータ書き込みに失敗する状況を回避できる。この失敗の結果、データ同期ターゲットエンドでのキャッシュの更新がこのデータベースにおける更新と整合しなくなる。これは、システム安定性及びアプリケーションシナリオなどの要因に基づき、当業者が柔軟に設定できる。
【００４５】
Ｓ１０２：データ同期ソースエンドが、このデータ変更についてリアルタイム通知を生成し、リアルタイム通知をデータ同期ターゲットエンドへ送信する。
【００４６】
この実施において、アプリケーションサーバＡは、データベースＡに対して実行される各データ書き込み操作に対応するデータ変更の詳細を、リアルタイム通知に書き込む。本質的に、変更の詳細は、リアルタイム通知に対応するメッセージ本文に書き込まれる。ここでの変更の詳細は、少なくとも変更された値の情報｛例えば：張三，男性，２０｝を含まなければならない。両方の側でデータベースの実際のデータ格納フォーマット及びデータのデータ伝送方法に基づいて承認されたように、詳細は、変更に関連するデータテーブル識別子、行識別子、及び列識別子等の情報｛例えば：ｎａｍｅ＝「張三」，ａｇｅ＝「２０」｝を更に含むことができる。本願は、「変更の詳細」の具体的内容を限定しない。生成後、リアルタイム通知は即座にデータ同期ターゲットエンドへ送信される。
【００４７】
リアルタイム通知を生成し送信する工程において、圧縮、暗号化、又は別の符号化スキームを更に用いて伝送効率、暗号化伝送等を改良できることが分かる。本願のこの実施は、リアルタイム通知の具体的な生成及び伝送方法を限定しない。
【００４８】
加えて、対照的に、Ｓ１０３においてアプリケーションサーバＡがデータベースＡへのデータ書き込みに成功した後、データベースＡは、この変更についてデータベースに対する同期操作を開始する。なお、データ同期ソースエンドについては、ステップＳ１０２及びＳ１０３は２つの相対的に独立した操作である。したがって、この２つのステップを実行する順序は限定されない。データ同期ターゲットエンドについては、リアルタイム通知を受信した後にステップ１０４が実行される。
【００４９】
Ｓ１０４：データ同期ターゲットエンドが、リアルタイム通知を解析することによりデータ変更の詳細を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを直接更新する。
【００５０】
データ同期ターゲットエンドでは、アプリケーションサーバＢが、リアルタイム通知受信ポートに対してリアルタイム検出を実行する。リアルタイム通知を受信した後、アプリケーションサーバＢは、それを即座に解析する。アプリケーションサーバＡが実行したリアルタイム通知の処理に基づき、アプリケーションサーバＢは、解析中に、対応する操作、例えば解凍及び解読、を実行する必要がある場合がある。ここでは詳細を述べない。
【００５１】
この実施において、リアルタイム通知を解析することによりデータベースＡのデータ変更の詳細を取得した後、アプリケーションサーバＢは、解析結果に基づきローカルデータベース内のキャッシュＢを直接更新する。データは、下層データベースのデータの同期中にはリアルタイムで遠隔地へ伝送されず、パックされて変更されたデータブロックの数が特定の値に達した後にバッチ方式で伝送されるため、リアルタイム通知の平均伝送速度は、下層データベースの同期速度よりも速い。図５のＳ１０５に示すように、通常、データ同期ターゲットエンドは、下層データベースの同期が完了する前に、リアルタイム通知に基づきローカルのキャッシュを直接更新できる。試験によれば、約１０００ｋｍの距離を隔てた遠隔のアクティブ−アクティブシステムにおいて、下層データベースの同期の平均遅延は約３秒である。キャッシュデータの同期更新の遅延は、リアルタイム通知を通じて約３０ｍｓ、更にそれ以下に短縮でき、データベースキャッシュ同期速度を大幅に向上させることができる。
【００５２】
なお、アプリケーションサーバＢは、リアルタイム通知を受信した直後に更新メッセージをキャッシュサーバへ送信して更新操作を実行する。ただし、更新メッセージを受信した後、キャッシュサーバは、実際の状況に基づきキャッシュデータを更新する必要があるかどうかを更に特定できる。例えば、特定は、データを書き込むためのタイムスタンプに基づき実行でき、又は、キャッシュを更新するかどうかの特定の基準となる何らかの他の情報を通知メッセージに含めることができる。例えば、バージョン番号を見てキャッシュを更新する必要があるかどうかを特定できるように、バージョン番号情報を含めることができる。状況によっては、更新操作はアプリケーションサーバＢが実行するが、本質的に、キャッシュデータが最終的に更新に成功したかどうかは、キャッシュサーバが特定する必要がある。この更新方法は、本願の解決策の実施に影響しない。
【００５３】
先の実施において、データ同期ソースエンドは、ローカルデータベースの変更の詳細をリアルタイム通知に追加し、リアルタイム通知の低い遅延特性を用い、下層データベースの同期が完了する前にデータ同期ターゲットエンドがローカルデータベース内のキャッシュの同期更新を完了できるようにする。ただし、実際のアプリケーションにおいて、リアルタイム通知で伝送できる情報の量は、複数の客観的要因、例えば伝送帯域幅及び通知メッセージセンタの格納容量によって限られる可能性がある。データ同期ソースエンドにより１回に変更されたデータの量が多すぎる場合、これらの変更の詳細を、リアルタイム通知を通じてデータ同期ターゲットエンドへ伝送することは困難である。本願は、この状況に対応する解決策を提供する。上記のリアルタイム通知は、メッセージシステムを用いることにより転送できる。例えば、既存のメッセージシステムを用いることができる、又は、専用メッセージシステムを確立できる。メッセージシステムの構造及び形式は限定されない。
【００５４】
図６は、本願における解決策をアクティブ−アクティブシステムに適用する別のデータ同期手順を示す。説明を容易にするため、下記の実施を、図３に示すシステム構成を参照に、全体の手順を説明する。
【００５５】
Ｓ２０１：データ同期ソースエンドが、ソースエンドデータベースのデータが変更されたことを特定する。
【００５６】
このステップはＳ１０１と同様である。この実施において、詳細を再び説明しない。
【００５７】
Ｓ２０２：データ同期ソースエンドが、このデータ変更についてリアルタイム通知を生成し、このリアルタイム通知をデータ同期ターゲットエンドへ送信する。
【００５８】
アプリケーションサーバＡがデータベースＡに対してデータ書き込み操作を実行する場合、各書き込み操作について識別子情報が生成される。例えば、識別子情報は、特定のアルゴリズムを用いることにより生成されるシーケンス番号又は識別子文字列とすることができる。書き込みリクエストがデータベースＡに対して開始されると、アプリケーションサーバＡは、変更する必要があるデータの詳細（例えば、値、データテーブル識別子、行識別子及び列識別子）を、識別子情報と共にデータベースＡへ送信する。この実施において、リアルタイム通知メッセージ本文のベアラ（情報伝達）能力は限られているため、アプリケーションサーバＡは、識別子情報をリアルタイム通知に書き込む。生成された後、リアルタイム通知は即座にデータ同期ターゲットエンドへ送信される。
【００５９】
Ｓ２０３：アプリケーションサーバＡがデータベースＡへのデータの書き込みに成功した後、データベースＡは、この変更についてデータベースに対する同期操作を開始する。同期工程において、上記変更の識別子情報は具体的なデータ変更内容と共に、データベースＢにも伝送される。
【００６０】
上記の実施と同様、データ同期ソースエンドについては、ステップＳ２０２及びＳ２０３は２つの相対的に独立した操作である。したがって、この２つのステップを実行する順序は限定されない。データ同期ターゲットエンドについては、ステップＳ２０４は、リアルタイム通知を受信した後に実行される。
【００６１】
Ｓ２０４：データ同期ターゲットエンドが、リアルタイム通知を解析することによりデータ変更操作識別子を取得し、解析結果に基づきターゲットエンドデータベースを監視する。
【００６２】
データ同期ターゲットエンドでは、アプリケーションサーバＢが、リアルタイム通知受信ポートに対してリアルタイム検出を実行する。リアルタイム通知を受信した後、アプリケーションサーバＢは、それを即座に解析する。この実施において、リアルタイム通知を解析することによりソースエンドがデータベースＡに対して実行した変更の操作識別子を取得した後、アプリケーションサーバＢは、識別子を求めてデータベースＢの監視を始める。
【００６３】
Ｓ２０５：データ同期ソースエンドからデータ同期ターゲットエンドの下層データベースへの同期が完了する。
【００６４】
Ｓ２０６：ターゲットエンドデータベースの同期された内容に基づき、データ同期ソースエンドがターゲットエンドデータベース内のキャッシュを更新する。
【００６５】
監視を通じて識別子に対応する変更操作がデータベースＡからデータベースＢへと同期されたことを検出した後、アプリケーションサーバは、対応するデータをデータベースＢから読み取り、読み取り結果に基づきローカルデータベース内のキャッシュＢを更新する。
【００６６】
リアルタイム通知の伝送速度は下層データベースの同期速度より速いため、リアルタイム通知を受信した後、アプリケーションサーバＢは通常、一定期間後にキャッシュＢを更新できる。上記の実施とは対照的に、この実施において、データ同期ターゲットエンドは、下層データベースの同期が完了した後にのみローカルキャッシュを更新できる。ただし、データ同期ターゲットエンドが下層データベースを変更すべきであることを事前に知得できるように、リアルタイム通知が用いられる。監視を通じて、同期が完了した直後にデータを取得することによりキャッシュを更新できる。したがって、既存の技術的解決策と比較して、キャッシュ同期更新の遅延をある程度は縮めることができる。
【００６７】
上記の実施において述べた２通りのデータ同期方法は、データ同期ターゲットエンドでのキャッシュの同期更新の遅延を異なるレベルで縮めることができる。リアルタイム通知の容量が限られていない場合、１つ目の解決策を選択して比較的短い遅延を実現できる。実際のアプリケーションにおいて、アプリケーションサーバが変更すべきデータベース内のデータの量は不明確である。ＣＩＦ（Ｃｕｓｔｏｍｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｉｌｅ、顧客情報ファイル）システムを例にとる。変更するユーザ個人情報のデータ量は比較的少ない。多数のサブアカウントと関連づけられている大型アカウントの場合、変更操作は、多数のサブアカウントにおけるデータの変更を伴う可能性がある。本願は、この状況のための適応型データ同期解決策を更に提供する。
【００６８】
ソースエンドデータベースのデータが変更された、と特定された後に、データ同期ソースエンドはまず、この変更のデータ量が所定の閾値を超えているかどうかを特定する。閾値は、リアルタイム通知のベアラ能力に基づき特定され、リアルタイム通知のベアラ能力は、伝送帯域幅及び通知メッセージセンタの格納容量等の要因に依存する。当然ながら、閾値は、リアルタイム通知の生成中に実行される圧縮及び符号化などの要因に基づき更に特定できる。結論として、リアルタイム通知がこの変更操作に関する変更の詳細を含むことができる、と特定された場合、少なくともこの変更に関する特定値情報を含む変更の詳細がリアルタイム通知に書き込まれる。リアルタイム通知がこの変更操作に関する変更の詳細を含むことができないと特定された場合、この変更の操作識別子のみがリアルタイム通知に書き込まれる。
【００６９】
リアルタイム通知を受信した後、データ同期ターゲットエンドはまず、リアルタイム通知を解析する。解析結果が変更に関する特定値情報を含む場合、ターゲットエンドデータベース内のキャッシュが解析結果に基づき直接更新される。そうでない場合は、ターゲットエンドデータベースが解析により取得される変更操作識別子に基づき監視される。識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、対応するデータをターゲットエンドデータベースから取得することによりターゲットエンドデータベース内のキャッシュが更新される。
【００７０】
先の解決策において、データ同期ソースエンドは、変更に関連するデータ量に基づき、異なる内容を含むリアルタイム通知を適応させて生成する。そのため、小規模なデータ変更の場合、データ同期ターゲットエンドは、下層データベースの同期の完了を待つことなくローカルのキャッシュにおいてデータを更新できる。大規模なデータ変更の場合、ローカルキャッシュ内のデータは、同期が完了した直後に更新できる。
【００７１】
先の各実施では、１つのデータの変更の場合のキャッシュの同期更新工程が示されたことが分かる。連続的なデータ変更の場合、上記手順を繰り返すだけでよい。加えて、先の各実施においては、説明のためにアクティブ−アクティブシステムのみを例にとる。少なくとも３つのデータセンタを含む多重アクティブシステムの場合、データ同期ソースエンド及びデータ同期ターゲットエンドのキャッシュ更新手順は同様である。本願の実施の詳細は、ここでは繰り返さない。
【００７２】
本願は、データ同期ソースエンド装置を更に提供する。図７に示すように、この装置は、リアルタイム通知生成モジュール１１０とリアルタイム通知送信モジュール１２０とを含むことができる。
【００７３】
リアルタイム通知生成モジュール１１０は、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、リアルタイム通知は、このデータ変更に関する情報を含む。
【００７４】
リアルタイム通知送信モジュール１２０は、リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。したがって、リアルタイム通知を受信した後、データ同期ターゲットエンドは、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する。
【００７５】
本願の特定の実施において、リアルタイム通知生成モジュール１１０は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更に関する特定値情報をリアルタイム通知に書き込むように構成できる。
【００７６】
本願の特定の実施において、リアルタイム通知生成モジュール１１０は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
【００７７】
本願の特定の実施において、リアルタイム通知生成モジュール１１０は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報をリアルタイム通知に書き込み、肯定の場合、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
【００７８】
本願の特定の実施において、データ同期ソースエンド装置を、データ同期ソースエンドアプリケーションサーバに配設できる。
【００７９】
本願は、データ同期ターゲットエンド装置を更に提供する。図８に示すように、この装置は、リアルタイム通知受信モジュール２１０とキャッシュデータ更新モジュール２２０とを含むことができる。
【００８０】
リアルタイム通知受信モジュール２１０は、データ同期ソースエンドが送信するリアルタイム通知を受信するように構成される。
【００８１】
キャッシュデータ更新モジュール２２０は、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。
【００８２】
データ同期ソースエンドが、ソースエンドデータベースのデータは変更された、と特定した後に、このデータ変更についてリアルタイム通知が生成されて送信され、リアルタイム通知は、このデータ変更に関する情報を含む。
【００８３】
本願の特定の実施において、リアルタイム通知は、この変更に関する特定値情報を含むことができる。
【００８４】
これに応じ、キャッシュデータ更新モジュール２２０は、具体的には、解析により取得された変更に関する特定値情報に基づき、ターゲットエンドデータベース内のキャッシュを直接更新するように構成できる。
【００８５】
本願の特定の実施において、リアルタイム通知は、この変更の操作識別子を含むことができる。
【００８６】
これに応じ、キャッシュデータ更新モジュール２２０は、具体的には、解析により取得される変更操作識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づきターゲットエンドデータベース内のキャッシュを更新するように構成できる。
【００８７】
本願の特定の実施において、リアルタイム通知は、この変更に関する特定値情報又はこの変更の操作識別子を含むことができる。
【００８８】
これに応じ、キャッシュデータ更新モジュール２２０は、具体的には、解析結果が変更に関する特定値情報である場合、解析結果に基づきターゲットエンドデータベース内のキャッシュを直接更新し、解析結果が変更操作識別子である場合、識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づき、ターゲットエンドデータベース内のキャッシュを更新するように構成できる。
【００８９】
本願の特定の実施において、データ同期ターゲットエンド装置は、データ同期ターゲットエンドのアプリケーションサーバに配設できる。
【００９０】
本願は、データ同期システムを更に提供する。図９に示すように、システムは、データ同期ソースエンド装置１００とデータ同期ターゲットエンド装置２００とを含むことができる。
【００９１】
データ同期ソースエンド装置１００は、リアルタイム通知生成モジュール１１０とリアルタイム通知送信モジュール１２０とを含むことができる。
【００９２】
リアルタイム通知生成モジュール１１０は、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成されており、リアルタイム通知は、このデータ変更に関する情報を含む。
【００９３】
リアルタイム通知送信モジュール１２０は、リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される。
【００９４】
データ同期ターゲットエンド装置２００は、リアルタイム通知受信モジュール２１０とキャッシュデータ更新モジュール２２０とを含むことができる。
【００９５】
リアルタイム通知受信モジュール２１０は、リアルタイム通知を受信するように構成される。
【００９６】
キャッシュデータ更新モジュール２２０は、リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される。
【００９７】
本願の特定の実施において、リアルタイム通知生成モジュール１１０は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更に関する特定値情報をリアルタイム通知に書き込むように構成できる。
【００９８】
これに応じ、キャッシュデータ更新モジュール２２０は、具体的には、解析により取得される変更に関する特定値情報に基づき、ターゲットエンドデータベース内のキャッシュを直接更新するように構成できる。
【００９９】
本願の別の特定の実施において、リアルタイム通知生成モジュール１１０は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
【０１００】
これに応じ、キャッシュデータ更新モジュール２２０は、具体的には、解析により取得される変更操作識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づきターゲットエンドデータベース内のキャッシュを更新するように構成できる。
【０１０１】
本願の別の特定の実施において、リアルタイム通知生成モジュール１１０は、具体的には、ソースエンドデータベースのデータが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報をリアルタイム通知に書き込み、肯定の場合、この変更の操作識別子をリアルタイム通知に書き込むように構成できる。
【０１０２】
これに応じ、キャッシュデータ更新モジュール２２０は、具体的には、解析結果が変更に関する特定値情報である場合、解析結果に基づきターゲットエンドデータベース内のキャッシュを直接更新し、解析結果が変更操作識別子であった場合、識別子に基づきターゲットエンドデータベースを監視し、識別子に対応する変更操作がソースエンドデータベースからターゲットエンドデータベースへと同期されたことが検出された場合、ターゲットエンドデータベースの同期された内容に基づき、ターゲットエンドデータベース内のキャッシュを更新するように構成できる。
【０１０３】
上記装置における各モジュールの機能及び役割の実施工程については、先の方法の対応するステップの実施工程を参照されたい。ここでは詳細を再び説明しない。
【０１０４】
実際のアプリケーション設計において、データ同期ソースエンド装置及びデータ同期ターゲットエンド装置の関連機能モジュールは全て、図３に示すように、アプリケーションサーバとは相対的に無関係である物理的エンティティ（例えば、専用サーバ）に配置できる。或いは、機能モジュールの一部又は全てをアプリケーションサーバ内に配置できる。同期装置の機能モジュールの全てをアプリケーションサーバ内に配置する場合、本質的には、データ同期ソースエンド及びデータ同期ターゲットエンドの両方の側の同期装置の機能が両方の側のアプリケーションサーバに組み込まれ、対応するシステム構成を図４に示すように単純化でき、同期装置とアプリケーションサーバとの間の相互作用が、アプリケーションサーバ内の内部相互作用として単純化される。
【０１０５】
本願において提供されるデータ同期ソースエンド装置及びデータ同期ターゲットエンド装置は、ハードウェアデバイス上、例えばサーバ上、へ別々に配設できる。図１０は、本願に係る上記装置を構成するデバイスのハードウェア構造を示す概略図である。デバイスは、プロセッサ１０１０、メモリ１０２０、入力／出力インターフェース１０３０、通信インターフェース１０４０、及びバス１０５０を含むことができる。プロセッサ１０１０、メモリ１０２０、入力／出力インターフェース１０３０、及び通信インターフェース１０４０は、デバイスにおいてバス１０５０を用いることにより相互通信接続を実施する。
【０１０６】
プロセッサ１０１０は、本願において提供される技術的解決策を実施するために関連プログラムを実行するように構成された、汎用ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理演算装置）、マイクロプロセッサ、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、又は１つ以上の集積回路とすることができる。
【０１０７】
メモリ１０２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、静的格納デバイス、動的格納デバイスなどの形態で実施できる。メモリ１０２０は、オペレーティングシステム及び別のアプリケーションプログラムを格納できる。本願において提供される技術的解決策を、ソフトウェア又はファームウェアを使用することにより実施する場合、関連するプログラムコードがメモリ１０２０に格納され、プロセッサ１０１０により呼び出されて実行される。
【０１０８】
入力／出力インターフェース１０３０は、入力／出力モジュールに接続されて情報入力及び出力を実施するように構成される。入力／出力モジュールは、デバイスにおけるコンポーネント（不図示）として構成でき、又は対応する機能を提供するためにデバイスへ接続できる。入力デバイスとしては、キーボード、マウス、タッチスクリーン、マイクロホン、センサ等を挙げることができる。出力デバイスとしては、ディスプレイ、スピーカ、バイブレータ、インジケータ等を挙げることができる。
【０１０９】
通信インターフェース１０４０は、本デバイスと別のデバイスとの間の通信及び相互作用を実施するため、通信モジュール（不図示）に接続されるように構成される。通信モジュールは、有線（例えばＵＳＢ又はネットワークケーブル）、又は無線（例えばモバイルネットワーク、ＷＩ−ＦＩ又はＢｌｕｅｔｏｏｔｈ（登録商標））で通信を実施できる。
【０１１０】
バス１０５０は、デバイスのコンポーネント（例えばプロセッサ１０１０、メモリ１０２０、入力／出力インターフェース１０３０、及び通信インターフェース１０４０）間で情報を伝送するためのチャンネルを含む。
【０１１１】
上記では、デバイスのプロセッサ１０１０、メモリ１０２０、入力／出力インターフェース１０３０、通信インターフェース１０４０、及びバス１０５０のみを示しているが、特定の実施工程において、デバイスは、通常の稼動に必須な別のコンポーネントを更に含むことができる点に留意すべきである。加えて、当業者は理解できることであるが、デバイスは、本願の解決策の実施に必要なコンポーネントのみを含むことができ、必ずしも図に示すコンポーネントを全て含むとは限らない。
【０１１２】
実施の説明から分かることであるが、本願は、必要なユニバーサルハードウェアプラットフォームに加え、ソフトウェアを用いることにより実施可能であることを、当業者は明確に理解できる。そのような理解に基づき、本質的に又は部分的に従来技術に寄与する本願における技術的解決策は、ソフトウェア製品の形態で実施できる。ソフトウェア製品は、記録媒体、例えばＲＯＭ／ＲＡＭ、磁気ディスク、又は光ディスクに格納でき、コンピュータデバイス（パーソナルコンピュータ、サーバ、又はネットワークデバイス）に本願の実施又は実施の一部に記載する方法を実行するように指示する幾つかの命令を含む。
【０１１３】
本明細書中の実施は全て、順を追う方式で説明される。実施中の同一又は同様の部分は互いを参照する。各実施は、他の実施との差異に焦点を当てている。特に、装置又はシステムの実施は、方法の実施と同様であるので、比較的に簡潔に記載されている。関連する部分については、方法の実施における関連する説明を参照されたい。記載した装置又はシステムの実施は、一例に過ぎない。別々の部分として記載したモジュールは、物理的に別々であっても、そうでなくともよい。本願における解決策を実施する場合、各モジュールの機能は、一つ以上のソフトウェア及び／又はハードウェアにおいて実施できる。モジュールの一部又は全てを、実施の解決策の目的を達成するための実際の必要性に基づき選択できる。当業者は、創造的な努力をせずに本開示の実施を理解し実施できる。
【０１１４】
上の記載は本願の特定の実施に過ぎない。なお、当業者は、本願の原理から逸脱することなくいくつかの改良又は向上を図ることができ、この改良又は向上は、本願の保護範囲に含まれる。
【符号の説明】
【０１１５】
１００  データ同期ソースエンド装置
１１０  リアルタイム通知生成モジュール
１２０  リアルタイム通知送信モジュール
２００  データ同期ターゲットエンド装置
２１０  リアルタイム通知受信モジュール
２２０  キャッシュデータ更新モジュール
１０１０  プロセッサ
１０２０  メモリ
１０３０  入力／出力インターフェース
１０４０  通信インターフェース
【図１】
2019508796.tif 000003
【図２】
2019508796.tif 000004
【図３】
2019508796.tif 000005
【図４】
2019508796.tif 000006
【図５】
2019508796.tif 000007
【図６】
2019508796.tif 000008
【図７】
2019508796.tif 000009
【図８】
2019508796.tif 000010
【図９】
2019508796.tif 000011
【図１０】
2019508796.tif 000012
【手続補正書】
【提出日】平成31年2月8日(2019.2.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ同期ソースエンドに適用されるデータ同期方法であって：
ソースエンドデータベースのデータが変更されたと特定した（１０１、２０１）後に、このデータ変更についてリアルタイム通知を生成するステップ（１０２、２０２）であって、前記リアルタイム通知はこのデータ変更に関する情報を含む、ステップと；
前記リアルタイム通知をデータ同期ターゲットエンドに送信するステップ（１０２）であって、これにより、前記データ同期ターゲットエンドは、前記リアルタイム通知を受信した後、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する（１０４）、ステップと；を備える、
データ同期方法。
【請求項２】
データ変更についてリアルタイム通知を生成するステップは：
この変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備える、
請求項１に記載のデータ同期方法。
【請求項３】
データ変更についてリアルタイム通知を生成するステップは：
この変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備える、
請求項１に記載のデータ同期方法。
【請求項４】
データ変更についてリアルタイム通知を生成するステップは：
この変更のデータ量が所定の閾値を超えているかどうかを特定するステップと；
否定の場合に、この変更に関する特定値情報を前記リアルタイム通知に書き込むステップ；又は、
肯定の場合に、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップ；を備える、
請求項１に記載のデータ同期方法。
【請求項５】
前記ソースエンドデータベースに対する同期操作を開始するステップ（１０３、２０３）をさらに備える、
請求項１に記載のデータ同期方法。
【請求項６】
前記解析結果に基づき前記ターゲットエンドデータベース内のキャッシュを更新することは、前記同期操作が完了する（１０５、２０５）前に実行される、
請求項５に記載のデータ同期方法。
【請求項７】
データ同期ターゲットエンドに適用されるデータ同期方法であって：
データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップ（２０２）と；
前記リアルタイム通知を解析するステップと；解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を備える、データ変更に関連する情報を取得するステップと；を備え、
前記データ同期ソースエンドが、ソースエンドデータベースのデータが変更されたと特定した（２０１）後に、このデータ変更について前記リアルタイム通知が生成されて送信され（２０２）、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期方法。
【請求項８】
前記リアルタイム通知が、この変更に関する特定値情報を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップは：
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
請求項７に記載のデータ同期方法。
【請求項９】
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことの検出に応答して、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
請求項７に記載のデータ同期方法。
【請求項１０】
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
このデータ変更について前記リアルタイム通知を生成するステップは：
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップと；
否定の場合に、この変更に関する特定値情報を前記リアルタイム通知に書き込むステップ；又は、肯定の場合に、この変更の操作識別子を前記リアルタイム通知に書き込むステップ；を備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップは：
前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップ；又は、
前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップ；を備える、
請求項７に記載のデータ同期方法。
【請求項１１】
前記データ同期ソースエンドが、ソースエンドデータベースのデータが変更されたと特定することは：
前記ソースエンドのアプリケーションサーバがデータ書き込みリクエストを前記ソースエンドデータベースに送信した後、又は前記ソースエンドデータベースへのデータの書き込みが成功したと特定された後に、前記ソースエンドデータベースのデータが変更されたと特定するステップを備える、
請求項１乃至請求項１０のいずれか１項に記載のデータ同期方法。
【請求項１２】
請求項１乃至請求項６のいずれか１項に記載の方法を実行するように構成された、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備える、
データ同期ソースエンド装置。
【請求項１３】
請求項７乃至請求項１１のいずれか１項に記載の方法を実行するように構成された、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備える、
データ同期ターゲットエンド装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
上の記載は本願の特定の実施に過ぎない。なお、当業者は、本願の原理から逸脱することなくいくつかの改良又は向上を図ることができ、この改良又は向上は、本願の保護範囲に含まれる。
以下、本発明の実施の態様の例を列挙する。
［第１の局面］
データ同期方法であって： 
ソースエンドデータベースのデータが変更されたと特定した後に、データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成し、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記送信するステップと；
前記データ同期ターゲットエンドにより、前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を備える、
データ同期方法。
［第２の局面］
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは：
この変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
第１の局面に記載のデータ同期方法。
［第３の局面］
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは：
この変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備え、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更操作識別子に基づき、前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
第１の局面に記載のデータ同期方法。
［第４の局面］
データ同期ソースエンドによって、このデータ変更についてリアルタイム通知を生成する前記ステップは：
この変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込み、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
前記解析結果が変更に関する特定値情報である場合に、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップ；又は
前記解析結果が変更操作識別子である場合に、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップ；を備える、
第１の局面に記載のデータ同期方法。
［第５の局面］
データ同期ソースエンドに適用されるデータ同期方法であって：
ソースエンドデータベースのデータが変更されたと特定した後に、このデータ変更についてリアルタイム通知を生成するステップであって、前記リアルタイム通知はこのデータ変更に関する情報を含む、前記生成するステップと；
前記リアルタイム通知を受信した後に、前記データ同期ターゲットエンドが前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するステップと；を備える
データ同期方法。
［第６の局面］
このデータ変更についてリアルタイム通知を生成する前記ステップは：
前記変更に関する特定値情報を前記リアルタイム通知に書き込むステップを備える、
第５の局面に記載のデータ同期方法。
［第７の局面］
このデータ変更についてリアルタイム通知を生成する前記ステップは：
前記変更に関する変更操作識別子を前記リアルタイム通知に書き込むステップを備える、
第５の局面に記載のデータ同期方法。
［第８の局面］
このデータ変更についてリアルタイム通知を生成する前記ステップは：
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合には、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合には、この変更の操作識別子を前記リアルタイム通知に書き込む、
第５の局面に記載のデータ同期方法。
［第９の局面］
データ同期ターゲットエンドに適用されるデータ同期方法であって：
データ同期ソースエンドによって送信されたリアルタイム通知を受信するステップと；
前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するステップと；を備え、
前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期方法。
［第１０の局面］
前記リアルタイム通知が、この変更に関する特定値情報を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更に関する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するステップを備える、
第９の局面に記載のデータ同期方法。
［第１１の局面］
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
第９の局面に記載のデータ同期方法。
［第１２の局面］
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
このデータ変更について前記リアルタイム通知を生成する前記ステップは：
前記変更のデータ量が所定の閾値を超えているかどうかを特定するステップを備え、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更の操作識別子を前記リアルタイム通知に書き込み、
前記データ同期ターゲットエンドによって、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新する前記ステップは：
前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、
前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するステップを備える、
第９の局面に記載のデータ同期方法。
［第１３の局面］
データ同期ソースエンド装置であって：
リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
前記リアルタイム通知送信モジュールは、前記データ同期ターゲットエンドが前記リアルタイム通知を受信した後に、前記リアルタイム通知を解析することにより前記データ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するよう、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成される、
データ同期ソースエンド装置。
［第１４の局面］
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する特定値情報を前記リアルタイム通知に書き込むように構成される、
第１３の局面に記載のデータ同期ソースエンド装置。
［第１５の局面］
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
第１３の局面に記載のデータ同期ソースエンド装置。
［第１６の局面］
前記リアルタイム通知生成モジュールは、具体的には、前記ソースエンドデータベースの前記データが変更されたと特定された後に、この変更のデータ量が所定の閾値を超えているかどうかを特定し、否定の場合、この変更に関する特定値情報を前記リアルタイム通知に書き込み、肯定の場合、この変更に関する変更操作識別子を前記リアルタイム通知に書き込むように構成される、
第１３の局面に記載のデータ同期ソースエンド装置。
［第１７の局面］
前記データ同期ソースエンド装置はデータ同期ソースエンドアプリケーションサーバに配設される、
第１３の局面に記載のデータ同期ソースエンド装置。
［第１８の局面］
データ同期ターゲットエンド装置であって：
リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
前記リアルタイム通知受信モジュールは、データ同期ソースエンドにより送信されたリアルタイム通知を受信するように構成され、
前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成され、
前記データ同期ソースエンドが、ソースエンドデータベースのデータは変更されたと特定した後に、このデータ変更について前記リアルタイム通知が生成されて送信され、前記リアルタイム通知がこのデータ変更に関する情報を含む、
データ同期ターゲットエンド装置。
［第１９の局面］
前記リアルタイム通知が、この変更に関する特定値情報を含み、
前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更に関連する特定値情報に基づき、前記ターゲットエンドデータベース内の前記キャッシュを直接更新するように構成される、
第１８の局面に記載のデータ同期ターゲットエンド装置。
［第２０の局面］
前記リアルタイム通知は、この変更に関する変更操作識別子を含み、
前記キャッシュデータ更新モジュールは、具体的には、解析により取得される前記変更操作識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
第１８の局面に記載のデータ同期ターゲットエンド装置。
［第２１の局面］
前記リアルタイム通知は、この変更に関する特定値情報又はこの変更に関する変更操作識別子を含み、
前記キャッシュデータ更新モジュールは、具体的には、前記解析結果が変更に関する特定値情報である場合には、前記解析結果に基づき前記ターゲットエンドデータベース内の前記キャッシュを直接更新し、前記解析結果が変更操作識別子である場合には、前記識別子に基づき前記ターゲットエンドデータベースを監視し、前記識別子に対応する変更操作が前記ソースエンドデータベースから前記ターゲットエンドデータベースへと同期されたことが検出された場合に、前記ターゲットエンドデータベースの同期された内容に基づき前記ターゲットエンドデータベース内の前記キャッシュを更新するように構成される、
第１８の局面に記載のデータ同期ターゲットエンド装置。
［第２２の局面］
前記データ同期ターゲットエンド装置は、データ同期ターゲットエンドアプリケーションサーバに配設される、
第１８の局面に記載のデータ同期ターゲットエンド装置。
［第２３の局面］
データ同期システムであって：
データ同期ソースエンド装置とデータ同期ターゲットエンド装置とを備え、
前記データ同期ソースエンド装置は、リアルタイム通知生成モジュールとリアルタイム通知送信モジュールとを備え、
前記リアルタイム通知生成モジュールは、ソースエンドデータベースのデータが変更されたと特定された後に、このデータ変更についてリアルタイム通知を生成するように構成され、前記リアルタイム通知はこのデータ変更に関する情報を含み、
前記リアルタイム通知送信モジュールは、前記リアルタイム通知をデータ同期ターゲットエンドへ送信するように構成され、
前記データ同期ターゲットエンド装置は、リアルタイム通知受信モジュールとキャッシュデータ更新モジュールとを備え、
前記リアルタイム通知受信モジュールは、前記リアルタイム通知を受信するように構成され、
前記キャッシュデータ更新モジュールは、前記リアルタイム通知を解析することによりデータ変更に関連する情報を取得し、解析結果に基づきターゲットエンドデータベース内のキャッシュを更新するように構成される、
データ同期システム。
【国際調査報告】
2019508796.tif 000013
2019508796.tif 000014
2019508796.tif 000015
2019508796.tif 000016