2015-10-14 69 views
0

好的,我和一位朋友就这个问题与我们讨论了如何在安静的环境中处理数据过程。关于REST风格的服务器的想法

其主要思想是应用程序向服务器发送一个数据,该数据是设备的位置(经纬度为&长),并且预计能够找回最近的设备。

我的观点是在latlong位置确定“最近设备”的过程应该在服务器中完成,并且只需ping回最近设备的latlong即可。

朋友说过程应该是这样的..服务器会用它的latlong ping每个设备的json,然后客户端自己将确定哪个是最近的。

+0

CPU功耗与带宽使用的持续传奇。为了得到答案,你需要发布更多细节。 –

+0

这就是所有的信息。我想不出还有什么可以包括在内。编辑,该应用程序就像一个grabtaxi应用程序 – Roi

回答

2

看看这样说:

服务器是所有数据存储和处理的datahub。

客户端是从服务器获取数据,向用户呈现数据并从他那里获取输入的东西。

现在你必须考虑Seperation of Concerns。客户的工作是查看数据给用户,并接受他的输入。服务器的工作就是处理所有数据并将其转换为客户端需要对其进行最少处理的方式。

I.e.客户端从服务器获取一些数据,他现在所需要做的就是在屏幕上显示它。客户端应该有最少的数据处理。这是服务器的工作。服务器的工作是尽可能简化客户的工作。
客户端还可以在后台执行其他事情(也可能用于其他应用程序)。它的CPU不是专用于你的应用程序,而你的服务器是。

客户需要什么?最近的设备。客户向服务器询问什么? “嗨服务器,告诉我什么是最近的设备。”服务器应该返回什么?确切地说,最近的设备。不是客户必须通过自己挖掘的所有设备的列表。

+0

看到我刚刚添加的最后一段,我认为这抓住了主意 –

2

不,我认为所有的信息应该由服务器如果我理解你描述如下schenario管理...

  • 客户端发送它COORDS;
  • 服务器发送到任何设备
  • 客户端COORDS接收数据,并计算最近装置

我的问题是:为什么要在客户端计算为(可能)数千台设备的人的距离?

  • 它的阐述力不是很高;
  • 你消耗的带宽最多
  • 的任何信息都已经在收费服务器

在我心中的最好的办法是RESTful服务,其中:

  • 任何客户端周期性地发送其位置(POST )
  • 当客户端需要一定数量的邻居时,然后执行请求(GET)
  • 服务器将包含最新的数据,服务器端mpute距离,服务器创建并只发送小JSON作为响应。

这在我看来。 :)

+0

这就是我的立场。我只想要一个更可靠的证据表明这是正确的做法。 – Roi

+0

@Roi正如我所说的你应该对带宽使用,客户端性能,编辑和优化到你的算法(它只在服务器上,而不是在任何客户端上)......其他问题在“Tim Castelijns”答案中:think到多层应用程序...客户端(移动设备)负责演示:避免其执行任何不必要的操作。 :) –