我工作的一个Android应用程序,它会跟踪车辆的位置,并发送经纬度点,每秒又一春的webapp点击按钮后,“开始车速”来的经纬度路线路径。 我需要存储此位置以便在Google地图中呈现,以在地图上显示车辆的实时位置。它工作正常,但是,我必须存储所有获取的点,以便显示驱动程序在应用程序中单击“停车”时所遍历的完整路线。如何有效地存储从Android应用程序
我已经应用了以下策略,但似乎都效率低以及太消耗资源:
- 商店位置列表中的服务器端,当每个当前的位置请求到达并保留在参数servletContext。继续更新收到的每个点的清单。问题:对于一个小时左右的行程,收到太多的积分,并且它们会占用大量的内存。如果服务器关闭或某事崩溃,servletContext消失,整个数据也消失了。
- 存储(使用PostgreSQL)在数据库表行的位置。问题:什么时候应该在DB中保存条目?然后做数据库事务+消耗那么多的数据库空间?代价很高,对吗?
- 不要存放在服务器端所有的位置,只要保持当前的活地图。而是在android应用程序端保存位置列表,并在驱动程序选择停止车辆时将其发送到服务器。问题:从服务器端听起来很公平,但android手机能够处理那个非常大的列表,然后通过电话向服务器发送?
- 使用Hibernate和的Ehcache。我应该考虑吗?
我一直坚持如何有效地做到这一点,通过占用最少的资源,并且降低生产服务器成本。
任何帮助,将不胜感激两个机器人,服务器和整个方法完全:)
*“使用休眠和ehcache”* ...它与当前问题 – ben75