数据中心物联网数据智能采集分析与监控系统研究
2023-02-03杨永青
杨永青
(安徽体育运动职业技术学院 信息办,安徽 合肥 230051)
1 系统总体设计
物联网产业作为一种新兴产业,具有重要战略意义。物联网是指通过各种信息传感设备按照约定的协议将现实物品和互联网络连接起来,进行信息交换和通信,实现对物品的识别、定位、跟踪、监控和管理[1]。物联网的发展对于提高产业创新能力、加速经济转型升级、推动智能城市建设、提升生产效率和品质、改善公共服务等方面具有重要意义。
随着科技的发展,物联网在各行各业都得到了广泛应用。然而,在设备数据采集方面,由于设备类型不同,通信接口和协议也有较大差异,并且有部分设备不具备通讯功能,因此需要对设备进行改造入网,对于不同类型的试验设备,系统需要采用不同的采集方式[2]。同时存在多种通信协议,如Modbus、SNMP、RTSP、HTTP、Ethernet IP等,并且不同厂商还会在已有的协议上加以开发,形成各种私有的通讯协议,导致被数据中心所采集的各个设备之间的通信协议标准不统一、种类繁多,不同协议之间不兼容,造成了设备维护困难、故障无法及时发现处理、运维成本高等问题。为了实现人与物、物与物的智慧对话,必须对数据进行管理和智能处理。
基于数据中心物联网架构,新的系统将实现对各类通信接口和通信协议的全面支持,从而构建一个统一的智能数据采集、分析与监控系统。这一系统将具备高度的兼容性和可扩展性,能够满足各种复杂的数据处理需求,为物联网产业的快速发展提供强有力的支撑。
1.1 物联网数据特点
物联网的智能信息处理主要针对感知的数据,但物联网的数据具有异构性、海量性、不确定性的特点。鉴于物联网生成数据信息的海量特性,物联网监测信息生成的速度远远超过传统系统,同时产生各种不同类型的监测信息[3],因此需要处理系统具有分布式、水平扩展的特性。数据处理需要支持数据的快速写入和快速查询。
1.2 系统架构设计
本次研究开发的智能化数据采集与分析系统基于浏览器/服务器架构(B/S 模式)设计,依托于稳定可靠的TCP 协议实现通讯功能。通过这一设计,系统能够借助互联网将用户在浏览器端的操作无缝传递至服务器端进行高效的数据采集和深度分析。主要由设备端、通信终端、服务端等组成,如图1所示:
图1 系统架构图
通讯终端采用一体化设计,具有多测点接入能力,支持多种接口,包括DI/DO、串口、USB 等,以适应不同类型的设备。它还具备Wi-Fi模块和网口,适用于不同的场地环境。数据采集与分析模块采用自主开发的智能化框架和Vue 框架,以微服务模式为基础,实现程序的扩展和简化。智能化框架专注于数据处理,而Vue 框架则适用于视图层的展示。通讯终端与服务端之间的数据交互采用JSON 格式,这种格式比XML 对象更容易被机器生成和解析,占用空间更小,并且在数据交互时所需的带宽也更小。
2 数据采集
2.1 数据采集方式及参数
数据采集通常有以下两种方式:
一是开关量数据采集:利用传感器模块监控烟雾、漏水等非智能设备。
二是协议对接:对于一些智能设备,比如精密空调、ups 电源、精密配电柜、发电油机、加湿器、除湿机、服务器、交换机等,一般的硬件模块无法做到信息采集和处理,需要根据厂商设备的通讯协议进行统一采集。
数据采集功能以通信终端为桥梁,适应不同的设备通讯协议,使用JSON格式对数据采集参数进行封装,以实现对不同通讯协议设备的数据采集。
不同通讯协议使用的通讯参数并不相同,如图2所示:
图2 通讯协议参数
2.2 数据采集指令
当数据采集服务根据通讯参数进行连接后,服务端需发送数据采集指令,而不同通讯协议之间的指令格式也不尽相同,因此采用变量化设计,针对不同参数配置相应变量,如图3所示:
图3 数据采集参数
2.3 通讯参数表设计
通讯参数表是针对通讯协议管理的数据表,定义了不同通讯协议的通讯参数,如表1所示:
表1 通讯参数表
3 数据分析
3.1 数据分析方式
物联网中的数据存储方式、结构具有时效性与多样性的特点,如何从跨领域、异构、动态和海量的数据资源中提取所需的数据,是个大问题,将多源异构的数据资源有效地聚合在一起,提供统一的数据操作方法,是解决此问题的有效途径[4]。
若物联网仅采集传感器与设备发送的数据,其作用类似于聚集一堆庞大数据,未能产生实际的价值及意义[5]。然而,通过数据处理和分析,我们可以利用传感器或设备数据,了解设备的运行状况及现实环境情况,从而帮助我们进行预判并提前作出响应,有效预测设备故障,减少因设备故障而带来的损失。
针对不同的设备通讯协议,数据采集后返回的数据并不能以统一的标准进行解析。不同厂商的设备返回的数据格式并不相同,如表2所示:
表2 数据格式
能够针对返回数据进行灵活配置,快速获取实际需要数据的便捷性极为重要,本研究实现了对物联网采集数据的多形式处理,可依据通讯协议进行灵活配置。
3.2 关键表设计
3.2.1 设备管理数据表
设备管理数据表定义了设备的基本信息、通讯协议、数据采集参数等数据,如表3所示:
表3 设备管理数据表
3.2.2 设备监测指标表
设备监测指标表定义了设备监测指标的基本信息、监测信息、数据解析方法、告警触发条件、数据图形化方式等信息,如表4所示:
表4 设备监测指标表
4 数据校验
在日常运行中,存在各种突发情况,如网络波动等,同时数据在传输过程中也可能会产生错误数据,校验流程如图4所示:
图4 数据校验流程
4.1 数据采集复检机制
针对网络波动等无数据返回的情况,建立数据复检机制。当无数据返回时,数据采集模块可根据复检规则配置进行多次复检,如图5所示:
图5 复检规则
4.2 数据校验方法
数据在通讯过程中可能会产生数据位丢失、数据混乱的情况,导致数据不完整,如果不对数据进行校验,在分析处理错误的数据时,将得到错误的结果。
在接收到数据返回后,系统首先会根据通讯协议的效验方法,如CRC32、CRC16、CHKSUM 等,进行数据完整性校验,当校验通过后,还需进一步进行结果匹配效验,这是由于串口通讯的特性,可能会导致A 设备的采集接收到B 设备的返回数据,而进行结果匹配校验则可有效避免这种情况发生,以保障返回数据的准确性。数据校验方法如图6所示:
图6 数据校验方法
5 数据存储
关系数据库是人们用得最普遍的数据库,关系数据库具备一种叫作表格的表格型数据结构,表格的用途在于存储数据库,使用者用SQL 语言来对其执行数据的提取、插入以及删除。关系型数据库的实体完整性、参照完整性和用户定义的完整性形成了关系模型的事务一致性特点,降低了数据冗余[6]。然而对于物联网的高频率数据采集、海量数据,关系型数据库在性能上不能有效满足需求。因此本次研究采取“MySQL+InfluxDB”的方式进行数据存储。
对于物联网设备的基本信息参数等,使用MySQL 进行存储,而对采集后分析完成的数据,则使用InfluxDB进行数据存储。
MySQL 是一种关系型数据库管理系统,它将数据保存在不同的表中。因此它的灵活性强,速度快。
InfluxDB 是一个用于存储和分析时间序列数据的开源数据库,也是使用最多的一个时序数据库(如图7所示)。与传统的MySQL关系型数据库相比,它最大的特点是:数据按照时间顺序存储。举例来说,日志数据,以时间顺序存储,无论是数据查询还是数据插入,在InfluxDB 中耗时远远小于在MySQL 中的耗时。因此,在数据存储量较大的情况下,时序数据库是更佳选择[7]。使用MySQL 在存储的过程中,对这种基于时间的数据进行优化存在技术瓶颈,所以使用InfluxDB 在查询、插入物联网采集具有时间特性的数据上有性能上更优于MySQL。
图7 InfluxDB数据模型
6 结语
经过深入的调查分析,研究开发出了一种专门针对海量物联网数据的智能采集、处理和解析系统。该系统具备强大的硬件功能和通信协议适配能力。在数据采集处理的各个阶段如采集配置阶段、分析配置阶段和数据持久化阶段(即本文中数据存储阶段)采用了不同的数据结构,以确保数据的准确性与可靠性。此外,课题组还引入了时序数据库和数据复检机制,进一步提高了数据的有效性和准确性。该系统为数据中心物联网设备监控提供了一种高效、可靠的解决方案。