(57)【要約】  本願の実施形態は、データを同期する際の同期失敗の問題を解決するためのデータ同期の方法及びシステムを提供する。その方法は、処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当てること、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行すること、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアすること、及び失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行することを含む。失敗したタスクのデータフラグメントは直接再同期され、処理すべきデータセット全体を再処理する必要がなく、それにより資源が節約され、同期時間が短縮される。
2018530060.tif 000002
【特許請求の範囲】
【請求項１】
処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当てること、
前記タスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応する前記データフラグメントのオフラインデータ同期を実行すること、
任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ前記失敗したタスクがフェールオーバ操作をサポートすると判定される場合、前記失敗したタスクに対応する前記データフラグメントの処理資源をクリアすること、及び
前記失敗したタスクに対応する前記データフラグメントにタスクを再割り当てし、前記再割り当て済みタスクのタスクスレッドを開始して前記送信元端末と前記送信先端末との間で前記データフラグメントのオフラインデータ同期を実行すること
を含む、データ同期方法。
【請求項２】
前記失敗したタスクがフェールオーバ操作をサポートすると前記判定することは、
前記送信先端末の読取／書込特徴がフェールオーバ条件を満たすと判断される場合、前記失敗したタスクがフェールオーバ操作をサポートすると判定すること
を含む、請求項１に記載の方法。
【請求項３】
前記送信先端末の前記読取／書込特徴が一時的同期の特徴又は冪等の特徴である場合、前記送信先端末の前記読取／書込特徴が前記フェールオーバ条件を満たすと判断すること
を更に含み、
前記一時的同期の特徴は、同期プロセス内で同期データを一時領域内に書き込み、前記同期の完了後、操作命令によって前記一時領域内の前記同期データを固定記憶領域内に移した後で前記同期データを有効にする特徴を含み、
前記冪等の特徴は、データの書込操作が冪等操作をサポートすることを含む、
請求項２に記載の方法。
【請求項４】
前記失敗したタスクに対応する前記データフラグメントの処理資源を前記クリアすることが、
前記失敗したタスクに対応する前記タスクスレッドの資源を解放し、前記失敗したタスクに対応する前記データフラグメントの統計データを削除すること
を含む、請求項１に記載の方法。
【請求項５】
前記タスクスレッドが読取スレッド及び書込スレッドを含み、前記失敗したタスクに対応する前記タスクスレッドの資源を前記解放することが、
前記読取スレッド及び前記書込スレッドに対応するデータバッファ内に記憶される同期データをクリアすること、及び
前記失敗したタスクに対応する前記データフラグメントによる前記読取スレッド及び前記書込スレッドの占有を取り消すこと
を含む、請求項４に記載の方法。
【請求項６】
前記失敗したタスクに対応する前記データフラグメントの処理資源を前記クリアする前に、
前記送信元端末と前記送信先端末との間のオフラインデータ同期を前記タスクスレッドが実行するのを停止すること
を更に含む、請求項４に記載の方法。
【請求項７】
任意の異常情報片がある場合に処理失敗情報をフィードバックすることであって、前記異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含む、フィードバックすること、及び
前記異常な状況に対応するタスクが同期に失敗したと前記処理失敗情報に従って判断すること
を更に含む、請求項１に記載の方法。
【請求項８】
処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当て、失敗したタスクに対応するデータフラグメントにタスクを再割り当てするように構成されるタスク割当モジュールと、
前記タスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応する前記データフラグメントのオフラインデータ同期を実行し、前記再割り当て済みタスクのタスクスレッドを開始して前記送信元端末と前記送信先端末との間で前記データフラグメントのオフラインデータ同期を実行するように構成されるデータ同期モジュールと、
任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ前記失敗したタスクがフェールオーバ操作をサポートすると判定される場合、前記失敗したタスクに対応する前記データフラグメントの処理資源をクリアし、前記タスク割当モジュールをトリガするように構成されるフェールオーバモジュールと
を含む、データ同期システム。
【請求項９】
前記フェールオーバモジュールは、
前記送信先端末の読取／書込特徴がフェールオーバ条件を満たすと判断される場合、前記失敗したタスクがフェールオーバ操作をサポートすると判定するように構成されるフェールオーバサポート判断サブモジュール
を含む、請求項８に記載のシステム。
【請求項１０】
前記フェールオーバサポート判断サブモジュールは、前記送信先端末の前記読取／書込特徴が一時的同期の特徴又は冪等の特徴である場合、前記送信先端末の前記読取／書込特徴が前記フェールオーバ条件を満たすと判断するように更に構成され、前記一時的同期の特徴は、同期プロセス内で同期データを一時領域内に書き込み、前記同期の完了後、操作命令によって前記一時領域内の前記同期データを固定記憶領域内に移した後で前記同期データを有効にする特徴を含み、前記冪等の特徴は、データの書込操作が冪等操作をサポートすることを含む、
請求項９に記載のシステム。
【請求項１１】
前記フェールオーバモジュールが、
前記失敗したタスクに対応する前記タスクスレッドの資源を解放し、前記失敗したタスクに対応する前記データフラグメントの統計データを削除するように構成される資源クリアサブモジュール
を含む、請求項８に記載のシステム。
【請求項１２】
前記資源クリアサブモジュールが、前記読取スレッド及び前記書込スレッドに対応するデータバッファ内に記憶される同期データをクリアし、前記失敗したタスクに対応する前記データフラグメントによる前記読取スレッド及び前記書込スレッドの占有を取り消すように構成される、
請求項１１に記載のシステム。
【請求項１３】
前記資源クリアサブモジュールが、前記送信元端末と前記送信先端末との間のオフラインデータ同期を前記タスクスレッドが実行するのを停止するように更に構成される、
請求項１１に記載のシステム。
【請求項１４】
任意の異常情報片がある場合に処理失敗情報をフィードバックすることであって、前記異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含む、フィードバックすること、及び前記異常な状況に対応するタスクが同期に失敗したと前記処理失敗情報に従って判断することを行うように構成される失敗判定モジュール
を更に含む、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本願はデータ処理技術の分野に関し、具体的には、データ同期方法及びデータ同期システムに関する。
【背景技術】
【０００２】
背景技術
ネットワーク技術の進歩と共に、様々なデータベース又はファイルシステム間のインタラクションが一段と増加している。しかし、様々な種類のデータベース及びファイルシステムがあり、従って異なる種類のデータベース／ファイルシステム間のデータの読出と書込が一般に生じる。
【０００３】
幾つかの異なる種類のデータベース／ファイルシステム間でデータの読出と書込が行われる、つまりデータがインポートされエクスポートされる場合、オフライン同期を時として行う必要がある。オフライン同期を行うには長い時間がかかり、同期プロセスは送信元端末、実行ゲートウェイ、送信先端末等の信頼性に非常に依存する。同期プロセスでは、１つのタスクを処理するために複数のタスクフラグメントに分割することができる。しかし、フラグメントが同期に失敗する場合は全タスクが失敗し、他のフラグメントの同期結果が確保されない。
【０００４】
上記のフラグメント同期の失敗が生じる場合、概して全タスクを再処理する必要があり、資源が無駄になり動作時間にも影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、当業者が現在すぐに解決する必要がある技術的問題は、データを同期する際の上記の同期失敗の問題を解決するためのデータ同期の方法及びシステムを提供することである。
【課題を解決するための手段】
【０００６】
発明の概要
本願の実施形態によって解決すべき技術的問題は、データを同期する際の上記の同期失敗の問題を解決するためのデータ同期方法を提供することである。
【０００７】
それに対応して、本願の実施形態は上記の方法の実装及び適用を確実にするためのデータ同期システムを更に提供する。
【０００８】
上記の問題を解決するために本願は、処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当てること、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行すること、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアすること、及び失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行することを含む、データ同期方法を開示する。
【０００９】
任意選択的に、失敗したタスクがフェールオーバ操作をサポートすると判定することは、送信先端末の読出／書込特徴がフェールオーバ条件を満たすと判断される場合、失敗したタスクがフェールオーバ操作をサポートすると判定することを含む。
【００１０】
任意選択的に、この方法は、送信先端末の読出／書込特徴が一時的同期の特徴又は冪等の特徴である場合、送信先端末の読出／書込特徴がフェールオーバ条件を満たすと判断することを更に含み、一時的同期の特徴は、同期プロセス内で同期データを一時領域内に書き込み、同期の完了後、操作命令によって一時領域内の同期データを固定記憶領域内に移した後で同期データを有効にする特徴を含み、冪等の特徴は、データの書込操作が冪等操作をサポートすることを含む。
【００１１】
任意選択的に、失敗したタスクに対応するデータフラグメントの処理資源をクリアすることは、失敗したタスクに対応するタスクスレッドの資源を解放し、失敗したタスクに対応するデータフラグメントの統計データを削除することを含む。
【００１２】
任意選択的に、タスクスレッドが読取スレッド及び書込スレッドを含み、失敗したタスクに対応するタスクスレッドの資源を解放することが、読取スレッド及び書込スレッドに対応するデータバッファ内に記憶される同期データをクリアすること、及び失敗したデータフラグメントによる読取スレッド及び書込スレッドの占有を取り消すことを含む。
【００１３】
任意選択的に、失敗したタスクに対応するデータフラグメントの処理資源をクリアする前に、この方法は、送信元端末と送信先端末との間のオフラインデータ同期をタスクスレッドが実行するのを停止することを更に含む。
【００１４】
任意選択的に、この方法は、任意の異常情報片がある場合に処理失敗情報をフィードバックすることであって、異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含む、フィードバックすること、及び異常な状況に対応するタスクが同期に失敗したと処理失敗情報に従って判断することを更に含む。
【００１５】
本願の実施形態は、処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当て、失敗したタスクに対応するデータフラグメントにタスクを再割り当てするように構成されるタスク割当モジュールと、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行し、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行するように構成されるデータ同期モジュールと、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、タスク割当モジュールをトリガするように構成されるフェールオーバモジュールとを含む、データ同期システムを更に開示する。
【００１６】
任意選択的に、フェールオーバモジュールは、送信先端末の読出／書込特徴がフェールオーバ条件を満たすと判断される場合、失敗したタスクがフェールオーバ操作をサポートすると判定するように構成されるフェールオーバサポート判断サブモジュールを含む。
【００１７】
任意選択的に、フェールオーバサポート判断サブモジュールは、送信先端末の読出／書込特徴が一時的同期の特徴又は冪等の特徴である場合、送信先端末の読出／書込特徴がフェールオーバ条件を満たすと判断するように更に構成され、一時的同期の特徴は、同期プロセス内で同期データを一時領域内に書き込み、同期の完了後、操作命令によって一時領域内の同期データを固定記憶領域内に移した後で同期データを有効にする特徴を含み、冪等の特徴は、データの書込操作が冪等操作をサポートすることを含む。
【００１８】
任意選択的に、フェールオーバモジュールは、失敗したタスクに対応するタスクスレッドの資源を解放し、失敗したタスクに対応するデータフラグメントの統計データを削除するように構成される資源クリアサブモジュールを含む。
【００１９】
任意選択的に、資源クリアサブモジュールは、読取スレッド及び書込スレッドに対応するデータバッファ内に記憶される同期データをクリアし、失敗したタスクに対応するデータフラグメントによる読取スレッド及び書込スレッドの占有を取り消すように構成される。
【００２０】
任意選択的に、資源クリアサブモジュールは、タスクスレッドによる送信元端末と送信先端末との間のオフラインデータ同期の実行を停止するように更に構成される。
【００２１】
任意選択的に、このシステムは、任意の異常情報片がある場合に処理失敗情報をフィードバックすることであって、異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含む、フィードバックすること、及び異常な状況に対応するタスクが同期に失敗したと処理失敗情報に従って判断することを行うように構成される失敗判定モジュールを更に含む。
【００２２】
従来技術と比較し、本願の実施形態には以下の利点がある。
【００２３】
本願の実施形態では、処理すべきデータセットのデータフラグメントごとにタスクをそれぞれ割り当て、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。任意のデータフラグメントに対応するタスクが同期に失敗したと判断され、失敗したタスクがフェールオーバ操作をサポートする、つまりタスクレベルフェールオーバが実行可能だと判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。従って、失敗したタスクのデータフラグメントが直接再同期され、処理すべきデータセット全体を再処理する必要がなく、それにより資源が節約され、同期時間が短縮される。
【図面の簡単な説明】
【００２４】
【図１】本願によるデータ同期方法の一実施形態のステップの流れ図である。
【図２】本願によるデータ同期方法の別の実施形態のステップの流れ図である。
【図３】本願によるデータ同期システムの一実施形態の構造上のブロック図である。
【図４】本願によるデータ同期システムの別の実施形態の構造上のブロック図である。
【発明を実施するための形態】
【００２５】
詳細な説明
本願の上記の目的、特徴、及び利点をより明確且つ理解できるようにするために、添付図面及び特定の実装形態によって本願を更に詳細に説明する。
【００２６】
本願の実施形態の中心概念の１つは、データを同期する際の同期失敗の問題を解決するためのデータ同期の方法及びシステムを提供することである。処理すべきデータセットのデータフラグメントごとにタスクをそれぞれ割り当て、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。任意のデータフラグメントに対応するタスクが同期に失敗したと判断され、失敗したタスクがフェールオーバ操作をサポートする、つまりタスクレベルフェールオーバが実行可能だと判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。従って、データフラグメントの同期に失敗する場合、タスクレベルフェールオーバが実行され、つまり失敗したデータフラグメントが再同期され、処理すべきデータセットを再処理する必要がなく、それにより資源が節約され、同期時間が短縮される。
【００２７】
実施形態１
図１を参照し、本願のデータ同期方法の一実施形態のステップの流れ図が示されており、この流れ図は特に以下のステップを含み得る。
【００２８】
ステップ１０２：処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当てる。
【００２９】
ステップ１０４：そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。
【００３０】
異なるデータベース／ファイルシステム間でオフラインデータ同期を実行するとき、処理すべきデータセットとして同期すべきデータセットを使用する。オフラインデータ同期の送信元端末及び送信先端末を設定することができる。処理すべきデータセットが位置するデータベース／ファイルシステムを送信元端末として使用し、処理すべきデータセットの同期先であるデータベース／ファイルシステムを送信先端末として使用する。処理すべきデータセットは、大量のビジネスデータを含む１組のビジネスデータと考えることができる。従って、処理すべきデータセットに対してオフライン同期を実行する前に、この実施形態では処理すべきデータセットを幾つかのデータフラグメントに事前に分割することができる。データ同期を実行するメインスレッドは複数のタスクを確立し、タスクごとにデータフラグメントを割り当て、つまり各データフラグメントは１つのタスクに対応する。各タスクは対応するタスクスレッドに対応し、従って処理すべきデータセットのデータフラグメントごとに対応するタスクスレッドがそれぞれ開始され、送信元端末と送信先端末との間のオフラインデータ同期を実行するために複数のタスクスレッドが同期して使用され、つまり送信元端末と送信先端末との間でデータの読出／書込操作が実行される。
【００３１】
ステップ１０６：任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアする。
【００３２】
ステップ１０８：失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。
【００３３】
データフラグメントに対するオフラインデータ同期をタスクスレッドが実行するプロセスでは、不安定なネットワークや送信先端末へのデータ書込の時間切れ等の様々な理由によりタスクがデータフラグメントの同期に失敗することがある。従って、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、失敗したタスクについて、失敗したタスクがフェールオーバ操作をサポートするかどうかが判定される。フェールオーバは、コンピュータ分野ではデータベース、アプリケーションサービス、ハードウェア装置等のフェールオーバを指し、バックアップ動作モードである。タスクが何らかの理由で処理に失敗する場合、データフラグメントを再処理するために別のコンポーネント（ノード、工程、スレッド等）に移すことができる。この実施形態では、失敗したデータフラグメントがフェールオーバ操作をサポートするかどうかを送信先端末の属性に従って判定することができる。
【００３４】
同期に失敗したタスクを突き止め、失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントを再処理するために別のタスクスレッドに移すことができる。失敗したタスクに対応するデータフラグメントを移す前に、１つのデータフラグメントが２つのタスクスレッドによって同時に処理されるのを回避するために、データフラグメントによって占有されているタスクスレッドを解放すること等、失敗したタスクに対応するデータフラグメントに対応する処理資源をまずクリアすることができる。
【００３５】
失敗したデータフラグメントに対応する処理資源をクリアした後、失敗したデータフラグメントにタスクスレッドを再割り当てすることができ、再割り当て済みタスクスレッドが送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行し、つまり送信元端末と送信先端末との間でオフラインのデータの読出／書込操作を実行する。
【００３６】
上記の内容に照らして、処理すべきデータセットのデータフラグメントごとにタスクをそれぞれ割り当て、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。任意のデータフラグメントに対応するタスクが同期に失敗したと判断され、失敗したタスクがフェールオーバ操作をサポートする、つまりタスクレベルフェールオーバが実行可能だと判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。従って、失敗したタスクのデータフラグメントが直接再同期され、処理すべきデータセットを再処理する必要がなく、それにより資源が節約され、同期時間が短縮される。
【００３７】
実施形態２
上記の実施形態に基づき、この実施形態ではフェールオーバによるオフラインデータ同期操作を詳細に説明する。
【００３８】
本願の実施形態のオフラインデータ同期はdataxのオフライン同期に適用することができ、dataxは異種のデータベース／ファイルシステム間でデータを高速でやり取りするためのツールであり、任意のデータ処理システム（RDBMS／Hdfs／ローカルファイルシステム等）間でデータのやり取りを実施する。
【００３９】
DataXには以下の特徴がある。DataXは異種のデータベース／ファイルシステム間でデータを高速でやり取りする。DataXはフレームワーク＋プラグインアーキテクチャを使用することによって構築され、フレームワークは、バッファ、フロー制御、同時実行、コンテキストローディング等の高速データ交換における殆どの技術的問題を処理し、インタフェースとプラグインとの間の簡単なインタラクションを提供する一方、プラグインは、データ処理システムへのアクセスを実施するだけで良い。DataXの実行モードは独立型であり、データ伝送プロセスは単一工程内で実施され、全ての操作がメモリ内で実行され、磁気ディスクへの読取又は書込はなく、ＩＰＣもない。DataXはオープンフレームを有し、開発者は新たなデータベース／ファイルシステムを素早くサポートするために非常に短い期間内で新たなプラグインを開発することができる。従って、オフライン同期がdataxによって実行される例を取り、オフラインデータ同期操作を詳細に説明する。
【００４０】
図２を参照し、本願のデータ同期方法の別の実施形態のステップの流れ図が示されており、この流れ図は特に以下のステップを含み得る。
【００４１】
ステップ２０２：処理すべきデータセットを取得し、その処理すべきデータセットを分割してデータフラグメントを得る。
【００４２】
ステップ２０４：データフラグメントにタスクを割り当てる。
【００４３】
ステップ２０６：メインスレッドがtaskGroupを開始し、taskGroupがそれぞれのタスクを開始する。
【００４４】
ステップ２０８：タスクのタスクスレッドにより、送信元端末と送信先端末との間でオフラインデータ同期を実行する。
【００４５】
送信元端末と送信先端末との間でオフラインデータ同期を実行する前に、処理すべきデータセットをまず決定し、その処理すべきデータセットを幾つかのデータフラグメントに分割してオフライン同期の効率を改善する。この実施形態では、オフラインデータ同期を実行するメインスレッドが複数のtaskGroupを確立し、各taskGroup内では複数のタスクが確立される。従って、オフラインデータ同期はtaskGroupのやり方で実行することができる。つまり、データフラグメントごとにタスクが割り当てられ、タスクのタスクスレッドを使用することによって同期処理が実行される。データフラグメントに対する割り当てが完了した後、メインスレッドがそれぞれのtaskGroupを開始し、taskGroupがそれぞれのタスクを開始し、タスクのタスクスレッドが送信元端末と送信先端末との間でオフラインデータ同期をそれぞれ実行する。
【００４６】
タスクスレッドは読取スレッド及び書込スレッドを含む。読取スレッドはデータを読み取るために使用され、書込スレッドはデータを書き込むために使用される。メインスレッドは、読取データ及び書込データを一時的に記憶するためのデータバッファをタスクごとに更に割り当てる。従って、オフラインデータ同期が実行されるとき、送信元端末と送信先端末との間でデータの読取及びデータの書込が読取スレッド及び書込スレッドのそれぞれによって実行される。更にデータはデータバッファ内に一時的に記憶することができ、それによりオフラインデータ同期を実施する。
【００４７】
ステップ２１０：各タスクがそれぞれのtaskGroupに状態情報をフィードバックする。
【００４８】
ステップ２１２：タスクが同期に失敗したかどうかを状態情報に従って判定する。
【００４９】
タスクがデータフラグメントに対するデータ同期を実行するとき、タスクはデータフラグメントの状態情報を収集し、その状態情報をtaskGroupにフィードバックする。状態情報は、データフラグメントに対するオフラインデータ同期の処理結果を含む。つまりタスクは、オフライン同期が成功裏に処理されたかどうかをtaskGroupに知らせる。処理に成功した場合は処理成功メッセージをフィードバックすることができ、処理に失敗した場合は処理失敗メッセージをフィードバックする。従って、状態情報内の処理失敗情報に従って処理に失敗したと判定することができる。
【００５０】
本願の実施形態では、任意の異常情報片がある場合は処理失敗情報をフィードバックし、異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含み、異常な状況に対応するタスクが同期に失敗したと処理失敗情報に従って判断する。
【００５１】
送信元端末と送信先端末との間でオフラインデータ同期を実行するとき、タスクは全同期プロセスの任意のステップ内の誤りが原因で失敗する可能性がある。従って、以下の状況の何れかによって異常情報が生じる場合に、対応する処理失敗情報が生成され、異常情報は、
送信元端末の異常情報、つまり送信元端末の異常、例えばデータの送信元がジッタによって利用できないことによって生成される異常情報、
送信先端末の異常情報、つまり送信先端末の異常、例えば送信先端末への遅い書込による接続時間切れによって送信元端末がクローズすることによって生成される異常情報、
ネットワークの異常情報、つまりネットワークの異常、例えばネットワークの中断によって生成される異常情報、及び
タスクスレッドの異常情報、つまりタスクスレッドの異常、例えばスレッドエラーによって生成される異常情報
を含む。
【００５２】
上記の異常が発生するときタスクは対応する処理失敗情報を生成する。タスクは処理失敗情報を状態情報に追加し、その状態情報をtaskGroupにフィードバックする。taskGroupは、異常な状況に対応するタスクが同期に失敗したと処理失敗情報に従って判断する。
【００５３】
該当する場合、つまり同期に失敗したと状態情報に従って判定される場合はステップ２１４を実行し、該当しない場合、つまり同期に成功したと状態情報に従って判定される場合はステップ２２０を実行する。
【００５４】
ステップ２１４：送信先端末の読取／書込特徴に従い、失敗したタスクがフェールオーバをサポートするかどうかを判断する。
【００５５】
この実施形態では、フェールオーバをサポートする失敗したタスクについて、失敗したタスクに対応するデータフラグメントを再同期することができ、つまり同期に失敗したデータフラグメントに対する再処理がサポートされる。従って、処理すべきデータセット全体を再同期する必要がなく、それにより資源及び同期時間が節約される。
【００５６】
失敗したタスクがフェールオーバを実行できるかどうかは送信先端末の読取／書込特徴によって決まり、送信先端末の読取／書込特徴が一時的同期の特徴又は冪等の特徴である場合、送信先端末の読取／書込特徴がフェールオーバ条件を満たす、つまり失敗したタスクがフェールオーバをサポートすると判断することができる。
【００５７】
１）一時的同期の特徴
一時的同期の特徴は、同期プロセス内で同期データを一時領域内に書き込み、同期の完了後、操作命令によって一時領域内の同期データを固定記憶領域内に移した後で同期データを有効にする特徴を含む。
【００５８】
つまり、送信元端末と送信先端末との間でデータ同期を実行する間、同期データを送信先端末内に書き込むとき、同期データはバッファリング用の一時領域（即ち一時バッファ）内にまず書き込まれる。データフラグメントの同期が完了すると、送信先端末が操作実行命令、即ちコミット命令を送信し、次いで一時領域内の同期データがコミット命令に従って実際のプロダクション領域（production region）、即ち固定記憶領域に移される。同期データは移動の完了後に有効になる。
【００５９】
上記の特徴を有する送信先端末では、タスクが失敗した場合、送信先端末はコミット命令を送信することなしにフェールオーバを実行することができ、つまり新たな一時領域にデータを同期するためにタスクが再開される一方、失敗したタスクに対応する一時領域内の同期データに注意を払う必要はなく、それは送信先端末が失敗したタスクに対応する一時領域内の同期データを自動でクリアし、同期データは、プロダクションが適用されず、有効にならないからである。従って、一時的同期の特徴を有する送信先端末にデータが同期される場合、対応する失敗したタスクはフェールオーバをサポートすることができる。
【００６０】
２）冪等の特徴
冪等の特徴は、データの書込操作が冪等操作をサポートする特徴である。つまり送信先端末の同期データが冪等式に書き込まれ、換言すれば複数回の実行の効果が１回の実行の効果と同じである。つまり、データ同期のプロセス内で書込みが複数回実行される場合、後で書き込まれるデータが過去のデータを上書きし、データが重複する問題は起こらない。送信先端末が冪等の特徴を有する場合、対応するタスクはフェールオーバをサポートする。
【００６１】
上記のオフライン同期がdataxに適用され、タスクが失敗した場合、タスクがフェールオーバをサポートできるかどうかが正確に判断される。様々なプラグインが異なる判断基準を有する。送信先端末がodpswriterシステム又はmysqlwirterシステムである場合、その書込みモードは置換モードであり、つまり書込操作は冪等である。従って送信先端末はフェールオーバをサポートする。別の例では、tairwriterのputモードにある送信先端末もタスクフェールオーバをサポートすることができる。送信先端末がodpsWriterである場合、コミット命令がデータ同期プロセス内でフィードバックされず、送信先端末に書き込まれる同期データは一時領域内にあり、換言すればそのデータは有効ではなく、従ってフェールオーバを実行することができる。
【００６２】
従って、失敗したタスクがフェールオーバをサポートするかどうかが送信先端末の書込みの特徴に従って判断される場合、タスクのライタ内でsupportFailover方法を実施することができ、タスクがフェールオーバをサポートするかどうかをtaskGroupに知らせるために現在の送信先端末の書込みの特徴及び同期工程に従って「真」又は「偽」が返される。該当する場合、つまり失敗したタスクがフェールオーバをサポートすると判断される場合はステップ２１６を実行し、該当しない場合、つまり失敗したタスクがフェールオーバをサポートしないと判断される場合、この手順はステップ２０４に戻って処理すべきデータセットを再同期する。
【００６３】
ステップ２１６：失敗したタスクに対応するタスクスレッドの資源を解放し、失敗したタスクに対応するデータフラグメントの統計データを削除する。
【００６４】
taskGroupはタスクが失敗したことを知り、失敗したタスクがフェールオーバをサポートすると判断し、その後、失敗したタスクのタスクスレッドが中断され、統計データがクリアされる。失敗したタスクに対応するタスクスレッドの資源は解放することができ、つまり失敗したタスクに対応するタスクスレッドは外部の読書き操作を停止する。更に、失敗したタスクに対応するデータフラグメントの統計データが削除される。例えば、データフラグメントの同期レコードの数や同期データの量等がクリアされる。
【００６５】
本願の任意選択的な実施形態では、失敗したタスクに対応するタスクスレッドの資源を解放することが、読取スレッド及び書込スレッドに対応するデータバッファ内に記憶される同期データをクリアすること、及び失敗したタスクに対応するデータフラグメントによる読取スレッド及び書込スレッドの占有を取り消すことを含む。
【００６６】
タスクスレッドは同期データの読取操作を実行するために読取スレッドを使用し、同期データの書込操作を実行するために書込スレッドを使用する。タスクスレッドの資源が解放されると、読取スレッド及び書込スレッドの現在の読取操作及び書込操作を停止することができ、読取スレッド及び書込スレッドに対応するデータバッファ内に記憶される同期データがクリアされ、データフラグメントがタスクスレッドによってもう処理されないように、失敗したタスクに対応するデータフラグメントによる読取スレッド及び書込スレッドの占有が取り消される。
【００６７】
ステップ２１８：失敗したタスクに対応するデータフラグメントの全ての処理資源がクリアされたかどうかを判定する。
【００６８】
実際の処理では、タスクが同期に失敗する場合、失敗したタスクがフェールオーバの実行時に終了していることを確実にするためにタスクの全ての処理資源を解放する必要があり、再割り当て済みタスクが同期を実行し、同じデータフラグメントが２つのタスクによって同時に処理されないことを確実にする。更に、統計データをクリアした後、再割り当て済みタスクが同期を実行するとき、データに関する統計を再び作成することができる。従って、失敗したタスクの全ての資源が解放されており、送信先端末内に最終的に書き込まれるデータが失われず又は繰り返されないことを保証することを確実にすべきである。資源は失敗したタスクの読取スレッド及び書込スレッドを中断することによって、並びに読取スレッド及び書込スレッドによって操作される必要があるメモリチャネルを無効であるように設定することによってクリアすることができる。失敗したタスクが完全に停止したと判定した後で初めてtaskGroupがデータフラグメントにタスクを再割り当てし、再割り当て済みタスクを開始してデータ同期を実行する。
【００６９】
従って、処理資源のクリアを完了した後、失敗したタスクは自らの読取スレッド及び書込スレッドが終了しているかどうか、及びメモリ資源が解放されているかどうかをTaskGroupに報告する。従ってTaskGroupは、処理資源のクリアが終了したかどうかを失敗したタスクのフィードバックに基づいて判定する。
【００７０】
該当する場合、つまり処理資源のクリアが終了している場合はステップ２０４を実行し、該当しない場合、つまり処理資源のクリアが終了していない場合はステップ２１６を実行して資源のクリアを続行する。
【００７１】
処理資源のクリアが終了した後、失敗したタスクについてフェールオーバを実行することができる。従って、この手順はステップ２０４に戻って失敗したタスクに対応するデータフラグメントにタスクを再割り当てする。データの同期が成功しタスクが終了されるまで、同期に失敗したデータフラグメントに対するデータ同期を実行するために再割り当て済みタスクが使用される。
【００７２】
ステップ２２０：タスクのデータ同期が成功し、タスクが終了される。
【００７３】
タスクのデータ同期が同期に成功したと状態情報に従って判定され、タスクが終了される。
【００７４】
従って、データフラグメントに対応するタスクが処理に失敗する場合、送信先端末の読書の特徴に基づいて、失敗したタスクがフェールオーバをサポートすると判定した後で、フェールオーバを実行することができ、つまり同期を再実行するためにデータフラグメントにタスクが再割り当てされる。従って、タスクレベルフェールオーバが実行され、処理すべきデータセット全体を再同期する必要がなく、それにより同期の効率が改善される。
【００７５】
オフライン同期内でプラグインがブレークポイント再開を実施できないという問題がある。例えば典型的なリレーショナルデータベースでは、送信元端末のデータ記憶域はオフライン同期内でロケーション設定をサポートすることができず、データフラグメント同期における読取途中で誤りがある場合、読取のためにデータを誤り位置から再び容易に且つ都合良く取り出すことができない。この実施形態では送信元から再びデータを取り出すためにタスクレベルフェールオーバを使用し、それによりロケーションの問題を解決する。
【００７６】
オフライン同期内のプラグインの再試行が全データを対象として含まないという問題がある。既存のプラグインは優れた再試行の粒度を有し、再試行を実行するために、概して捕捉される異常は単一のレコード又はバッチについて提出される。タスクの全ライフサイクルは多数の操作ステップを含むので、再試行の省略を引き起こす消失点がある場合がある。タスクレベルフェールオーバを適用することによってデータフラグメントを再同期することができ、それにより上記の問題が解決される。
【００７７】
タスクレベルフェールオーバを使用することによって様々な機械にデータフラグメントをリスケジュールすることができ、タスクが再割り当てされ、それによりデータ同期が自動で再開される。
【００７８】
説明を簡単にするためにこの方法の実施形態を一連の動作の組合せとして説明したが、一部のステップは本願の実施形態に従って他の順序で又は同時に実行することができるので、本願の実施形態は本明細書に記載の動作の順序に限定されないことを当業者なら分かるはずである。次に、本明細書に記載の実施形態は全て好ましい実施形態であり、その中の関与する動作は必ずしも本願の実施形態に必要ではないことも当業者なら分かるはずである。
【００７９】
実施形態３
上記の実施形態に基づき、この実施形態はデータ同期システムを更に提供する。
【００８０】
図３を参照し、本願のデータ同期システムの一実施形態の構造上のブロック図が示されており、このシステムは特に以下のモジュール、つまり
処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当て、失敗したタスクに対応するデータフラグメントにタスクを再割り当てするように構成されるタスク割当モジュール３０２と、
そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行し、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行するように構成されるデータ同期モジュール３０４と、
任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、タスク割当モジュールをトリガするように構成されるフェールオーバモジュール３０６と
を含み得る。
【００８１】
つまり、タスク割当モジュール３０２は、処理すべきデータセットのデータフラグメントごとにタスクをそれぞれ割り当て、次いでデータ同期モジュール３０４が、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。任意のデータフラグメントに対応するタスクが同期に失敗した場合、フェールオーバモジュール３０６は、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、タスク割当モジュール３０２をトリガして、失敗したタスクに対応するデータフラグメントにタスクを再割り当てする。データ同期モジュール３０４は、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。データフラグメントの同期に成功した後、処理すべきデータセットのオフラインデータ同期が完了する。
【００８２】
上記の内容に照らして、処理すべきデータセットのデータフラグメントごとにタスクをそれぞれ割り当て、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。任意のデータフラグメントに対応するタスクが同期に失敗したと判断され、失敗したタスクがフェールオーバ操作をサポートする、つまりタスクレベルフェールオーバが実行可能だと判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、失敗したタスクに対応するデータフラグメントにタスクを再割り当てし、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。従って、失敗したタスクのデータフラグメントが直接再同期され、処理すべきデータセット全体を再処理する必要がなく、それにより資源が節約され、同期時間が短縮される。
【００８３】
図４を参照し、本願のデータ同期システムの別の実施形態の構造上のブロック図が示されており、このシステムは特に以下のモジュール、つまり
処理すべきデータセット内のデータフラグメントごとにタスクをそれぞれ割り当てるように構成されるタスク割当モジュール４０２と、そのタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行するように構成されるデータ同期モジュール４０４と、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、タスク割当モジュール４０２をトリガして、失敗したタスクに対応するデータフラグメントにタスクを再割り当てするように構成されるフェールオーバモジュール４０６を含み得る。データ同期モジュール４０４は、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行するように構成される。
【００８４】
本願の任意選択的な実施形態では、フェールオーバモジュール４０６が、フェールオーバサポート判断サブモジュール４０６０２及び資源クリアサブモジュール４０６０４を含む。
【００８５】
フェールオーバサポート判断サブモジュール４０６０２は、送信先端末の読書の特徴がフェールオーバ条件を満たすと判断される場合、失敗したタスクがフェールオーバ操作をサポートすると判定するように構成される。フェールオーバサポート判断サブモジュール４０６０２は、送信先端末の読書の特徴が一時的同期の特徴又は冪等の特徴である場合、送信先端末の読書きの特徴がフェールオーバ条件を満たすと判断するように更に構成され、一時的同期の特徴は、同期プロセス内で同期データを一時領域内に書き込み、同期の完了後、操作命令によって一時領域内の同期データを固定記憶領域内に移した後で同期データを有効にする特徴を含み、冪等の特徴は、データの書込操作が冪等操作をサポートすることを含む。
【００８６】
資源クリアサブモジュールは、失敗したタスクに対応するタスクスレッドに対する資源の解放を実行し、失敗したタスクに対応するデータフラグメントの統計データを削除するように構成される。資源クリアサブモジュールは、読取スレッド及び書込スレッドに対応するデータバッファ内に記憶される同期データをクリアし、失敗したタスクに対応するデータフラグメントによる読取スレッド及び書込スレッドの占有を取り消すように構成される。資源クリアサブモジュールは、タスクスレッドが送信元端末と送信先端末との間でオフラインデータ同期を実行するのを停止するように更に構成される。
【００８７】
本願の別の任意選択的な実施形態では、データ同期システムが、任意の異常情報片がある場合に処理失敗情報をフィードバックすることであって、異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含む、フィードバックすること、及び異常な状況に対応するタスクが同期に失敗したと処理失敗情報に従って判断することを行うように構成される失敗判定モジュール４０８を更に含む。
【００８８】
つまり、タスク割当モジュール４０２が、処理すべきデータセットのデータフラグメントごとにタスクをそれぞれ割り当てる。データ同期モジュール４０４が任意のタスクのタスクスレッドを開始し、送信元端末と送信先端末との間で、対応するデータフラグメントのオフラインデータ同期を実行する。失敗判定モジュール４０８は、任意の異常情報片がある場合に処理失敗情報をフィードバックすることであって、異常情報は送信元端末の異常情報、送信先端末の異常情報、ネットワークの異常情報、及びタスクスレッドの異常情報を含む、フィードバックすること、及び異常な状況に対応するタスクが同期に失敗したと処理失敗情報に従って判断することを行うように構成される。フェールオーバモジュール４０６は、任意のデータフラグメントに対応するタスクが同期に失敗したと判断された後、且つ失敗したタスクがフェールオーバ操作をサポートすると判定される場合、失敗したタスクに対応するデータフラグメントの処理資源をクリアし、タスク割当モジュール４０２をトリガして、失敗したタスクに対応するデータフラグメントにタスクを再割り当てするように構成される。データ同期モジュール４０４は、再割り当て済みタスクのタスクスレッドを開始して送信元端末と送信先端末との間でデータフラグメントのオフラインデータ同期を実行する。
【００８９】
従って、データフラグメントに対応するタスクが処理に失敗する場合、送信先端末の読取／書込の特徴に基づいて失敗したタスクがフェールオーバをサポートすると判定した後でフェールオーバを実行することができ、つまり同期を再実行するためにデータフラグメントにタスクが再割り当てされる。従って、タスクレベルフェールオーバが実行され、処理すべきデータセット全体を再同期する必要がなく、それにより同期の効率が改善される。
【００９０】
オフライン同期内でプラグインがブレークポイント再開を実施できないという問題がある。例えば典型的なリレーショナルデータベースでは、送信元端末のデータ記憶域はオフライン同期内でロケーション設定をサポートすることができず、データフラグメント同期における読取途中で誤りがある場合、読取のためにデータを誤り位置から再び容易に且つ都合良く取り出すことができない。この実施形態では送信元から再びデータを取り出すためにタスクレベルフェールオーバを使用し、それによりロケーションの問題を解決する。
【００９１】
オフライン同期内のプラグインの再試行が全データを対象として含まないという問題がある。既存のプラグインは優れた再試行の粒度を有し、再試行を実行するために、概して捕捉される異常は単一のレコード又はバッチについて提出される。タスクの全ライフサイクルは多数の操作ステップを含むので、再試行の省略を引き起こす消失点がある場合がある。タスクレベルフェールオーバを適用することによってデータフラグメントを再同期することができ、それにより上記の問題が解決される。
【００９２】
タスクレベルフェールオーバを使用することによって様々な機械にデータフラグメントをリスケジュールすることができ、タスクが再割り当てされ、それによりデータ同期が自動で再開される。
【００９３】
機器の実施形態は方法の実施形態と基本的に同様であり、そのため機器の実施形態は簡単に説明し、関連部分については方法の実施形態の中のその部分についての説明を参照することができる。
【００９４】
本明細書の実施形態を漸進的に説明し、各実施形態は他の実施形態と異なる部分を強調し、実施形態の同一の又は同様の部分は互いを参照することによって得ることができる。
【００９５】
本願の実施形態は方法、機器、又はコンピュータプログラム製品として提供できることを当業者なら理解すべきである。従って、本願の実施形態は完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせる実施形態として実装することができる。更に本願の実施形態は、コンピュータ使用可能プログラムコードを含む１つ又は複数のコンピュータ使用可能記憶媒体（これだけに限定されないが磁気ディスクメモリ、ＣＤ−ＲＯＭ、光学メモリ等を含む）上に実装されるコンピュータプログラム製品であり得る。
【００９６】
典型的な構成では、コンピュータ装置が１個又は複数個のプロセッサ（ＣＰＵ）、入出力インタフェース、ネットワークインタフェース、及びメモリを含む。メモリは、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／又は不揮発性メモリ、例えば読取専用メモリ（ＲＯＭ）やフラッシュＲＡＭ等のコンピュータ可読媒体を含み得る。メモリはコンピュータ可読媒体の一例である。コンピュータ可読媒体は不揮発性媒体及び揮発性媒体並びに脱着可能媒体及び脱着不能媒体を含み、任意の方法又は技術によって情報の記憶を実施することができる。情報はコンピュータ可読命令、データ構造、プログラムのモジュール、又は他のデータとすることができる。コンピュータの記憶媒体の例は、これだけに限定されないが、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のＲＡＭ、ＲＯＭ、電気的消去プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリや他のメモリテクノロジ、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）や他の光学記憶域、カセットテープ、磁気テープ／磁気ディスク記憶域や他の磁気記憶装置又は他の任意の非伝送媒体を含み、計算装置にとってアクセス可能な情報を記憶するために使用することができる。本明細書の定義によれば、コンピュータ可読媒体は変調データ信号や搬送波等の一時的媒体は含まない。
【００９７】
本願の実施形態による方法、端末装置（システム）、及びコンピュータプログラム製品による流れ図及び／又はブロック図に関して本願の実施形態を説明した。これらの流れ図及び／又はブロック図の中のそれぞれのプロセス及び／又はブロック、並びにこれらの流れ図及び／又はブロック図の中のプロセス及び／又はブロックの組合せを実装するためにコンピュータプログラム命令を使用できることを理解すべきである。コンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、埋込み型プロセッサ、又は或る機械を作り出すための他のプログラム可能データ処理端末装置のプロセッサに与えることができ、それにより、コンピュータ又は他のプログラム可能データ処理端末装置のプロセッサが命令を実行して、流れ図の中の１つ若しくは複数のプロセス及び／又はブロック図の中の１つ若しくは複数のブロックの中の指定の機能を実施するように構成される機器を作り出す。
【００９８】
コンピュータプログラム命令は、特定の方法で機能するようにコンピュータ又は他のプログラム可能データ処理端末装置に指示することができるコンピュータ可読記憶域内に記憶することもでき、そのためコンピュータ可読記憶域内に記憶される命令は命令機器を含む製品を作り出す。命令機器は、流れ図の中の１つ若しくは複数のプロセス及び／又はブロック図の中の１つ若しくは複数のブロックの中の指定の機能を実施する。
【００９９】
一連の動作ステップをコンピュータ又は他のプログラム可能端末装置上で実行してコンピュータによって実施される処理を発生させるように、コンピュータプログラム命令はコンピュータ又は他のプログラム可能データ処理端末装置上にロードすることもできる。従って、コンピュータ又は他のプログラム可能端末装置内で実行される命令は、流れ図の中の１つ若しくは複数のプロセス及び／又はブロック図の中の１つ若しくは複数のブロックの中の指定の機能を実施するためのステップをもたらす。
【０１００】
本発明の実施形態の好ましい実施形態について説明してきたが、当業者は基本的な独創的概念を知ればそれらの実施形態に他の改変及び修正を加えることができる。従って、添付の特許請求の範囲は、好ましい実施形態並びに本願の実施形態の範囲に含まれる全ての改変及び修正を含むものとして説明されることを意図する。
【０１０１】
最後にこの本文では、第１や第２の等の関係語は、或るエンティティ又は動作を別のエンティティ又は動作と区別するためだけに使用し、それらのエンティティ又は動作がその実際の関係又は順序を有することを必ずしも必要とせず又は含意しないことに更に留意すべきである。更に、「含む（include）」や「含む（comprise）」という語、又はこれらの語の他の異体は非排他的包含を対象として含むことを意図し、そのため一連の要素を含むプロセス、方法、物、又は端末装置はそれらの要素だけではなく明確に挙げられていない他の要素も含み、又はかかるプロセス、方法、物、若しくは端末装置の固有要素を更に含む。それ以上の制限がない場合、「〜を含む」によって規定する要素は、その要素を含むプロセス、方法、物、又は端末装置が他の同一要素を更に有することを除外しない。
【０１０２】
本願によって示したデータ同期方法及びデータ同期システムについて詳細に説明し、本願の原理及び実装形態について本文中の特定の例を適用することによって説明した。上記の実施形態についての説明は、単に本願の方法及びその核となる概念の理解を助けるために使用した。一方で、特定の実装形態及び応用範囲に対して当業者なら本願の概念に従って修正を加えることができる。従って、本明細書の内容は本願に対する如何なる限定としても解釈すべきではない。
【図１】
2018530060.tif 000003
【図２】
2018530060.tif 000004
【図３】
2018530060.tif 000005
【図４】
2018530060.tif 000006
【国際調査報告】
2018530060.tif 000007
2018530060.tif 000008
2018530060.tif 000009
2018530060.tif 000010