分布式文档数据库MongoDB在云起智控智慧照明平台中的应用

云起智控物联科技(武汉)有限公司
2022-10-04

一、引言


智慧城市照明管控体系中,海量智能照明控制器持续上报电气参数、环境光照、设备故障、在线状态、能耗时序等多类型数据,不同型号控制器上报字段存在差异,数据总量随项目规模快速膨胀。传统关系型数据库采用固定表结构,面对设备多样化、高频时序写入、多维度灵活查询的业务场景,存在表结构频繁变更、海量数据查询缓慢、横向扩容成本高等短板。MongoDB作为分布式文档型非关系数据库,采用BSON灵活文档存储、原生时序集合、分片集群、副本集高可用架构,完美适配物联网海量异构数据存储需求。


云起智控智慧照明管理平台以阿里云ECS集群为算力底座,采用MongoDB分布式集群承载全量照明业务数据,统一存储设备时序采集数据、故障告警记录、项目资产档案、控制操作日志、GIS地理点位、节能统计报表等多类异构信息,依托无模式文档、自动分片、副本集容灾、强大聚合查询能力,解决海量照明数据存储、检索、分析的核心痛点。本文结合MongoDB技术特性与云起智控平台落地实践,从MongoDB核心适配优势、平台集群部署架构、多类型照明数据存储方案、数据处理与运维机制、行业落地价值五大板块展开论述。


二、MongoDB适配智慧照明平台的核心技术优势


智慧照明平台数据具备高频写入、结构不统一、时间序列主导、海量存储、多维度灵活检索五大特征,MongoDB的原生设计完全匹配业务需求,对比传统关系数据库具备六大核心优势。

8205f063674c1944668e0719d93bf1d1.jpeg

(一)无模式BSON文档存储,兼容多型号控制器异构数据


MongoDB采用模式自由的BSON二进制文档格式存储数据,无需提前定义固定数据表字段。云起智控产品线包含8路、12路、16路、20路多回路控制器、单灯控制器、三遥路灯模块,不同硬件上报采集参数存在字段差异,部分设备仅上传基础电流电压,高端设备同步上传光照、功率因数、回路调光档位。使用关系数据库需频繁新增数据表字段,而MongoDB同一集合内可存放结构不同的设备上报文档,设备迭代新增采集参数无需修改底层存储结构,大幅降低平台迭代开发工作量。文档支持嵌套数组结构,可一次性存储单台控制器多路回路完整数据,简化数据建模逻辑。


(二)原生时序集合优化海量照明采样数据读写


MongoDB5.0及以上版本内置原生时间序列集合,专门针对物联网按时间产生的传感器数据优化存储。城市道路、园区控制器每分钟上报一次电气时序数据,大型城区每日产生数千万条采样记录,时序集合采用列式压缩存储,磁盘占用相比普通集合降低九成,同时自动建立设备编号加时间复合索引,按路段、时段查询能耗趋势、电压曲线时检索速度提升十倍以上,完美支撑平台数据可视化图表实时渲染需求。平台可配置数据自动过期策略,短期原始采样数据存储三个月后自动清理,长期统计汇总数据永久留存,实现数据生命周期自动化管理。


(三)分布式分片集群支撑百万级设备水平扩容


MongoDB支持自动分片机制,可将海量照明数据按照设备编号、项目区域拆分至多台分片服务器。区县小型项目单分片集群即可承载,市级全域照明项目可横向新增分片节点,存储容量与读写性能同步线性提升,无需更换整套数据库硬件。分片均衡器自动分配数据存储位置,避免单节点数据堆积造成读写卡顿,支撑城市十万级照明控制器同时并发上报数据,解决传统数据库单服务器存储上限瓶颈。


(四)副本集架构保障照明数据高可靠不丢失


MongoDB集群采用一主两从副本集部署,每一份片节点均配备冗余备份实例。主节点负责数据写入,从节点实时同步完整数据,当主服务器硬件故障、网络中断时,集群三十秒内自动将从节点升级为主节点持续提供读写服务,无业务中断风险。所有采集能耗、故障告警数据多副本持久存储,配合定时快照备份,硬件损坏、误删操作均可完整恢复,满足市政照明能耗审计、故障溯源的数据留存规范要求。


(五)强大聚合与地理索引适配多维度照明数据分析


MongoDB内置完整聚合管道、MapReduce计算工具,无需依赖外部大数据引擎,即可直接完成分路段、分时段能耗汇总、故障频次统计、亮灯时长核算。同时支持2dsphere地理空间索引,平台GIS地图中存储每台控制器经纬度点位,可快速检索指定片区、道路范围内所有灯具设备,实现区域批量调光、片区故障统计,传统关系数据库地理查询需要复杂关联运算,性能差距显著。


(六)多语言驱动无缝对接嵌入式与云端服务


MongoDB提供Java、Python、C++全主流开发语言驱动,云起智控平台后端业务程序基于Java开发,可便捷完成数据库读写;边缘嵌入式Linux控制器通过MQTT网关转发数据,网关服务采用Python批量写入MongoDB,前后端统一数据存储介质,减少数据转换中间环节,降低数据延迟与开发成本。


三、MongoDB分布式集群在云起智控平台部署架构


云起智控基于阿里云ECS弹性服务器搭建三层MongoDB分布式集群,分别为分片数据节点、配置服务器、路由均衡节点,配套专有网络内网高速通信,区分公有云项目集群、私有专属集群两类部署方案。


(一)集群三层核心组件分工


1.路由Mongos节点


部署三台Mongos路由实例,对接平台设备接入网关、Web后台、APP接口服务,所有数据库读写请求统一由路由节点分发至对应分片,自动屏蔽分片底层细节,业务程序无需感知数据存储物理位置。三台路由负载均衡分担并发请求,设备上报数据高峰时段无读写阻塞。


2.Config配置服务器


部署三台独立配置节点,统一存储分片规则、集合索引、数据分布元信息,三节点互备保障分片规则不丢失,集群扩容新增分片节点时自动同步配置,无需人工修改参数。


3.Shard分片数据副本集


根据项目规模部署三至六组分片副本集,每组采用一主两从三节点架构。分片键采用项目编号加设备ID复合规则,同一区县、同一路段控制器数据存储至相同分片,区域查询仅访问对应分片,减少跨节点数据扫描开销。小型园区项目部署三组分片,百万级城市全域项目扩展至六组分片,弹性新增ECS实例即可扩容存储能力。


(二)双部署模式适配不同项目安全需求


第一种公有共享Mongo集群,面向区县市政、中小型园区改造项目,多客户项目数据通过项目ID逻辑隔离,分片资源按需分配,降低客户平台使用成本,按月按量结算云服务器算力存储费用。


第二种私有独占Mongo集群,面向大型城市主干道、文旅亮化、政府园区项目,客户独享整套分片、路由、配置ECS实例,专有网络完全隔离,数据不与其他项目混合存储,满足政务数据本地留存、信息安全管控规范。两类集群底层分片、副本集架构完全统一,仅资源隔离等级存在差异。


(三)配套缓存与消息队列协同优化写入性能


平台在MQTT设备网关与MongoDB集群之间增加消息缓冲队列,控制器高频上报的时序数据先存入队列批量写入数据库,避免单条数据频繁插入造成集群IO压力。热点设备实时状态、在线时长数据同步存入内存缓存,前端页面高频查询优先读取缓存,仅统计、溯源场景访问MongoDB,大幅降低数据库读写负载,保障百万设备并发上报稳定运行。


四、MongoDB多集合分类存储各类照明业务数据


云起智控按照数据用途、数据特性划分六大MongoDB独立集合,采用时序集合存储采样数据,普通文档集合存储设备资产、日志、告警档案,实现数据分类隔离,提升查询与维护效率。

智慧平台.jpg

(一)设备时序采集时序集合


采用MongoDB原生时序集合存储控制器每分钟上传电气与光照数据,文档元数据存储设备编号、回路数量、项目路段,时间字段为上报时间戳,数值字段包含电压、电流、有功功率、累计能耗、环境照度、调光档位。集群按小时自动聚合汇总小时、日能耗数据归档,原始细粒度采样数据设置九十天自动过期清理,释放磁盘存储空间,汇总统计数据永久留存用于年度节能报表生成。依托时序列式压缩特性,十万台灯具全年汇总数据仅占用数百GB存储,大幅降低云存储成本。


(二)故障告警文档集合


存储所有设备异常事件,文档包含故障发生时间、设备ID、故障回路、故障类型、故障时电气参数、处置状态、运维人员处理记录。数据无固定上报周期,故障触发实时写入,支持多条件复合查询,运维人员可按时间段、故障类型、路段检索历史告警,统计区域灯具故障率,预判设备老化更换周期。集合单独建立故障类型、时间复合索引,百万条告警记录检索响应时间控制在百毫秒以内。


(三)设备资产档案集合


存储项目基础静态数据,文档嵌套多层BSON结构,包含项目名称、道路路段、控制器硬件型号、安装经纬度、回路配置、通信4G卡号、设备出厂参数、维保记录、GIS地理坐标。利用MongoDB地理索引,平台GIS大屏可快速圈选指定范围所有控制器,批量下发调光、场景切换指令,无需多表关联查询,简化地图可视化底层逻辑。设备资产数据更新频率低,采用副本集多副本永久保存,作为项目数字化电子档案长期留存。


(四)远程控制操作日志集合


记录所有云端下发操作,包含管理员账号、操作时间、目标设备、执行指令(全开、半亮、分段调光、场景切换)、指令执行结果。用于平台操作审计,追溯人为调控记录,满足市政照明管理责任追溯要求,文档结构统一,支持按账号、操作时段快速检索历史操作记录。


(五)场景预案配置集合


存储管理人员自定义照明策略,包含经纬度亮灯规则、节假日方案、深夜调光阈值、阴雨天光照触发参数。不同园区、路段差异化策略存储为独立文档,断网时控制器从云端同步预案本地存储,云端可批量修改全域场景参数,MongoDB批量更新接口一次性完成上万台设备预案同步,效率远高于传统分条更新方式。


(六)系统用户与权限集合


存储平台管理员、运维账号信息、角色权限、项目访问范围,文档嵌套权限数组,区分浏览、控制、设备配置、数据导出四类操作权限,无固定字段限制,新增细分权限无需调整集合结构,适配不同城市管理部门分级管控需求。


五、MongoDB集群运维与数据处理保障机制


(一)自动化数据备份与故障自愈


集群每日凌晨自动生成全量快照备份,存储至阿里云对象存储OSS,保留三十天备份文件,分片节点磁盘损坏、数据误删时可快速恢复对应集合数据。副本集故障自动切换全程无需人工介入,运维平台实时监控分片节点CPU、磁盘、内存负载,存储占用达到阈值自动推送扩容告警,提前新增ECS分片节点避免数据溢出。


(二)读写性能动态优化机制


针对时序采集高频写入场景,Mongos路由开启批量插入聚合功能,网关缓存多条设备数据一次性写入分片,减少数据库IO交互次数。系统定时自动清理过期原始采样数据,平衡磁盘占用;针对前端报表、大屏聚合查询任务,路由自动分发至从副本节点执行读操作,主节点仅承载设备实时写入请求,读写分离避免查询阻塞数据上报流程。


(三)数据安全防护体系


MongoDB集群关闭公网直接访问,仅通过专有网络VPC内网与平台ECS服务通信,账号采用高强度密码加访问白名单双重管控,仅平台后端服务可连接数据库。所有写入文档敏感设备编号、通信密钥加密存储,防止数据泄露;分片之间数据同步传输开启TLS加密,规避内网数据窃取风险,符合市政基础设施数据安全规范。


(四)适配云边协同数据流转逻辑


边缘嵌入式控制器本地缓存断网采集数据,恢复4G通信后批量上报至MQTT网关,网关批量写入MongoDB时序集合,完整保存离线时段所有能耗、故障记录,不存在数据断层。云端依托MongoDB聚合能力完成跨设备、跨片区大数据分析,生成节能优化方案下发至边缘控制器,形成边缘采集、云端存储分析、双向调控的数据闭环。


六、MongoDB分布式数据库落地综合行业价值

云起智控产品宣传画册_39(1).jpg

(一)灵活数据模型降低平台迭代成本


传统关系数据库每新增一类采集参数、设备属性都需要修改数据表结构,涉及全量数据迁移,开发周期长。MongoDB无模式文档特性支持设备硬件迭代、业务功能拓展无需改动底层存储集合,8路简易控制器、20路大功率控制器、单灯模块数据可统一存入一套集群,一套存储架构覆盖全产品线,平台版本迭代开发周期缩短四成,减少数据库改造人力投入。


(二)分布式弹性扩容支撑城市照明规模化发展


随着城市更新推进,照明控制器接入规模从几千台增长至十万台级别,MongoDB分片集群可在线新增ECS分片节点,存储、读写性能同步线性提升,无需停机迁移全部数据。对比自建固定物理数据库服务器,无需提前预留数倍硬件冗余资源,云端按需扩容大幅降低前期一次性硬件投入,适配十五五智慧城市持续扩容需求。


(三)时序压缩存储大幅削减云端存储开支


城市照明每日产生数千万条时序采样数据,MongoDB原生时序集合列式压缩技术相比传统数据库存储占用降低九成,同等数据量下云磁盘采购成本下降七成;搭配TTL自动过期清理机制,短期原始数据自动释放空间,仅保留汇总统计数据长期存储,平衡数据溯源需求与存储预算,中小型区县项目年度云存储费用控制在较低水平。


(四)高可用架构保障照明业务不间断运行


副本集自动故障切换、多副本数据备份机制,彻底解决单服务器宕机造成平台数据丢失、管控失效问题。即便单分片ECS实例硬件故障,从节点快速接管读写,前端GIS地图、远程控制、故障告警功能不受影响,全年平台数据服务可用性达到99.995%,保障城市夜间照明不间断数字化管控。


(五)强大聚合与地理能力支撑精细化智慧治理


依托MongoDB聚合管道、地理索引能力,平台无需额外搭建独立大数据分析引擎,直接基于存储数据生成能耗报表、故障统计、片区照明热力图,快速定位高能耗路段、高频故障点位,为市政节能改造、设备维保提供量化数据支撑。批量设备筛选、全域策略同步功能提升管理人员运维效率,人工巡检频次下降七成,有效降低城市照明运维人力成本。


七、总结

产品宣传画报 800.jpg

MongoDB分布式文档数据库是云起智控智慧照明平台核心数据存储底座,凭借无模式BSON文档、原生时序集合、分片横向扩容、副本集高可用、聚合地理查询五大核心能力,完美解决海量异构照明时序数据、故障档案、设备资产、操作日志统一存储与高效检索难题。平台基于阿里云ECS搭建三层MongoDB分片副本集群,区分公有共享、私有独占两类部署模式,按业务数据类型划分独立集合,配套消息队列、读写分离、自动备份、TTL生命周期管理完整运维保障机制,构建稳定高效的全域照明数据资源池。


在智慧城市照明数字化升级进程中,MongoDB打破传统关系数据库结构僵化、扩容受限、海量时序数据性能低下的瓶颈,兼顾低成本弹性扩容、高可靠数据留存、灵活业务迭代、多维度智能分析多重价值,支撑云起智控平台实现百万级照明终端统一管控、精细化能耗分析、自动化故障预警、全域批量调度核心业务。未来随着城市照明接入设备持续增长、AI本地分析业务拓展,MongoDB分片集群可持续横向扩容,依托其开放生态进一步融合大数据分析工具,持续挖掘照明海量数据节能、运维治理价值,成为城市物联网基础设施标准化存储解决方案。



分享