城镇居民能耗数据平台设计与实现
2023-12-13黄升平徐秀峰胡贺骏李雪玲郑立思
黄升平, 徐秀峰, 胡贺骏, 李雪玲, 郑立思
(1.广西电网有限责任公司崇左供电局, 广西, 崇左 532200; 2.广西大学, 电气工程学院, 广西, 南宁 530000; 3.广西康耐肯特科技有限公司, 广西, 南宁 530000)
0 引言
由于大数据、互联网等技术的快速发展,数据量与日俱增[1-2],数据收集效率要求持续提高,数据同步时间和迁移时间需要进一步缩短,因此产生了数据实时采集和海量异构数据实时同步等问题。在这样的需求背景下,数据平台应运而生。
文献[3]提出了基于分布式并行架构的数据平台架构,实现了数据同步汇集和处理,提升了数据聚集的实时性,能够为分析应用及时提供详细的数据,支撑应用级分析结果的准确性。文献[4]提出了包括基础设施层、数据接口层、大数据平台层和系统应用层的大数据软件架构,能够对电网在防灾调度方面进行有效补充和扩展。文献[5]提出了一种配用电统一数据采集与信息支撑平台架构,从支撑角度实现了数据统一融合和传输,对配用电业务系统的建设起到更好的支撑作用,减小了在应用层进行数据融合的复杂度。文献[6]提出了一种云计算平台,并证实了其具有可行性,很大程度上提升了数据处理速度。文献[7]提出了一种基于Hadoop数据库的教育平台,该平台通过对资源进行处理,在保证稳定性的前提下提升了数据处理效率。文献[8]设计了基于Hadoop高校大数据平台,为高校信息化建设提供了一种新思路。
目前各个行业都在快速发展,不同行业管理体系独自运营,按照自己行业的模式开展工作,因此数据格式千差万别,形成了信息孤岛,浪费了大量资源。伴随着数据量的增多,数据存储技术引起了各界的广泛关注,数据仓库和数据平台等技术相继出现。传统数据仓库可以很快地分析数据,作出相应的预测并且提高了预测的准确性,但所有数据都需要经过数据仓库,会影响查询数据、处理数据的速度[9]。Hadoop是目前出现的数据平台技术之一,Hadoop可以满足时间延迟不太高的需求,但流数据具有实时性,需要有敏捷的响应速度,Hadoop对流数据作实时处理的能力欠佳。如果是低时延,甚至是毫秒级响应,Hadoop则无法满足[10-11]。针对清洗单一数据难的问题,已有学者提出了许多处理的方法,且清洗效果好,但是由于海量数据、异构数据的出现,各种数据的格式、结构还存在问题,处理方法并不理想,如何有效且快速将海量异构数据融合是当前面临的重要问题之一。
针对以上问题,本文提出了一种支持异构数据融合的实时数据采集和同步的数据平台,实现了对大量数据信息的存储和综合管理,形成了信息查询、发布和可视化展示的统一管理架构,提供了数据的更新与展现,促进了资源的有效利用。
1 平台架构
为了有效解决海量数据存储、时延要求高的问题,平台通过关键技术的聚合和统一,以及虚拟机、Linux操作系统等资源,为数据平台的搭建提供基础且安全稳定的运行环境。为满足平台高性能和可扩展性的运行和应用,采用分布式数据库MongoDB存储数据,具有海量扩展性的同时,更具有毫秒级的访问延迟特性。MongoDB支持主从架构和负载均衡,能够保证数据平台存储的高可用性。管理平台基于MongoDB集群实现对所有资源的统一管理,保证数据平台的稳定运行和协调有序。基于平台的统一管控,流数据处理引擎采用高可用设计,任务之间采用负载均衡,保证数据任务不中断,提高反应速度和整体性能,实现数据同步、数据抽取、数据加工等。数据发布服务同样采用高可用设计,保证发布服务的高可用性。此外,数据平台是实现对各分布模块的实时监控管理。由于数据平台通过网络与不同的源端、目标端进行信息的输送,所以需要建立传输加密的平台安全防护机制。
本文平台设计包括数据传输、数据治理和数据发布3个部分,能够满足数据实时采集,大数据量储存,访问时延短和统一处理等需求。平台架构如图1所示。
图1 平台架构
1) 数据传输。为避免数据抽取时对源系统带来性能的影响、缩短对原始数据表的操作时间、减缓数据变化给系统造成压力,数据平台通过数据拉取或者日志拉取的方式将数据库数据复制迁移到MongoDB集群中,同时也可以对各种流数据进行异构同步操作,将数据实时传输到MongoDB集群。
2) 数据治理。为保证数据在转换、分析、存储进程中无偏差,以及原始数据库中的所有记录都存在,确保数据在全部流程中相同十分重要。数据平台对数据进行数据清洗、合并拆分等处理,实现对数据格式、类型等不同数据的数据转换功能。数据质量包括脏数据监测、质量规则管理、规则校验、质量统计等功能,由于数据来源千差万别,因此对数据监测十分必要,需通过校验规则检测不符合标准的数据,保证数据内容的规范和数据结构的统一。
3) 数据发布。为满足通过数据发布对接大数据平台、可视化大屏、数仓等各方面需求。数据发布组件采用REST协议进行数据分发,主要包括应用程序接口(API)、MongoDB Charts等发布类型,其中API包括数据推送(REST API)、API后台应用(MongoDB API)、数据订阅(steaming API)、SQL报表接口(SQL API)等。
2 关键技术
本文所提出的数据平台的关键技术包括异构数据融合、批处理计算能力、高可用性、平台安全与可靠性等。
1) 异构数据融合。异构数据指数据构造方式的差别,且差异明显,往往存在于多种数据源的数据库中。关系型数据库采用行和列的模式存储数据,是一种支撑关系模型的数据库,关系型数据库存储数据方式便于理解,但面对海量数据的访问,查询和写入效率低下。非关系型数据库与关系型数据库存在很大不同,采用键值存储、文档存储等数据存储模型。非关系型数据库的查询和写入效率非常高,即使有大量数据访问,其性能也很优秀,数据格式灵活多样,数据库扩展更方便。异构数据融合包括数据层融合、特征层融合和决策层融合。数据层融合是将初始数据进行处理,保证数据完整性,使结果更加准确。特征层融合是将原始数据的特征向量进行处理,减少需要处理的数据量,提升了整体的运行速度。决策层融合是指采用不同方式对同一数据进行处理,将不同处理结果进行融合,得到最终数据,进一步提升数据平台的容错性能将。
2) 批处理计算能力。数据中台可以支持100个以上并发的批处理任务,支持对Excel、CSV等文件批量采集和处理。若每条数据大小为1 KB,每15分钟上报一条数据,数据平台为1500万电网用户留存3个月电表数据,以此来计算,总存储量为:15 000 000×(24 h×60/15)=14.4亿条/d,14.4亿×1 KB≈1.34 TB/天,1.34 TB×90天=120.6 TB。如果采用传统数据库,则需要数十套类似的数据库来完成,而采用本数据平台批量可以达到5000条/s同步至数据库。
3) 高可用性。数据平台要具有对多种源数据实时获取的能力,对数据模型进行变更,并结合需求对数据进行改善。流数据处理引擎采用高可用设计,利用分布式部署减缓单个处理引擎的压力,实现数据抽取、模型转化、数据加工等。
基于高可用原理的流数据处理引擎可分别部署在2台及以上的虚拟机。选择单一数据源进行同步任务,同时间内只有一个处理引擎运作。若多数据源同时进行,不同任务则会采用负载均衡,数据传输任务会被均匀分配到处理引擎上,提高数据传输速度。传输过程中某一引擎发生故障或者传输中断,任务会在短时间内自动迁移至其余一台正常运行的处理引擎继续处理数据(见图2)。
图2 高可用性
4) 平台安全与可靠性。认证加密是数据平台登录依靠账号+密码的方式进行认证,将认证信息存于MongoDB数据库中,通过MongoDB算法进行加密,确保登录信息的安全性。传输加密是数据平台支持安全套接字协议(SSL)加密MongoDB的传输,确保数据在数据库传输时不被泄露和修改。数据发布加密是采用超文本传输协议(HTTP)和SSL协议,通过HTTP方式传输的数据采用SSL协议进行加密,保证数据库和浏览器之间传输数据的安全。
3 工程实例
本文介绍的数据平台已在某市进行应用,并且完成了对关键技术的测验,开展了当地常住人口的水、电、气实时数据接入,实现了全市范围内的实时数据采集。依靠提出的实时数据采集和同步的数据平台,利用数据平台的海量存储技术、实时处理能力和批处理能力,实现了水、电、气等庞大繁杂数据源的接入和数据有效处理,节约了工作人员的汇集、测验和清理时间。通过异构数据融合技术和批处理计算能力,满足了对中间数据治理的需求,同时数据平台的可视任务运行监控把握整体数据的动态和结果,明显提高了不同数据信息的处理效率(见图3)。
本文介绍的数据平台已达到以下性能指标。若数据平均大小为1 KB,则数据采集速率(单节点)能达到批量5000条/s,增量1000条/s。量产指标需能够达到每秒5万条数据入库能力,可通过使用500万条数据从源端数据库导入目标端数据库,500万条数据需在17 min内完成来进行验证。若数据平均大小为1 KB,则数据发布速率(单节点)能达到单次请求响应5000条/s,并发1000个请求。系统可支持的电表终端接入数量为1500万个。系统具有对Oracle、MySQL、MongoDB等数据库的实时数据同步能力,还具有半结构化数据采集能力,可通过对Excel/CSV、XML等文件数据采集进行验证。
本文将MongoDB与Hadoop、MySQL进行比较,发现在存储模式、查询模式、查询性能、写入模式、实时应用等方面均有提升,如表1所示。
表1 MongoDB、Hadoop与MySQL对比图
通过表1可以发现,采用MongoDB较传统的数据库有很大程度的提升。其中,查询性能优势明显,对于实时应用更是具有低延迟的优点,数据量越大,MongoDB低延迟优势越显著。
本文数据平台的架构相对简单,相对于Hadoop平台与传统数仓,在数据同步、数据量、管理成本等方面均有明显优势,如表2所示。
表2 数据平台、Hadoop平台与传统数仓对比图
通过表2可以发现,相对于Hadoop平台的节点多种类繁杂和传统数仓的开发成本高,本数据平台的架构相对简单,在实时性方面也更具有优势。
4 总结
本文针对行业发展过程中的若干问题,如异构数据无法融合、结构复杂,以及数据获取传输无法实时进行等,提出一种支持异构数据融合的实时数据采集和同步的数据平台架构,并在此架构上对异构数据融合、批处理计算能力、高可用性、平台安全与可靠性等关键技术进行了分析和研究,提高了原始数据到数据应用的效率和实用性。