7

我正在开展一个项目,该项目需要我存储每秒发送其位置的 GPS 设备的历史记录。当 GPS 设备处于活动状态时,应用程序必须保存并最终显示跟踪的路线。

我主要关心的是保存所有这些数据。拥有多个设备并始终保存其所有位置似乎是一项艰巨的任务。

我将如何存储和检索位置。将所有这些存储在数据库中对我来说听起来不合逻辑。我将不胜感激任何帮助。

提前致谢

4

4 回答 4

4

如果位置发生了变化,那么只存储一个位置是有意义的。GPS 设备毕竟不是不断移动的。

您还必须考虑以下问题:

  • 我会将这些数据存储多长时间?那么我可以回收数据点吗?
  • 如果我只存储更改,我应该存储增量(不推荐)还是实际位置?
  • 我如何在最少的空间中存储位置,同时仍然能够使用数据有效地计算行进路径(如果需要)、绘制地图等等

基本上 - 您必须查看这些数据将用于的所有要求,然后再将它们全部放在一个盒子里......

于 2013-07-21T20:21:08.480 回答
2

您是否需要为此路由数据创建报告?如果是,则必须保留数据。

我可以想到几个选项来保存这些数据。

  1. 使用Ms. Enterprise Library 中的 Cache 块
  2. NoSQL 数据库

NoSQL 数据库,例如db40。Key/Value Storage 更适合在这里使用。

  1. 轻量级数据库。 SQLite谷歌的 LevelDB。

频率 - 最初我会选择每半英里存储一次数据。即计算第一个记录位置到第二个位置之间的距离

于 2013-07-21T20:33:16.437 回答
1

了解要求很重要!

一般来说,将数据存储在数据库中对我来说听起来不错。关系数据库还是无 SQl 数据库是更好的解决方案取决于您的要求。

数据库旨在存储和检索数百万条记录。也许您可以在数据库中使用分区。如果您能够按时间对数据进行分区,那么您的旧数据不会影响对具有实际数据的分区的操作。

于 2013-07-21T20:56:07.107 回答
0

我认为dynamodb可以适应。它是亚马逊服务,主要用于繁重的读写操作。

于 2015-06-22T16:46:59.433 回答