2016-04-28 6 views
0

私はAndroid開発の初心者です。リアルタイムのオンデマンド群衆のフィードバックを可能にするAndroidアプリを開発しなければならない。リアルタイムプロセスのためのクラウドソーシングのアーキテクチャ

アイデアは次のとおりです。タスクプロデューサは、x日、y日、n人の作業者によって解決されるタスクを必要とするため、システムにこれをアナウンスします。労働者は仕事がいつ利用可能かを見て、それを購読する。その日時に、タスクプロデューサは、購読されたワーカーに送信されたタスクを投稿し、直ちにそれを解決し、タスクが解決されるとすぐに結果をタスクプロデューサに返さなければなりません。

サーバーを使用せずにタスクプロデューサとタスクワーカーの間の通信を有効にするために使用するアーキテクチャパターンを確認できません。

私はMVPとpublish-subscribeを使って、タスクプロデューサとタスクワーカの間の通信を考えました。これが正しいアプローチだろうか?

答えて

1

サーバーを使用する必要があります。これを達成する方法は、データを前後に送信する中心点なしにはありません。タスクプロデューサをサーバーとして試してみることはできますが、接続の問題があり、この方法に問題があります。

これは、すべての消費者がおそらくIPアドレスによってプロデューサを「知っている」ことを必要とします。このアドレスは定期的に変更されるため、動的DNSサーバーに登録してクライアントが検索できるようにしたいと考えています。

次に、コンシューマーがタスクを接続してプルできるように、プロバイダアプリでソケットサーバーを実行し、結果をプッシュする必要があります。

これは複雑になり、最終的には携帯電話ネットワークではうまく機能しません。タスクの集中データベースがあれば、はるかに簡単になり、電話機はその集中アプリケーションのクライアントとして機能します。

私はこれを見つけました:http://developer.android.com/guide/topics/connectivity/wifip2p.htmlアンドロイドの純粋なピアツーピアアーキテクチャに関わるプロセスを見ているのは、間違いなく良い出発点です。

+0

ありがとうございました!私は初心者なので、私はサーバーに行くつもりだと思う... – Betty

関連する問題