首页 > 解决方案 > 移动应用程序之间的无缝 GPS 位置数据传输

问题描述

我知道我们可以将第一个移动 GPS 数据存储在数据库中并从第二个设备中检索。但是每一步都这样做似乎效率不高。

  1. 有没有更好的方法来无缝传输这些数据?
  2. 另外,请建议存储这些数据以获取路线历史的最佳方式。

谢谢

标签: androidios

解决方案


因此,将数据存储在基于云 NOSQL 文档的数据库中,例如 Firebase 的 Cloud Firestore 或类似数据库(也请查看 MongoDB 的产品)。NOSQL 数据库旨在非常有效地接受数据。

此外,计划在传输数据之前将数据本地缓存一段时间。也许每一分钟都值得?每10分钟的价值?只要您的需要可以接受,就延迟。

计划支持将数据传输到云的重试机制,因为移动设备经常无法访问网络。

Cloud Firebase 的客户端 SDK 只需几行代码即可处理上述所有内容,并且可以非常轻松地在云中设置免费帐户。我相信 MongoDB 很快也会在客户端使用 Realm 做同样的事情。(我目前在我的应用程序中同时使用 Cloud Firestore 和 Realm db)。

iOS 和 Android 均支持上述所有 SDK,您也可以在云功能中处理 GPS 数据……甚至将数据发送到 Google Data Studio 并进行绘图。

至于如何最好地存储数据然后剔除路线历史,我想这取决于您的“路线历史”的需求是什么。至少,我会存储(原始位置修复的)时间戳、纬度、经度和水平精度。我还将包括云接收数据时的服务器时间戳,因为它可能是几天后......这可以帮助您的路线历史记录,以便您了解是否稍后为更早的时间戳注入数据。

考虑以块的形式发送数据(一组缓存的 GPS 读数),而不是将其合并到云中的现有表中。这样应该会更快。您以后可以随时将数据从 NOSQL 数据库通过管道传输到 SQL 数据库以对其进行组织和过滤。(例如 Cloud Firestore -> Bucket -> BigQuery -> Data Studio)

如果您想进一步讨论上述任何内容,请参阅我的个人资料以了解如何在 Slack 上与我联系。


推荐阅读