2016-04-30 10 views
0

私たちは、さまざまな人が自分に割り当てられたコールを取得してモバイル上で編集し、その後モバイルからのコールを閉じるコール管理ソフトウェアを構築しています中央管理者が監視するサーバーに同期されます。データのリニアフロー、つまり、サーバー>モバイルに送信>モバイルで更新>で作成されたコールは、サーバーに送信され、データのフローを確立することができました。クライアント(アンドロイド)とサーバ(レールPostgreSQL)間の同期データベース

このワークフローでは、コールが作成されてモバイルに送信された後、サーバー上で更新された場合、この変更をモバイルとどのように同期させるか、通話が終了していないため、まだ同期されていないモバイルにも変更が加えられている可能性があります。現在のところ、自動同期は行われておらず、モバイルユーザーは、ワークフローの一部として望む、コールが閉じられたときにサーバーにデータを送信するためのアクションを示すボタンを押す必要があります。同時に、コールが終了するまで、データの同期や更新に関していくつかの自動化を実行したいと考えています。

私が導き出すことができる類推は、gitとコードのバージョン管理(プッシュする前にプルする)ですが、手動で解決しなければならないコンフリクトがマージする可能性があります。

この問題について洞察を深めてください。

ps:AndroidアプレットとPostgreSQL(ruby on rails)でSQLiteを実装し、サーバからのデータ構造をモバイルアプリケーションで実行して、サーバー上のデータを更新するためのREST APIを呼び出すためのレコードIDをそれぞれ格納します。

答えて

0

私たちは、サーバーとクライアント間のすべてのデータ交換を処理するためのカスタムAPIをたくさん作成しました。私たちは、モバイルから編集可能なすべてのデータフィールドの優先順位を高くした独自の競合解決策を考え出しました。データがモバイルに同期されるたびに、優先順位の高いデータが保存されます(モバイルがこれらのフィールドを変更した場合、サーバーがデータを変更した場合でも保持されます)。 また、モバイルでデータを編集する前に、サーバーからデータを取得して、常に最新のデータが利用できるようにします。 これは実装しようとしているビジネスロジックに沿っており、一般化できません。

関連する問題