摘要:伴随着电子信息技术和计算机网络的快速发展,人们的传统观念中对于地域性的界定越来越模糊,以往以现场操作方式控制设备的方法伴随着相关技术的进步,逐渐的不能够满足用户的需求,对于监控系统,无视地域性及时间性,逐渐变成监控系统的刚性需求。
本文就基于M2M的远程数据云监测平台进行研究,通过web服务器收集并整理终端节点所发送的信息,使得用户可以通过web应用实现对设备实时状态、位置信息、运行状态等各项参数的实时监测和控制。本文结合web应用的发展趋势,提出现代化的系统整体解决方案,区别于传统的监控模式,突破系统对于地域性的限制,充分考虑系统的安全性、可靠性、实时性和可扩展性,提高系统的可用性,解决监控系统中地域性限制的痛点。
本文开发了基于M2M的远程数据云监测平台,系统后端程序部署于JavaScript服务端运行环境node.js,通过平台的异步单线程模式,解决监测平台在高并发请求和密集I/O上的需求;系统通信的数据格式均采用JSON,为了方便数据的读写,使用MongoDB非关系型数据库存储数据,实现面向集合的存储;此外,为了减轻系统的并发压力,引入Redis数据库作为系统数据的缓存,借助其Pub/Sub机制,与webSocket相结合,实现数据的推送;前端部分,通过React实现组件化的前端,并将和业务逻辑相关的数据全部抽离出来使用Redux进行管理,实现高扩展性与高灵活性的前端。以上完成的远程数据云监测平台本地部署后运行良好,实现了数据推送、数据图形化展示等功能。
关键词: 远程;数据监测; node.js;云平台;实时数据
目录
摘要
Abstract
1 绪论-6
1.1课题的研究背景和意义-6
1.2研究现状-6
1.3主要研究工作-6
1.4论文章节结构-7
2 系统相关技术-8
2.1 M2M技术-8
2.2 node.js平台-8
2.2.1 chrome V8引擎-9
2.2.2 事件循环机制-10
2.3 Redis和MongoDB-10
2.3.1 Redis内存型数据库-10
2.3.2 MongoDB数据库-11
2.4 前端技术框架-13
2.4.1 React-13
2.4.2 Redux-13
2.5 本章小结-14
3 系统设计目标与总体设计-15
3.1 系统设计目标-15
3.2 系统总体架构-15
3.3 系统数据通信方式设计-16
3.3.1 通过Redis Pub/Sub缓存消息-16
3.3.2 使用webSocket传输实时数据-17
3.4 系统模块设计-17
3.4.1 实时数据处理模块-18
3.4.2 前端结构设计-19
3.5 数据库规划-20
3.5.1 数据访问优化-20
3.5.2 数据库索引-22
3.6 本章小结-22
4 系统后端的设计与实现-24
4.1 实时数据收集-24
4.2 实时数据广播-26
4.3 数据库设计与实现-26
4.4 本章小结-28
5 系统前端的设计与实现-29
5.1 前端设计概述-29
5.2 地图组件-29
5.3 基于socket.io的实时数据推送-30
5.4 本章小结-31
6 总结与展望-32
参 考 文 献-33
致 谢-34