实时跟踪系统



我的客户有1000辆出租车,他想跟踪每个出租车的位置并查看他的显示。我的问题是如何使用司机移动设备跟踪所有出租车信息。我正在使用mongoDb作为数据库。我计划使用开发一个api和移动设备在10秒后发送他们的位置来解决这个问题。但问题是服务器在那段时间非常繁忙,无法使用api正常工作。我实时看到了firebase商店的客户信息。我需要知道使用mongodb可以像firebase数据库一样工作。

我使用nodejs进行后端开发。如果有人知道如何存储实时数据,请帮助

您无法(一般来说(实时跟踪出租车,问题是您的互联网连接可能由于GPS信号低而较差,有时延迟非常低,甚至停机。相反,设计两个独立的应用程序:

  1. 一个,它将在本地FIFO队列中存储当前GPS位置
  2. 第二,将队列刷新到远程服务器

这种方法将确保您最终接收所有位置,而不必担心丢失的数据包和可能发生的其他问题。

您可以考虑使用UDP(或更好的DTLS(来代替TCP连接,后者速度更快,但可靠性较低。如果可靠性是必须的(如果只是出租车就怀疑它(,那么就选择TCP(或更好的TLS(。您将如何发送或接收数据只是一个细节。

此外,请确保在存储任何数据之前对设备进行身份验证,尤其是在设备之间的连接不安全的情况下。

您可以将Firebase用作实时数据库。请查看此链接:https://github.com/firebase/geofire

但如果你想使用MongoDB,你可以使用MongoDB地理空间查询,并使用socket.io来实现实时行为。有关更多详细信息:https://docs.mongodb.com/manual/geospatial-queries/

您可以使用https://socket.io/用于实时跟踪系统。它是一个用于实时web应用程序的JavaScript库。

您只需要配置MongoDB。有很多博客可以向你解释如何使用MongoDB设置socket.io。

其中一些是。。。

  1. http://blog.slatepeak.com/creating-a-real-time-chat-api-with-node-express-socket-io-and-mongodb/
  2. https://blog.feathersjs.com/building-a-rest-and-real-time-api-with-express-feathers-and-mongodb-12071e5417e1

我认为您将在前端实现跟踪但这不是一个好方法,也不安全,因为司机可以实时发送虚假请求您可以使用websocket方法来实现出租车的实时检查请检查此链接

我想这种方式与你的想法相似我希望这种方式对你有好处感谢

最新更新