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

本文涉及的产品
云数据库 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
目录
相关文章
|
开发者 Python
综合案例3-增加模型数据 | 学习笔记
快速学习综合案例3-增加模型数据
134 0
|
3月前
|
存储 自然语言处理 数据可视化
3倍提升效率:医疗病理信息抽取与关系图谱展示系统解析
该项目旨在通过NLP技术将医疗病理报告中的非结构化文本转化为结构化数据,实现信息的高效抽取、存储及可视化展示。利用Python、JavaScript等技术栈,结合Echarts等工具,构建病理信息的关系图谱,支持多条件检索与图表互动,提高医生及研究人员的工作效率。预期成果包括数据结构化、关系图谱可视化、快速检索及数据统计分析等功能。项目预计2-4周完成。
|
9月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言响应面(RSM)、线性模型lm分析生产过程影响因素可视化
R语言响应面(RSM)、线性模型lm分析生产过程影响因素可视化
|
3月前
|
开发框架 数据可视化 数据挖掘
进度追踪数据如何驱动决策?看板工具的隐藏优势
2分钟了解看板管理如何优化进度追踪。
56 6
进度追踪数据如何驱动决策?看板工具的隐藏优势
|
新零售 数据可视化 大数据
数据增长第一步:选择“最优”的埋点采集方式
本文讲的是数据增长第一步:选择“最优”的埋点采集方式【IT168 评论】在这一个大数据的时代,凭经验拍脑门的决策方式已成过去,数据的重要性不言而喻,数据分析的第一步就是从数据源头做好采集工作,我们今天的主题:数据埋点。
5512 0
|
BI
《BI项目笔记》历年外观质量均值变化分析Cube的建立
原文:《BI项目笔记》历年外观质量均值变化分析Cube的建立 分析主题主要维度:烟叶级别、烟叶级别按等级信息、烟叶级别按分级标准(标准维度)产地(父子维度)检测时间(时间维度,以Tqc_Raw_PresentationQuality .
925 0
|
5月前
|
数据采集 存储 关系型数据库
选择合适的数据收集方式,需要考虑多个因素,
选择合适的数据收集方式,需要考虑多个因素,
182 5
怎么来看游戏常规指标数据_I
前些天,写了一篇游戏数据分析的内容,大家的反响效果不错,可能内容有些简陋,有些小白,的确,在游戏BI之外,可能BOSS或者旁观者只能去关注这些指标性的数据,并问一些问题,而这是对于运营人员最要命的,因为要在很短的时间内去反馈和分析这些指标数据背后的问题。
909 0

热门文章

最新文章