论文部分内容阅读
在互联网飞速发展的今天,智能化的网络应用获得了空前的发展。中国高铁技术的不断发展,给高铁实时数据监测提出了更高的要求。传统的监测活动已经无法满足当前大数据时代的需求,人们越来越多的倾向于异地的、实时的监测方法,这就给云监测系统的应用提供了广阔的发展空间。本文设计了一种新的数据格式,详细的给出了监测参数的命名空间和编码方式。本系统是基于Storm的云实时监测系统,采用三层架构的B/S方式,分块处理各层数据。第一层为实时源数据处理平台。采用Storm大数据实时处理框架对源数据进行快速剥离和分发,Storm实时数据处理框架是当前实时应用的法宝,它以非常高效的计算策略对接收到的源数据进行剥离,并将剥离后的有效数据快速发送至数据库中,从而保证了数据在计算剥离阶段的实时性要求。第二层为数据存储策略层。根据客户端查询数据的紧急程度,将MySQL数据库与Redis数据库的使用功能分离,将数据存储的持久化工作交付给MySQL数据库来完成,采用Amoeba作为访问MySQL数据库的代理层,很好的解决了MySQL数据库的负载均衡和高性能读写分离等问题。根据Redis内存数据库的特性,本文设计了基于发布/订阅策略的数据推送方式,实现了只推送不存储的功能。该策略将数据划分为实时数据与历史数据,采用“一对一”策略实现了数据存储与实时数据推送的分离,有效地解决了单一数据库的负载过重,因读写冲突而导致的系统性能严重下降等问题。第三层为数据呈现层。将数据分为实时数据与历史数据,实时数据的推送工作由WebSocket全双工通道技术完成,WebSocket通道是客户端与Web服务器端通过WebSocket协议握手同意后建立的,通道建立后便可将实时数据推送至客户端,并采用Highcharts图形显示技术进行实时显示。在数据实时显示的同时,采用上下阈值预警机制记录异常数据,并及时通过邮件和短信的方式通知系统管理员,以防止重大险情的发生。历史数据和其他用户数据则采用HTTP协议传输数据。通过实验对比,基于Storm的云监测实时监测系统对比传统基于HTTP方式的监测系统性能更加优越,监测范围可弹性伸缩,实现了真正意义上的异地、实时监测。