私は、データ同期のアルゴリズムを実装する必要があるアプリケーションで作業しています。データベース同期アルゴリズムのアドバイス
メインサーバーと、複数の従属デバイスが一緒に同期される必要があります。
今、私は3つのアルゴリズムを持っており、皆さんのおかげで最高のアドバイスをしたいと思います。本当にありがとうございます。
アルゴリズムの説明は、情報通信 漢陽大学の・サンウクキム 部門でhere.Itsに韓国
2を科学的な研究論文を見つけることができますこのアルゴリズムでは、データベースのタイムスタンプとバージョン番号のレコードを維持することが含まれます
たとえば、バージョンv10、モバイルデバイス上の現在のタイムスタンプがサーバ上のタイムスタンプと比較して遅いと仮定して、モバイルデバイスおよびサーバ上のモバイルは、v12を有する。
ここでは、 - :
V11:R(46) V12 + R(44)〜R(45):〜
によって+と変更し、次の変更ログは、いくつかのバージョンに関連付けられています - データベースの全体的な変化は〜r(45)(v12)、+ r(47)、 - r(46)、〜r(45)、〜r
したがって、レコードr(44)は追加されていても削除されていても削除されていないことがわかります。したがって、冗長データを転送する必要はありません。
全体アルゴリズムは、このアルゴリズムが有効でhttp://goo.gl/yPC7A
(私はPDFファイルでそれを入れている)ここで見つけることができます - 各record.Andのタイムスタンプを保持します最後の変更を記録したテーブルを保持timestamp.Itに基づいてソートされた行は、変更された行だけを同期させます。ここでは、タイムスタンプに応じて毎回テーブルをソートしています。
ここのリンクは、あなたの意見のためhttp://goo.gl/8enHO
おかげでトンです! :D
データの同期は非常に困難な問題になる可能性があります。そして、ofcには「最良の」方法はなく、すべてはあなたのユースケースに依存します。同時更新が可能な場所を特定(および最小化)し、最も簡単なフィッティングソリューションを検索してください。 – driushkin
私は今あなたが1つを選んだと推測します。私は、あるアルゴリズムが現在のデータを照会するのが簡単であれば好奇心が強いです。データベース間で同じテーブルに簡単に参加させることが比較的簡単なものが必要です。 – Joel