论文部分内容阅读
物联网技术是新一代信息技术的重要组成部分。随着工业自动化需求的不断提升,工业化与物联网相互结合,实现在工业生产过程中的设备监控和生产状况分析。在基于物联网的数据采集与监控系统中,数据的存储和传输是一项关键的技术。尤其对于实时性高、数据采集量大,并且长时间工作于数据采集现场的监控系统来说,数据采集的高效性、稳定性必须得到保证。因此本文提出了利用Redis内存数据库和高性能的PostgreSQL数据库,结合数据压缩处理以及RabbiMQ实时数据传输技术来实现轻量级的RTDB(Real-time Database,实时数据库)的方法,以满足中小型企业的工业生产过程监控需求,减少购买大型昂贵RTDB(Real-time Database,实时数据库)的成本。考虑到RTDB中数据高效存储的需求,对基于预处理的二级压缩策略中的LZW(Lemple-Ziv-Welch)算法进行优化,减少数据压缩和解压所用的时间,提高数据查询效率。本文首先介绍了选题的背景与研究意义、国内外研究现状以及相关技术。其次,根据实际需求对其体系结构和功能结构进行了设计。然后对监控系统的核心——轻量级的RTDB进行了设计,并阐述将Redis、PostgreSQL、RabbitMQ与基于预处理的二级压缩策略相结合应用的过程。接下来,对实现人机交互的组态客户端和上、下位机进行数据交互的通信服务的功能进行设计。最后,对LZW压缩算法进行了研究与优化。本文的主要工作如下:1.阐述了数据采集与监控系统的总体需求,并对其体系结构和功能结构进行设计,随后对本课题实现所用到的操作平台和关键开发技术进行了描述。2.研究RTDB在监控系统中的功能以及主要技术。针对监测数据的实时传输和历史数据的持久化存储,对实现实时通讯的RabbitMQ进行研究,同时搭建高可用Redis Cluster来实现对实时数据的缓存;根据历史数据压缩存储的需求,分别对数据压缩策略和历史库结构进行详细设计。3.研究组态客户端在监控系统中的应用,根据功能需求,对其功能模块进行划分,并阐述前后端分离技术在组态客户端的应用价值。4.分析监控系统上、下位机进行通信的过程,并利用NodeJS实现数据采集服务和设备控制服务。5.研究适用于历史数据压缩的LZW算法,以缩短数据压缩和解压时间为目标,从编码长度和字典结构方面入手,对LZW进行优化。并通过对比实验验证其有效性。