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

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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/

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

                                                                                                                             

目录
相关文章
|
编解码 Linux 计算机视觉
ffmpeg硬编解码 Inter QSV
ffmpeg硬编解码 Inter QSV
1437 0
|
5月前
|
消息中间件 监控 供应链
实时库存同步接口技术详解
本文详解实时库存同步接口的设计与实现,涵盖核心概念、技术方案、常见挑战及最佳实践,结合Python示例,助力开发者构建高效、可靠的电商库存系统。
460 0
|
9月前
|
编解码 自然语言处理 异构计算
长视频压缩免费,最快ShanaEncoder免费视频压缩软件下载
ShanaEncoder是一款基于FFmpeg开发的免费开源音视频编码工具,支持多格式转换(如RMVB转MP4、AVI转MPEG等)、字幕叠加、裁剪、H.264(High 10)编解码等专业功能。具备图形界面友好、操作便捷的特点,支持多核CPU加速和快速批量处理,适合从初学者到专业人士的广泛需求。软件兼容Win7-11系统,对B站视频上传优化友好,同时提供硬件加速与多线程处理功能,大幅提升编码效率。
898 2
|
存储 自然语言处理 API
如何将DVD转ISO文件?完整指南与最佳工具推荐
如何将DVD转为ISO文件?完整指南与最佳工具推荐 ISO文件是光盘的1:1数字副本,包含所有数据。将DVD转为ISO便于备份、存储和高质量播放。使用DVDFab、MakeMKV等工具,简单几步即可完成转换并上传至阿里云OSS,实现高效管理与访问。
1619 1
|
12月前
|
监控 中间件 Go
免去繁琐的手动埋点,Gin 框架可观测性最佳实践
本文将着重介绍 Gin 框架官方推荐的几种可观测性方案并进行对比,从而得出 Gin 框架可观测性的最佳实践。
|
存储 关系型数据库 PostgreSQL
PostgreSQL有何特点?
【8月更文挑战第5天】PostgreSQL有何特点?
766 6
|
网络协议 安全 网络安全
OSPF DR BDR选举:网络稳定性的关键角色
【4月更文挑战第22天】
963 0
|
前端开发 应用服务中间件 Linux
使用阿里云服务器部署前端项目
使用阿里云服务器部署前端项目,完成后可通过服务器域名访问网页
2901 0
使用阿里云服务器部署前端项目
|
Web App开发 监控 中间件
【开源视频联动物联网平台】视频接入网关的用法
【开源视频联动物联网平台】视频接入网关的用法
1054 1
|
前端开发 JavaScript Java
主流编程语言介绍
本篇文章在第一部分中说明了其中五个编程语言(Python,Java,JavaScript,Go,PHP)的作用概述,并在第二部分中给出了两个Python和PHP的学习网站,详情请看正文。
1050 3
主流编程语言介绍

热门文章

最新文章