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

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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
目录
相关文章
|
7月前
|
运维 监控 算法
优化电脑屏幕监控软件:关联规则挖掘算法的引入
在如今的职场中,电脑屏幕监控软件已经成为了许多企业的标配,用于监测员工的工作行为以提高生产力和安全性。然而,为了让监控软件发挥最大的效用,关联规则挖掘算法正在崭露头角。接下来就让我们通过以下方面来看看如何通过关联规则挖掘算法提高电脑屏幕监控软件的监视效率——
159 0
|
9天前
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
31 0
|
15天前
|
人工智能 搜索推荐 测试技术
让智能体像孩子一样观察别人学习动作,跨视角技能学习数据集EgoExoLearn来了
【4月更文挑战第11天】EgoExoLearn是一个大规模数据集,用于模拟人类通过观察视频学习任务的能力,包含120小时的日常生活和实验室场景视频,重点是第一人称视角和注视数据。该数据集提供多模态注释,设有跨视角动作理解等基准测试,旨在推动AI模仿人类行为的研究。尽管有挑战,如视角转换和多样性问题,但EgoExoLearn为AI学习和融入人类环境开辟了新途径。
19 1
让智能体像孩子一样观察别人学习动作,跨视角技能学习数据集EgoExoLearn来了
|
1月前
|
机器学习/深度学习 监控 自动驾驶
新视频分析技术TDViT发布:提升稠密视频分析效率
【2月更文挑战第16天】新视频分析技术TDViT发布:提升稠密视频分析效率
20 1
新视频分析技术TDViT发布:提升稠密视频分析效率
|
5月前
Transformer的交通流量预测 完整数据代码 整合了时间天气等多方面信息
Transformer的交通流量预测 完整数据代码 整合了时间天气等多方面信息
76 0
|
8月前
|
机器学习/深度学习 算法 计算机视觉
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
69 0
|
9月前
|
监控 算法 计算机视觉
转:九宫图算法对屏幕监控软件的精准度分析及应用场景
九宫图算法(Nine-grid algorithm)是一种用于屏幕监控软件的图像处理算法,通过将屏幕分割成九个等大小的网格区域,并对每个区域进行像素值的分析和比较,从而实现对屏幕图像的精准度分析。
80 0
|
机器学习/深度学习 算法 机器人
盘点 | 从单目标优化到多目标优化,3D 打印材料开发进入 100X 倍速阶段
盘点 | 从单目标优化到多目标优化,3D 打印材料开发进入 100X 倍速阶段
104 0
|
SQL JSON 运维
如何使用下探分析定位多维指标异常根因
在系统运维过程中,关键指标的异常变化往往意味着服务异常、系统故障等等。因此我们往往会对一些关键指标进行自动巡检,例如异常检测和时序预测等等,及时感知指标的异常变化,了解系统的健康状况。对于复杂系统来说,感知到异常后直接在系统层面根因定位可能是十分困难的。因此我们需要一些手段缩小问题的排查范围或者直接定位问题,如使用 trace 根因分析等等。阿里云日志服务上线了下探分析功能,用于多维指标异常根因定位。我们将介绍该功能的使用场景和使用案例。
478 0
如何使用下探分析定位多维指标异常根因
|
分布式计算 Java BI
报表统计_数据的区域分布_代码开发 | 学习笔记
快速学习报表统计_数据的区域分布_代码开发
106 0
报表统计_数据的区域分布_代码开发 | 学习笔记