2009-03-25 13 views
6

私は、サーバーと分散クライアントの間でデータの同期を実装しようとしています。サーバー上のデータソースは、djangoが上にあるmysqlです。クライアントはさまざまです。更新はクライアントまたはサーバーのいずれかで行うことができ、サーバーとクライアント間の接続は信頼できません(たとえば、切断された携帯電話で変更を行うことができます。サーバーのデータ同期フレームワーク/アルゴリズム<->デバイス?

S. Lottはthis questionでバージョンコントロールデザインパターンを使用することを推奨しますが、これは意味があります。私が使用できる既存のパッケージ/実装があるかどうか疑問に思っています。または、私はsvn/git/etcを直接使うべきですか?

他の方法がありますか?そこには、同期フレームワークやアルゴリズムの詳細な説明が必要ですが、私はそれらを見つける多くの運を持っていないよ。あなたが私を正しい方向に向けると感謝します。

答えて

0

あなたは、このリンクが役立つことがあります。http://pdis.hiit.fi/pdis/download/

それは個人分散インフォメーションストア(PDIS)プロジェクトのダウンロードページであり、いくつかの関連するPythonパッケージを示しています。

1

多分普通の古物であるrsyncで十分です。

1

AFAIKこれは、主に同期のさまざまな要件のために、これに対する汎用的な解決策はありません。

以前のプロジェクトでは、の同期メカニズムを実装しました。このメカニズムは、(同期に参加する)各テーブルの最後に更新されたタイムスタンプフィールドに依存しています。

私はSyncMLについて聞いたことがありますが、それほど多くの経験はありません。

単一のサーバーと複数のクライアントがある場合は、JMSベースのアプローチと考えることができます。 データはバンドルされ、キュー(またはトピック)に配置され、クライアントによって取得されます。

更新が双方向であるため、競合の検出も処理する必要があります。これにより複雑さが増します。

関連する問題