用于实时流程的众包应用程序架构

时间:2016-04-28 17:51:01

标签: architecture publish-subscribe mvp crowdsourcing

我是Android开发的初学者。我必须开发一个Android应用程序,它可以实现实时按需群体反馈。

这个想法是:任务生产者需要在第x天,时间y,由n个工人解决任务,所以他向系统宣布这个;工人看到任务可用时他们订阅了它;在该日期和时间,任务生产者发布发送给订阅工人的任务,他们立即解决它,并且一旦任务解决,结果就必须返回给任务生产者。

我不确定要使用哪种架构模式,这样我就可以在不使用服务器的情况下启用任务生成器和任务工作者之间的通信。

我考虑过使用MVP和发布 - 订阅来完成任务生成器和任务工作者之间的通信。这是正确的做法吗?

1 个答案:

答案 0 :(得分:1)

您必须使用服务器。如果没有中心点来回发送数据,就无法实现这一目标。您可以尝试将任务生成器用作服务器,但是您肯定会遇到连接问题,并且遇到此方法的问题。

这将要求所有消费者“知道”生产者,可能是通过IP地址。此地址会定期更改,因此您可能希望将其注册到动态DNS服务器,以便客户端可以找到它。

然后,您必须在提供程序应用程序中运行套接字服务器,以允许使用者连接和提取任务,并推送结果。

这将变得复杂,并且最终无法与手机网络很好地协作。如果有一个集中的任务数据库,并且电话充当该集中式应用程序的客户端,则会变得容易得多。

我发现这个:http://developer.android.com/guide/topics/connectivity/wifip2p.html在android上的一个纯粹的点对点架构中涉及哪个过程,这绝对是一个很好的起点。