通用型数据网关的空气悬浮风机云平台设计与实现
2022-10-19麻凯雄郑海宁
麻凯雄,郑海宁
(航天海鹰安全技术工程有限公司,北京 100074)
0 引 言
随着计算机信息技术的飞速发展,信息管理系统被广泛应用于各个领域,相比于传统人工管理方式,使用计算机进行信息管理具有无法比拟的优势:数据处理效率高、数据查询快速准确以及信息便于长期保存等。近年来,越来越多的城市开启了“智慧城市”的建设热潮。在线监测类系统作为“智慧城市”的重要组成部分,其数据处理的一般流程为:数据采集、数据存储、数据计算及数据调用。其中,数据采集和存储为整个流程的基础部分,能否实现快速的数据采集和高效的数据存储,将直接影响整个信息系统的工作效率。此外,开发“智慧城市”在线监测类系统时,每次都将数据采集和存储模块进行重新设计与实现,造成单个系统的开发速度慢、周期长,开发效率低下。
在空气悬浮风机云平台设计实现过程中,本文针对以上在线监测类系统开发中存在的问题,在软件复用思想下,设计实现基于ActiveMQ消息中间件和协议解析模型库的通用型数据网关,并设计了OpenTSDB时序数据库,更在此基础上,设计实现了空气悬浮风机云。
1 系统设计
1.1 云平台框架体系结构
云平台系统框架体系结构如图1所示。系统主要包括物联感知层、数据层、中间层和应用层。风机DTU设备借助Modbus TCP协议传输风机运行参数数据,通用型数据网关接收参数数据,完成数据解析工作后,将数据推送给ActiveMQ消息中间件和OpenTSDB时序数据库。为降低系统耦合性,设计实现通用型数据网关,并将其作为独立系统部署于数据网关服务器上。
图1 系统框架体系结构
1.2 云平台功能设计
图2所示为空气悬浮风机云平台功能模块组织结构,云平台主要划分为数据采集与通信、风机数据实时监测、数据统计与分析、风机历史数据查询、风机销售管理、风机设备管理、报警模块管理和系统管理。数据采集与通信模块负责风机运行参数数据接收、协议解析、预处理、数据推送;风机数据实时监测通过一张图和列表的方式,将数据采集与通信模块处理后的风机实时运行参数数据展示给用户;风机历史数据查询模块支持用户自由选择风机运行参数,查询风机历史数据;报警模块管理包括报警信息查看、报警信息的确认和处置等。
图2 系统功能模块组织结构
1.3 通用型数据网关设计
数据采集为设备、传感器在线监测类系统中的关键模块,将其与在线监测类系统作为一个整体进行开发,使得系统耦合性高、可复用性差,导致系统开发周期长、效率低下。为此,本文单独设计了基于ActiveMQ的通用型数据网关,解决在线监测类系统中的数据采集问题。通用型数据网关设计模型如图3所示。
图3 通用型数据网关设计模型
为提高数据网关的普适性,使其支持多种协议解析,设计了协议解析模型库,支持多种协议的动态添加。设备、传感器产生的流式数据经过通用型数据网关中相关协议解析模型解析,将解析后的风机实时监测数据推送至ActiveMQ消息中间件。通过ActiveMQ,应用程序可直接获取中间件消息队列中的风机实时监测数据,无需与数据库交互,极大降低了用户的响应延迟。此外,通过ActiveMQ消息中间件可实现通用型数据网关与应用程序间的解耦。
1.4 数据库设计
在实际风机运行数据采集时,需要采集的风机参数数量多,并且不同风机设备需要采集的参数内容和数量不同;通过关系型数据库存储风机实时运行参数数据,数据存储和查询效率低下。针对以上数据采集特点,考虑到数据存储和查询效率问题,将通用型数据网关采集和处理后的风机实时运行参数数据推送至OpenTSDB时序数据库,数据经过时序数据库处理,结合产生的时间戳,存入HBase分布式、面向列的数据库中。风机运行数据采集、处理和存储流程如图4所示。
图4 风机运行数据处理流程
系统采用关系型和非关系型结合的方式存储数据。系统的业务配置数据、用户数据等量级小且事务性要求较高的数据,被存储在MySQL数据库中;设备实时运行参数数据和报警数据等,其增长速度较快,且需要被查询和统计分析,存储于在HBase中。这种关系型数据库和非关系型数据库相结合的数据存储方式在保证数据一致性和完整性的前提下,提高了整体存储结构的高效性和稳定性。
2 系统实现与测试
空气悬浮风机云平台基于Spring Boot开发框架搭建,使用Java开发语言,平台前端采用Vue框架,开发工具采用InteliJ IDEA。采用前后端分离的开发模式,解除了传统开发技术框架带来的前后台紧耦合问题,可分别对前后端代码进行升级优化。空气悬浮风机通过 DTU(Data Transfer Unit)数据传输单元将风机设备运行参数数据借助Modbus TCP协议发送至通用型数据网关服务器。为此,设计实现Modbus TCP协议解析模型,并添加到协议解析模型库中。空气悬浮风机云平台如图5所示。在试运行阶段,系统表现出良好的实用性,且运行稳定。风机数据实时监测模块和历史数据查询模块均能较好地满足用户实际使用需求。空气悬浮风机云平台实时数据展示如图6所示,历史数据查询效果如图7所示。
图5 空气悬浮风机云平台
图6 实时数据展示
图7 历史数据查询
3 结 语
文中阐述了“智慧城市”在线监测类系统中数据处理的一般流程,针对流程的基础部分—数据采集和存储,单独设计并实现了基于ActiveMQ消息中间件和协议解析模型库的通用型数据网关,并进行了相关数据库设计。以此为基础,实现了空气悬浮风机云。下一步计划将通用型数据网关及相关数据库设计应用于其他“智慧城市”在线监测类系统中,通过可复用软件解决“智慧城市”平台建设中的数据采集和存储问题,提高平台开发效率。