一种环境噪声在线监测与评价系统架构
2021-03-24刘亮
1系统概述
2011年6月30日,京沪高速铁路正式通车运营,亿万民众的目光再次聚集到高速铁路上来,同时,高速鐵路的建设和运营给民众的出行带来了巨大的便利,但是高铁产生的噪声对附近居民的影响也应当引起我们的重视。 针对以上问题,对高铁运行区域内的特定小区噪声的变化进行定期跟踪和监控,将噪声数据进行统计分析,把握噪声变化的趋势,以及时有效地采取具有针对性的噪声预防措施,对噪声的治理具有积极意义。
本系统为基于物联网与大数据信息技术构建的物联网应用系统。系统设计围绕《环境噪声在线监测与评价系统项目-需求规格说明书》和《中华人民共和国国家环境保护标准-环境噪声自动监测系统技术要求》开展,并遵循可扩展性原则、健壮原则、安全原则等物联网体系架构设计的基本原则。
1.1 性能要求
(1) 支持100个用户并发。
(2) 支持500台采集终端,2000个采集单元同时在线。
(3) 消息处理约5200万条/天的数据上行,平均处理消息数约600条/秒。
(4) 单个页面访问加载数据不超过3s。
1.2安全要求
(1) 数据安全
①数据节点无单点故障,数据可恢复。
②数据访问有认证或授权机制。
③网关数据安全,确保不丢数据。
(2)应用安全
实现身份认证,并基于用户的权限分配和数据隔离;对用户的操作日志进行详细记录、日志审计。
2 技术选型与架构
从总体业务业务场景分析,该系统技术架构分为边缘层、网关与平台层、接口层以及应用层,技术架构明细见图2-1。
(1)边缘层包含DaqDevice驱动、MQTT-Client、以及numpy等python计算组件与C动态库,实现数据采集与边缘计算,以及数据传输等。
(2)平台层部署MQTT代理、缓存、mongodb集群等,实现回传数据的解析、缓存、入库以及离线/实时计算、指令下行通道等功能,并为接口层提供数据基础。另为保障平台的稳定性,采用Ngnix实现负载均衡,采用keepalived实现服务端数据接收双活,保证平台接入能力。
(3)接口层采用Python Tornado实现Restful API接口服务,给应用层提供具体的数据查询接口与指令下行接口。
(4)应用层采用thinkphp框架实现,并使用echarts完成数据可视化,满足客户侧用户数据展示与分析需求以及管理用户的管理需求。
3数据运行架构
(1) 上行数据运行架构:
上行数据通过互联网由采集终端回传至数据平台完成持久化,采用消息订阅与发布模式(MQTT)实现。
为确保数据不丢失或平台异常时数可恢复,流入网关数据进行日志记录,为保障网关效率,以及满足实时监测需求,解析后数据存入内存数据库(redis)中。
数据流向及存储如下图:
(2) 下行数据运行架构
数据下行即指令下发,控制数据采集终端实现程序及参数配置文件的更新,下行指令采用消息与订阅模式实现。
用户从管理后台发起指令,通过调用指令下行接口生成参数配置文件,并调用指令服务,发布指令消息,采集终端订阅消息执行指令,从服务器下载最新程序及参数配置文件。
指令执行流程及数据与文件存储如下图:
4总结
经测试,该系统能够达到100用户并发和2000个采集单元同时在线的性能要求,各采集单元的有效采集率在95%以上,数据安全和应用安全方面也达到了相关要求,系统能够运行良好。
简介:刘亮,长沙民政职业技术学院,讲师,研究生,硕士,研究方向:大数据分析与处理。