4

現在、軽量データベース (SqlLite の場合もあります) を備えたクライアント マシンに最初にインストールされるアプリケーションに取り組んでいます。

しばらくして、同じソフトウェアの Web バージョンを追加したいと思います。これにより、スマート クライアントはオンライン バージョンと同期できるようになります。

誰かが似たようなことをしたことがありますか、私は知りたいです:

  1. 同期の最良の方法は何ですか?その周りにパターンはありますか?
  2. 同期を処理するフレームワークはありますか?
  3. 最初から知っておくべき落とし穴はありますか (おそらくセキュリティの同時実行性)?
  4. これを設計する最善の方法は何でしょうか?

事前に感謝...

4

1 に答える 1

1

したがって、Microsoftの同期フレームワークがこれを支援します。 序章

最初はいくつかの問題が目立ちます。

最初にクライアントにデータを存在させ、その後のある時点でサーバーに同期する場合は、特に、多数のクライアントがすべてサーバーに同期するとどうなるかを考える必要があります。紛争解決の周り。

競合が発生したときに識別するためにサーバー側で発生するイベントがありますが、誰が勝つかを決定する必要があります。(サーバー上に1つ、着信クライアントから1つ)。ここで選択した内容によっては、2回目の同期によってクライアントデータが変更される可能性があります。

何を同期するかを慎重に検討してください。contacvtsデータベースの場合、クライアント名と電話番号だけを同期させるだけで十分ですか、それとも連絡履歴全体を同期する必要がありますか?

キーがすべて同じ値である行を使用して、テーブルを同期するという観点から考えてください。これがトリガーなどを使用して構築されたテーブルであっても、フレームワークの同期プロセスがはるかに簡単になり、エラーが発生しにくくなります(テーブルは異なる順序で同期する必要があります)。

請求プログラムの場合は、注文のアップロードのみのテーブルが必要であり、関連するすべての請求書、履歴、レポートテーブルなどは、クライアントで更新して複数のテーブルを同期するのではなく、サーバーで更新されます。

于 2010-04-22T08:46:55.240 に答える