轨迹系列——记某真实项目中轨迹展示查询效率优化方案三(汇总实验)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
日志服务 SLS,月写入数据量 50GB 1个月
简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.    方案整体描述 1.1存储   a.使用redis存储当天所有人员的轨迹,在当天深夜进行redis中轨迹迁移。

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.    方案整体描述

1.1存储

  a.使用redis存储当天所有人员的轨迹,在当天深夜进行redis中轨迹迁移。

  b.轨迹存储分为轨迹日志文件和历史轨迹表两部分。

  c.日志文件的存储规则为每天以日期命名新建一个文件夹,文件夹中分别建立以人员ID命名的存放该人员当天所有轨迹的文件。

  d.手机端每一次数据批量上传时,修改监督员状态表中的实时轨迹数据。

1.2迁移

       a.redis中的数据每晚进行同步至日志文件和轨迹表中的步骤,然后清空。

       b.轨迹日志文件定期迁移(建议三个月)。

       c.历史轨迹表定期备份迁移。

1.3采集

       手机端GPS采集上,通过对监督员运动场景分析调控GPS采集频率,减少冗余、无效GPS点,已在重庆多个项目中验证可以减少40%(或更多)的GPS数据量。  

1.4读取

       a.读取当天轨迹时,在redis中获取。

       b.读取历史轨迹时,在轨迹日志文件中获取。

2.核心性能点测试

2.1Redis缓存一天轨迹点性能测试

       假设1000个监督员,每隔10S上报一个GPS点,一天工作8小时,那么一天有2880个GPS点,这里,我们用整数2000个点来表示。那么一天所有人员将产生200W个GPS数据。

       根据真实项目中的考察,杭州一天大概是150W个GPS点,宁波一天大概是100W个GPS点。所以,我们测试的200W个GPS点是可以涵盖绝大部分项目场景的。

现在,我们测试如果存储一天的所有轨迹(200W个),轨迹信息只包含人员ID、X、Y、time,一共将占用多少内存空间。

  

       实验测得,一共占用了233M的内存空间。针对现在的服务器内存空间,是可以接受的。

2.2Redis数据迁移至文本中的IO测试

       这里,将Redis中的数据分别迁移至1000个人员对应的各种轨迹日志中所需的时间进行了测试:

  

                                

       单线程写入1000个日志文件只耗时37S。1000个日志文件(200W个GPS点)所占用的存储空间是109M。

       针对这个测试,数据转移至文件是没有IO瓶颈的,轨迹日志文件一个月大概占用3G存储空间,三个月是9G,可以接受。

2.3实验总结

       Redis存储一天所有轨迹数据,轨迹数据写入轨迹日志,均没有明显的性能和存储瓶颈,是可以采用的。

       并且以上我们采用的是200W个轨迹点做的测试,如果将GPS采集优化利用上,GPS数据量可以减少至100W个,那么以上所有测试效果会更好。 而目前轨迹量最大的杭州项目,利用GPS采集优化,150W的轨迹量也可以减少至100W个以下。

 

                        -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                            如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                                                                                                             

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
编解码 IDE 算法
2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路
2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路
648 0
|
数据可视化 定位技术 API
百度地图开发:海量点、测距以及定位聚合功能
百度地图开发:海量点、测距以及定位聚合功能
318 0
|
2月前
|
存储 机器学习/深度学习 数据可视化
数据集中存在大量的重复值,会对后续的数据分析和处理产生什么影响?
数据集中存在大量重复值可能会对后续的数据分析和处理产生多方面的负面影响
124 56
|
2月前
|
存储 自然语言处理 数据可视化
3倍提升效率:医疗病理信息抽取与关系图谱展示系统解析
该项目旨在通过NLP技术将医疗病理报告中的非结构化文本转化为结构化数据,实现信息的高效抽取、存储及可视化展示。利用Python、JavaScript等技术栈,结合Echarts等工具,构建病理信息的关系图谱,支持多条件检索与图表互动,提高医生及研究人员的工作效率。预期成果包括数据结构化、关系图谱可视化、快速检索及数据统计分析等功能。项目预计2-4周完成。
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
82 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
8月前
|
机器学习/深度学习 监控 自动驾驶
新视频分析技术TDViT发布:提升稠密视频分析效率
【2月更文挑战第16天】新视频分析技术TDViT发布:提升稠密视频分析效率
118 1
新视频分析技术TDViT发布:提升稠密视频分析效率
|
8月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言响应面(RSM)、线性模型lm分析生产过程影响因素可视化
R语言响应面(RSM)、线性模型lm分析生产过程影响因素可视化
|
8月前
|
搜索推荐
精准定位目标客户群并进行行为分析
精准定位目标客户群并进行行为分析
228 5
|
数据可视化 数据挖掘 Linux
转录组下游分析丨利用limma包进行差异表达分析,结果可视化绘制火山图和热图
转录组下游分析丨利用limma包进行差异表达分析,结果可视化绘制火山图和热图
|
数据挖掘
2-华大时空组学分析软件 Spateo 空转数据基础分析用法示例
本分分享了使用华大时空组学分析软件 Spateo进行聚类、DE等简单空间转录组分析的用法示例,以供参考
1099 1