点击空白处退出提示
作品详情
技术要点:数据采集与传输、设备接入与协议支持、数据存储与管理、实时数据处理与分析、API接口服务化等
项目描述:物联网云平台是一款专为物联网解决方案设计的综合性软件系统,运用云计算技术将各类联网设备和传感器连接起来,实现数据的实时传输、存储、处理和分析。这赋能各行各业智能化管理和决策。物联网云平台集成了多种关键技术模块,主要功能和特性包括但不限于设备接入与管理、数据采集与传输、数据处理与分析、业务逻辑与应用开发、安全保障、可视化展示与报告、可扩展性和灵活性。
我的职责:负责家居核心应用模块的设计与开发
家居核心应用模块主要包括场景、定时、联动、布撤防四个核心功能。每个功能都包含功能配置、配置下发、功能执行和设备功能反馈。这些功能是云平台的核心功能,所有物联网设备都具备这些功能,因此需要具备高并发、高可用和高性能。以下是对这些功能的设计方案:
1. 功能配置
1)考虑到设备会频繁升级,需要对设备物模型进行版本维护。只有当设备具备当前功能时,才会下发对应的配置。
2)由于云平台设备和用户众多,场景、定时、联动、布撤防的配置也会非常大,对存储有很高的要求。因此,需要具备分布式集群存储功能。最终,我们选择了MongoDB进行存储,因为MongoDB是NoSQL数据库,自带分布式集群功能,降低了开发难度。
2. 配置下发
1)考虑到设备可能存在离线情况,配置下发需要保证设备离线时不丢失配置,且设备在线时及时下发给设备。因此,需要一个保证配置送达的机制,即同步队列。
2)同步队列由三个部分组成:配置入库、配置发送和设备应答。配置入库通过消息中间件进行削峰、解耦以及数据库持久化,保证配置不丢失。配置发送采用事件机制,确保配置及时推送。设备应答通过应答方式来保证消息发送成功。
3. 设备功能反馈与执行
1)由于数据量非常大,我们采用了消息队列进行削峰处理。
2)由于配置都是条件和动作相关的,需要在满足条件时才执行对应的动作。因此,我们采用了规则引擎实现。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论