摘要:近些年,在社会发展下,我国的科学技术水平不断进步。目前,随着计算机技术的不断发展,数据处理技术不断推陈出新,特别是大数据、分布式集群、云计算技术的发展使得数字水利开始向智慧水利转变。由数字水利向智慧水利转变的重要技术之一就是对水利大数据的处理,大数据处理是实现智慧的核心技术。一个完整的大数据处理工作流程大致包括数据收集与导入、数据清洗与质量控制、数据管理与存储、数据分析与可视化、数据建模与模型管理。
关键词:实时流式大数据;云计算;分布式集群
引言
随着网络与信息技术的不断发展,数据的表现形式不再只是文件、数据库等静态形式。实时流式数据的出现保证了数据写入的连贯性与完整性,大大提高了信息写入效率。目前,实时流式数据在不同领域中已被广泛应用,在应用的过程中,海量关联性数据以一定的速率不断流入数据采集中心;因此,对这些实时流式大数据进行高质量、高效率地聚类是一项重大任务。随着实时流式数据的规模与传输速率的增大,传统的聚类算法已无法达到目前的聚类标准,所以,在云计算环境下研究一种关联性大数据实时流式可控聚类算法具有重大意义。本文提出了一种云计算环境下关联性大数据实时流式可控聚类算法。
1现代水利工程自动化系统设计的相关内容
在设计现代水利工程自动化系统的时候,一是要全面掌握自动化系统的基本结构,根据实际需求来设计一个具有层级性的、功能丰富的系统,可充分利用通信技术,传递相关信息,获取信号,并从中得到反馈。在发生故障的时候,可通过故障呈现出的状况,来分级排查,以快速找到故障点加以解决;二是要充分了解自动化系统中的各个元件和设备,把握其信息特征,以有效发现和解决元件或设备中存在的故障。
2总体架构
基于RoketMQ和SparkStreaming框架设计了一种水利自动化实时流式数据分布式处理平台。总体架构包括数据源、Netty服务器、Roket-MQ、SparkStreaming和持久层,具体如图1所示。数据源是水利自动化设备通过将下位机中的采集和运行数据,通过PLC数据采集软件将采集的数据由Netty服务器调用RoketMQ生产者接口写入RoketMQ集群节点。RoketMQ集群节点对持续实时上报的数据,根据不同告警类型的PLC数据写入相应的Topic中,经过相关业务处理后的数据去向分为3类,第1类是实时告警信息以主动的方式可通过消息系统SMS(如:移动、联通、电信、网通、阿里云、微信、腾讯等),将告警信息及时发送到相关负责人,使得告警能够及时快速响应;第2类是将实时上报的PLC数据存入Elasticsearch数据库中,由于Elasticsearch具有很强的数据检索能力,系统在数据查询时时效性很高;第3类是将复杂业务处理的数据传递到SparkStreaming进行集群运算,并将处理结果持久化到时序数据库和关系数据库中,该类数据库可作为水利自动化上报的成果数据库,为系统相关业务应用提供支撑。
图1总统架构
3解决现代水利工程中自动化系统问题的有效措施
3.1全面把控自动化系统总体情况
为了确保现代水利工程自动化系统的正常运行,必须做好相应的维护工作,及时发现系统中存在的故障,并采取有效的措施加以解决,这需要维护人员能够全面地把控自动化系统总体情况。要了解自动化系统的整体结构,掌握其总体布局,纵观全局来把控自动系统的各项设备,如通信信号、系统操作和控制命令等。虽然自动化系统较为复杂,线路和设备都比较多,但是只需要将自动化系统的结构图清晰地展现出来,便可以直观地了解自动化系统的每一个部分,实施有效的维护。
应当基于系统通信拓扑图,配合设备系统、PLC系统图,保障水利工程自动化系统的稳定运行,另外还需要把控自动化系统中的各项设备,了解设备的应用特征,掌握系统工作中的各项参数,明确自动化系统中各项元件、设备正常运行的状态。当自动化系统发生故障警报后,可根据故障灯的指示来查明故障原因,高级的自动化系统在部分故障中会直接呈现出故障原因。例如,可通过收集温度传感器、中间继电器电气特性的数据,及时发现故障点。要管理好系统中的各项电气设备和监视设备,了解系统控制设备的运行特征,便能够高效而精准的获得相关数据,实现精确控制。比如,确保闸门正常开度摄像模式的稳定启动。
3.2建立数据通信的交换形式
水利工程运行过程中建立测站和中心现地计算机的交换形式,此外还包括数据交换平台、现地与数据库的服务器、现地计算机、数据交换平台与客户端。针对数据管理建立有效的实时信息交换、入库机制,针对数据流制定严格的命令交换协议与规范的管理流程。采用专项开发的数据交换平台,使得各类实时数据能够交换完成。采用专用的数据接口程序进行雨量、水位的安全检测,建立数据信息的有效收集机制,并将收集到的数据信息录入到系统之中,对大量的数据信息进行即时更新,将其体现在历史数据库之中。
使用数据库进行数据查询、信息发布,即时存储各种基础信息、成果,按照水利部或者国家有关部门的相关标准建立包涵水文水资源、工程基础、水情水质等多种信息资源的数据库,发挥数据库对信息资源的支持作用。
3.3 SparkStreaming调优
将水利自动化实时流式大数据应用部署在集群之初,出现应用系统运行慢、占用资源多、不稳定等问题,此时需要对集群进行调优才能达到最佳性能。调优是一个具体性很强的事情,不同的应用及场景优化方式也不同,调优并没有统一的标准。
3.3.1接收和处理的并行度
在分布式系统中增加接收和处理数据的并行度是提高整个系统性能的关键,为了提高数据接收和处理的并行度需要考虑数据分片的数量。每次Task仅能处理一个Partition,若Partiton个数过小导致每个Partition的数据量太大,导致内存压力过大,Executor的计算能力不能充分利用;若Partiton个数过多,导致分片过多,执行效率低。
3.3.2数据序列化
数据序列化在分布式数据处理过程中对集群性能的影响较为显著。本文主要是采用Java的对象输入流框架ObjectOutputStreamFramework进行序列化,通过采用Java.io.Externalizable接口实现更加精细的控制序列化。
结语
水利大数据处理技术是水利科学发展的必然趋势,是大数据研究重要的领域。根据国家水利部2019年发布的智慧水利建设指导意见,要求构建水利一体化感知网络构建水利数据采集平台,该感知平台基于物联网技术获取水利相关数据,为实现智慧水利提供数据支撑。由于水利数据多源、异构、量大,特别是水利自动化实时上报的流式数据,在实际业务中往往需要对数据进行高频率或超高频率上报,数据不仅量大而且数据持续到达,同时要求处理响应低延迟,因此对水利大数据进行高效处理是实现智慧水利的核心技术。根据实验测试证明构建该分布式集群和采用实时流式大数据处理技术能够实现对水利自动化实时流式大数据进行高效处理。在该集群运行之初出现集群的数据处理效率很低、CUP和内存的占用率较高的问题,通过对集群进行多次调优后数据处理效率有较大提升,达到实验设计目标。该水利自动化流式大数据处理可能存在一些不足,需要在项目实践中进一步的改造、扩展、优化以满足实际项目建设需要。
参考文献
[1]陈蓓青,谭德宝,田雪冬,等.大数据技术在水利行业中的应用探讨[J].长江科学院院报,2016,33(11):59-62.
[2]陈军飞,邓梦华,王慧敏.水利大数据研究综述[J].水科学进展,2017(7):622-631.