データ同期のアルゴリズムを実装する必要があるアプリケーションに取り組んでいます。
メイン サーバーと複数の下位デバイスがあり、これらを同期する必要があります。
現在、私は 3 つのアルゴリズムを持っています。皆さんの意見に応じてどれが最適かについてアドバイスをお願いします。皆さんの意見を本当に感謝します。
1.アルゴリズムの説明は、ここで見つけることができます。これは、Sang-Wook Kim による科学研究論文であり、韓国の漢陽大学の情報通信部門です。
2このアルゴリズムには、データベースのタイムスタンプとバージョン番号の記録を維持することが含まれます。
たとえば、モバイル デバイスのバージョンが v10 で、サーバーのバージョンが v12 である場合、モバイル デバイスの現在のタイムスタンプがサーバーのタイムスタンプよりも新しいと仮定すると、
削除を - 、挿入を + 、変更を ~ で表すと、
また、次の変更ログはいくつかのバージョンに関連付けられています。
v11: +r(44) , ~r(45),-r(46) v12: -r(44),~r(45),+r(47)
次に、データベースの全体的な変化は、 ~r(45) (v12 から)、+r(47)、-r(46) です。
したがって、レコード r(44) は、追加されてから削除されたにもかかわらず、必要ではなかったことがわかります。したがって、冗長なデータを転送する必要はありません。
アルゴリズム全体はここで見つけることができます(私はそれをpdfに載せました)http://goo.gl/yPC7A
3このアルゴリズムは有効です - 各レコードの最終変更タイムスタンプを記録するテーブルを保持します.そして、タイムスタンプに従ってソートされた行を保持します.変更された行のみを同期します.タイムスタンプへ。
ここにリンクがあります http://goo.gl/8enHO
ご意見ありがとうございます。:D