タグ付けされた質問 「data-synchronization」

8
iPhoneコアデータをWebサーバーと同期し、他のデバイスにプッシュする方法 [閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私は、iPhoneアプリケーションに格納されているコアデータをiPadやMacなどの複数のデバイス間で同期する方法に取り組んでいます。iOSのCore Dataで使用する同期フレームワークは(もしあれば)多くはありません。しかし、私は次の概念について考えていました。 ローカルコアデータストアが変更され、変更が保存されます。(a)デバイスがオンラインの場合、変更セットを送信したデバイスのデバイスIDを含め、変更セットをサーバーに送信しようとします。(b)チェンジセットがサーバーに到達しない場合、またはデバイスがオンラインでない場合、アプリは変更セットをキューに追加して、オンラインになったときに送信します。 クラウド内にあるサーバーは、受信した特定の変更セットをマスターデータベースとマージします。 変更セット(または変更セットのキュー)がクラウドサーバーにマージされると、サーバーは、なんらかのポーリングシステムを使用して、サーバーに登録されている他のデバイスにすべての変更セットをプッシュします。(私はAppleのPushサービスを使用することを考えましたが、コメントによると、これは実行可能なシステムではないようです。) 私が考えなければならない空想はありますか?ObjectiveResource、Core Resource、RestfulCoreDataなどのRESTフレームワークを見てきました。もちろん、これらはすべてRuby on Railsで動作しますが、私はこれに縛られていませんが、それは出発点です。私のソリューションに対する主な要件は次のとおりです。 メインスレッドを一時停止せずに、変更をバックグラウンドで送信する必要があります。 使用する帯域幅はできるだけ少なくする必要があります。 私はいくつかの課題について考えました: さまざまなデバイス上のさまざまなデータストアのオブジェクトIDがサーバーに接続されていることを確認します。つまり、データベースに格納されているオブジェクトへの参照を介して関連付けられているオブジェクトIDとデバイスIDのテーブルがあります。レコード(DatabaseId [このテーブルに対して一意]、ObjectId [データベース全体のアイテムに対して一意]、Datafield1、Datafield2)を作成し、ObjectIdフィールドは別のテーブルAllObjects:(ObjectId、DeviceId、DeviceObjectId)を参照します。次に、デバイスが変更セットをプッシュすると、ローカルデータストア内のコアデータオブジェクトからデバイスIDとオブジェクトIDが渡されます。次に、クラウドサーバーはAllObjectsテーブルのobjectIdおよびdevice Idをチェックし、変更するレコードを初期テーブルで見つけます。 すべての変更にはタイムスタンプを付けて、マージできるようにする必要があります。 デバイスは、バッテリーを使いすぎずにサーバーをポーリングする必要があります。 ローカルデバイスは、サーバーから変更を受け取った場合、またはそのときに、メモリに保持されているものを更新する必要もあります。 他にここで見逃しているものはありますか?これを可能にするには、どのようなフレームワークに注目すべきですか?

6
クライアントサーバー同期パターン/アルゴリズム?
クライアントとサーバーの同期パターンがそこにあるに違いないと感じています。しかし、私は完全に1つをグーグルに失敗しました。 状況は非常に単純です。サーバーは中央ノードであり、複数のクライアントが同じデータに接続して操作します。データはアトムに分割できます。競合が発生した場合、サーバー上にあるものは何でも優先されます(ユーザーが競合を解決しないようにするため)。潜在的に大量のデータがあるため、部分同期が推奨されます。 そのような状況のパターン/良い習慣はありますか、またはあなたがそれを知らない場合-あなたのアプローチは何ですか? 以下は、私が今それを解決しようと考えている方法です。データと並行して、すべてのトランザクションにタイムスタンプが付けられた変更ジャーナルが保持されます。クライアントが接続すると、最後のチェック以降のすべての変更が統合された形式で受信されます(サーバーはリストを調べて追加を削除し、その後に削除、各アトムの更新のマージなど)。Et voila、私たちは最新です。 代わりに、各レコードの変更日を保持し、データの削除を実行する代わりに、削除済みとしてマークするだけです。 何かご意見は?

2
ローカルのHTML5 DB(WebSQLストレージ、SQLite)をサーバーと同期する最良の方法(2方向同期)[終了]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 ローカルデータベース(html5 webstorageを使用)を備えたモバイルWebアプリケーション(iPhoneおよびAndroid用)を開発しているため、ユーザーがオフラインのときもアプリを使用できます。 これは完全に機能していますが、ローカルデータをサーバーに保存したいと考えています。そのため、ローカルDBをサーバー上のDBと同期する必要があります。同期は一方向にしかできませんが、将来的には双方向で同期したいと思います(サーバー<->ローカルDB)。 この要件は非常に一般的であるように見えます(またはモバイルWebアプリでは将来的に一般的になるでしょう)が、それを行うライブラリーを見つけることができません。 私はグーグルが彼らのモバイルウェブアプリ(例えばGmail)でそれをしていることを知っています、そして私はWSPLプロジェクトがグーグルプロジェクトであるのにダウンロードするソースがないことを見つけました。 解決策が見つからない場合は、ライブラリを作成してそれを行います。一方向の同期は難しくないように見えますが、他の解決策はあるのでしょうか。

6
クライアント/サーバーデータベースの同期
中央サーバー上のデータを、常にオンラインであるとは限らないクライアントアプリケーションと同期するためのいくつかの一般的な戦略を探しています。 私の特定のケースでは、sqliteデータベースを備えたAndroid電話アプリケーションとMySQLデータベースを備えたPHPWebアプリケーションがあります。 ユーザーは、電話アプリケーションとWebアプリケーションで情報を追加および編集できるようになります。電話がサーバーとすぐに通信できない場合でも、1か所で行った変更がすべての場所に反映されるようにする必要があります。 電話からサーバーに、またはその逆にデータを転送する方法には関心がありません。たとえば、MySQLで利用可能なレプリケーション機能を使用できないという理由だけで、特定のテクノロジについて言及しています。 クライアント/サーバーデータの同期の問題が長い間発生していることを知っています。問題を処理するためのパターンに関する情報(記事、書籍、アドバイスなど)が必要です。同期を処理して長所、短所、およびトレードオフを比較するための一般的な戦略について知りたいのですが。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.