2

可能であれば、ここでいくつかのアドバイスと推奨事項の直後に。

デバイスのローカル データベースにデータを書き込み、すぐに、または後でそのレコードを Web サービス (基本的にはクラウド サービス) に複製する iPad アプリ (IOS6) を作成しています。

これについてあなたが考える最善の方法は何ですか?

ローカル DB に「synced」という列を作成し、レコードが作成されたらすぐにフラグを「0」に設定し、すぐにまたは定期的にレコードを「0」と同期することを考えていました。次に、各レコードが複製されるときにフラグを「1」に設定します。

アプリをオフラインで動作させ、デバイスが Web サービスへの接続が利用可能になったときに同期するようにします。

理想的には、すべてのレコードをすぐに、または数秒後に複製する必要がありますが、ネットワーク接続がない場合は、複製をキューに入れて実行できるようにしたいと考えています。

それで、これを達成するための最良の方法は何ですか?前もって感謝します :)

4

1 に答える 1

2

ソリューションは、ソリューション全体の複雑さに大きく依存します。

たとえば、レコードがローカル デバイスでのみ作成され、変更されることなくアップロードされる場合、ソリューションは十分すぎるほどです。

ただし、ローカル デバイスでのレコードの更新を許可する場合、またはレコードが Web サービスに入ったときにレコードを更新できる場合は、競合解決の管理を開始する必要があります。この状況に対処する方法は、「マスター」データベース (Web サービスによって更新されたデータベース) にタイムスタンプを記録し、レコードが新しいレコードまたは更新としてアップロードされたときにそのタイムスタンプを同期することです。ユーザーがレコードを更新すると、タイムスタンプが送信され、データベースの値が送信されたデータベースと異なる場合、更新要求は拒否されます。もちろん、この競合の解決にはさまざまなアプローチがありますが、これはアプリケーションとユーザーにとって有効な方法の 1 つにすぎません。

于 2012-12-30T03:02:14.687 に答える