点击空白处退出提示
物联网云平台dashboard
我要开发同款作品详情
功能模块:
设备管理:远程操作所有设备,包含配置、升级等
组织管理:组织、角色、账号、权限管理
数据大屏:展示设备地图、海量数据统计、趋势等实时展示
数据同步:设备某数据与云平台某数据同步
其他功能:海量某数据管理、授权管理、厂商管理、审计日志、导入导出、配置历史等
项目描述:
本项目我担任开发负责人
开发负责人角色。
公司生产以及出售多种型号的物联网设备,
通过MQTT通信协议与云平台进行通信,
支持两种数据格
式protobuf和json,我设计并实现了mqtt应用层协议。平台主要是为了服务于客户方便管理已购设备,
以及公司内部售后人员使用。
难点攻克:
1、设备上报的数据量非常大,且这个数据是需要查询展示以及统计的,所以选择了clickhouse数据库存
储这部分数据,很好的解决了大数据量统计的性能问题。
2、大量的数据需要导入导出,所以做了一个任务中心,导入导出用消息队列异步执行,可以在任务中心查
询进度,导出结果非常大,所以会上传到oss给用户下载。
3、设备某数据同步,逻辑为在云平台增加数据后自动同步到设备,设备增加的数据同步到云平台。因为设
备数量较多,考虑到性能问题,实现了虚拟设备影子,大致方案就是在数据库存储设备数据日志,后台同
步进程进行异步同步。日志更新:把虚拟设备影子数据新增、修改日志下发到设备;全量更新:采用数据
比对使用id分块md5算法高效的对比出有区别的数据,下发批量删除操作。同时使用了协程池控制并行
同步任务过多导致服务器负载过高。
4、设备网络经常不稳定,
导致进入设备配置模块比较卡顿影响体验,
因为设备异常离线需要等待心跳包才
能知道设备离线,所以通过请求设备超时控制+缓存解决问题,如果超时就返回最后一次成功存储的缓存。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论