物联网应用中实时定位与轨迹回放的解决方案 – Redis的典型运用(转载)

本文探讨了物联网应用中实时定位与轨迹回放的问题,提出了使用Redis作为解决方案。通过分析系统需求、应用场景和数据量,指出关系型数据库的不足,选择了Redis作为NoSQL产品。文中详细介绍了Redis的数据存储结构设计,采用SortedSet存储坐标信息,并讨论了高性能、高可靠性的部署策略。此外,还解释了如何实现标签定位的实时性和可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

物联网应用中实时定位与轨迹回放的解决方案 – Redis的典型运用(转载)
2015年11月14日| by: nbboy| Category: 系统设计, 缓存设计, 高性能系统
摘要 我们解决某个问题,很多时候并不在于你掌握了某个工具或某项技术,而在于你对该场景下该问题的本质理解。 这则博文,针对物联网应用中实时定位与轨迹回放的问题,阐述最为简要的解决之道。



目录[-]

1. 系统需求
2. 应用场景
3. 数据量估算
4. 项目难点及解决
4.1如何存储千亿级的坐标记录且便于检索?
4.1.1 关系型数据库的不足
4.1.2 NoSql产品选型
4.1.3 数据存储结构设计
4.1.3 高性能、高可靠性的部署
4.1.4 数据定期维护设计
4.2 如何实现标签定位的实时性与可靠性?
5. 最终方案示意
6. 补充(2015-11-13)–注意啦!

1. 系统需求

实时监控:系统能实时接收2000个超rfid标签的坐标信息, 然后在3D模型界面展示各标签的实时位置。
轨迹回放:系统可查询任一标签在最近1个月内的坐标信息, 然后在3D模型界面回放该标签在这个时间段内的运动轨迹。

2. 应用场景

监狱监管:给犯人配戴腕表或工牌,在腕表或工牌中嵌入rfid标签,实现对犯人行踪的实时监控、事先预警、事后回查等。如图:

输入图片说明

3. 数据量估算

1个超rfid标签在1秒内会产生10条80byte的坐标信息,即1个标签1秒的数据量是约0.8kb(坐标信息的结构为:标签id, x坐标,y坐标,z坐标,时间),以此推算:

1个标签 1分钟会产生记录数是 600条, 约54 KB
1个标签 1小时会产生记录数是3.6万条, 约3.2 MB
1个标签 1天会产生记录数是86.4万条, 约76.8 MB
1个标签 1个月会产生记录数是2.6亿条, 约2.3 GB

2000个标签 1天产生的记录数是172亿条, 约150 GB
2000个标签 1个月产生的记录数是5200亿条, 约4.4 TB

4. 项目难点及解决

4.1如何存储千亿级的坐标记录且便于检索?

如何存储海量的坐标信息,且能快速地从其中检索出指定犯人(也即标签)在某个时间范围内的坐标?

4.1.1 关系型数据库的不足

把千亿级的记录存储在关系型数据库,肯定要分库分表。如果按标签、按天分表存放,每个表存放一个标签的一天的坐标信息,那么每个表只有84.6万条记录,但有多达6万张表(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值