智能变电站海量在线监测数据处理方法

2013-10-10 02:27:38王德文
电力自动化设备 2013年8期
关键词:监测数据变电站监测

王德文,肖 磊,肖 凯

(华北电力大学 控制与计算机工程学院,河北 保定 071003)

0 引言

随着智能变电站信息一体化的发展[1-3],电力状态监测数据呈现以下特点:数据量呈几何性增长,数据规模不断扩大;数据类型结构复杂多样,不仅包括各种实时在线监测数据,还包括设备台账信息、试验数据、缺陷数据等离线信息[4];数据广域分布、种类繁多,包括各类结构化和半结构化数据,且各类数据查询与处理的频度及性能要求也不尽相同;平台间数据通信困难、交互性差等。现有电力系统的数据处理方案[5-6],大都采用常规的数据存储与管理方法,存储硬件采用磁盘阵列,数据库管理软件采用关系数据库系统,导致系统可伸缩性与可靠性较差、数据处理能力不足,难以适应智能变电站对状态监测数据的可靠存储和快速查询的更高要求。

云计算技术具有成本低、可靠性高、易扩展等优势,为智能变电站信息平台的建设提供了全新的解决思路。云计算利用分布式计算数据存储技术,为海量数据提供了不怕故障的存储;其基于列的数据管理技术能够高效地管理各类多元数据;其强大的并行处理能力,能够将电力系统业务逻辑与并行计算的复杂细节划分开来,为快速查询与计算提供便利[7]。云计算目前主要应用于互联网、商业和科学计算等领域[8-10],在电力领域已经展开初步研究[11-12],将云计算技术引入智能变电站状态监测系统,既是一种有益的实践,又具有重要的研究价值与实际意义。

本文结合智能变电站状态监测系统的特点与功能需求,研究基于Hadoop云计算技术的变电设备状态监测数据存储方式、数据检测机制以及索引构建方法等关键问题,提出基于Hadoop云计算技术构建智能变电站信息平台,使用面向列的分布式结构化数据库HBase在开源的Hadoop集群上实现智能变电站中在线监测数据的可靠存储及快速查询。

1 变电设备在线监测系统

智能变电站是指采用智能电子设备,自动完成信息采集、测量和监测等基本功能,并支持智能调节、分析决策、协同互动等高级功能的变电站[13-14]。根据相关技术导则以及智能变电站技术规范的要求①国家电网公司.输变电设备状态监测系统总体框架设计.2010.,变电设备在线监测系统结构如图1所示。

图1 变电设备在线监测系统结构Fig.1 Structure of substation equipment online monitoring system

a.各级地市变电站中都有各自的在线监测接入控制器(CAC),负责收集各种在线监测数据,包括电容器监测数据、电抗器监测数据、断路器监测数据等,然后将这些数据合成处理,生成在线监测数据记录,经过变电设备在线监测数据交换传送到网省公司的在线监测接入网关机(CAG)中。

b.网省公司的变电站CAG对传入的在线监测数据进行处理汇总,并且与CAC进行通信,实现对CAC的异地维护、升级、控制等工作,同时将收集合成的在线监测数据转发到主站系统。

c.变电站主站系统通过对变电站内变压器、断路器、避雷器等电气设备状态进行监测,将设备状态监测数据汇总,实现综合分析、故障诊断和状态评估的功能,并为数据挖掘与辅助决策等高级应用提供技术支撑。主站系统的在线监测数据的存储与查询性能很大程度上决定着整个主站系统在线监测数据处理平台的安全、高效和稳定运行。因此,对于在线监测数据的可靠存储和高效查询的方法的研究就显得尤为重要。

2 基于Hadoop的在线监测数据处理平台

2.1 基于Hadoop的在线监测数据处理框架

Hadoop是Apache开源组织的一个分布式计算框架,支持在大量廉价的硬件设备组成的集群上运行“数据密集型”应用,具有高可靠性和良好的可扩展性。引用Hadoop技术,搭建在线监测数据处理平台,可以解决海量在线监测数据存储和查询问题,并且为更高级应用提供高性能的分布式计算环境。

将电力系统总部以及各个网省公司的数据中心服务器、存储设备等硬件资源进行虚拟化,使其升级为云节点,以虚拟机为单位进行统一管理。虚拟化基础设施能够有效地简化数据中心的管理与维护工作,提升服务的可用性与可扩展性[15]。在虚拟化平台基础上,搭建Hadoop在线监测数据处理集群,利用Hadoop分布式文件系统(HDFS)以及面向列的HBase分布式数据库系统,为海量的在线监测数据提供可靠的存储和查询服务,并为更高级的数据挖掘与辅助决策提供便利。具体过程如图2所示。

图2 基于Hadoop的在线监测数据处理平台Fig.2 Online monitoring data processing platform based on Hadoop

在线监测系统收集的各项在线监测数据存储到在线监测数据存储系统中,利用HDFS对海量的在线监测数据进行存储。HDFS采用主从(Master/Slave)架构,具备较为完善的冗余备份和故障恢复机制,能保证数据读写操作的安全性、可靠性等各方面的要求[16]。基于Hadoop的在线监测存储系统由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,管理在线监测文件系统的名字空间以及客户对文件的访问,其余节点为Datanodes负责管理所在节点对在线监测数据的存储。

HBase建立在HDFS之上,是具有高可靠性、高性能、列存储、可伸缩、实时读写特点的数据库系统,通过行键(row key)和主键的范围来检索数据,用来存储非结构化和半结构化的松散数据。HBase的数据表结构非常松散,表与表之间没有任何关联,其查询效率比较高,能够为海量的在线监测数据查询服务提供支持。

2.2 基于HBase的在线监测数据索引建立方法

HBase表的结构如表1所示,其由行键、时间戳以及列族组成。行键为表的主键,表中的记录按照行键排序;时间戳表示每次数据操作对应的时间;列族可以由任意多个列组成,并且支持动态扩展。

表1 基于HBase的变电设备在线监测数据概念视图Tab.1 Conceptual view of substation equipment online monitoring data based on HBase

行键可设置为监测类型编码,例如021001代表监测类型为变压器及电抗器的局部放电,021005则代表监测类型为变压器及电抗器的顶层油温。列族包括相应的在线监测数据内容,如被监测设备码、监测装置标识、被监测设备相别组成和监测时间等。设备编码采用国家统一编码方式,由3段共17位字符组成,格式如下:xxMxxxxxxxxxxxxx,其中第1段xx为网省公司标识;第2段采用固定标识符M;第3段采用14位流水号标识。

HBase需要保证用户在数据的低冗余及一致性的基础上,对海量的在线监测数据进行高性能的范围检索。随着数据量的大规模增加,这种方法给用户查询带来了巨大的不便。利用HBase创建索引表,以行键来存储索引,列族用来存储被监测设备标识、监测时间、监测装置标识等其他数据。

HBase索引表往往是1个行键对应1个索引,然后依靠表的行键来实现范围检索。这种方法的特点是简单、扫描效率相对较高,但在查询上还是不够简洁方便,并且在查询处理以及数据的合并汇总上都会出现瓶颈。为了改善查询效率,采用组合索引的方式,将建立索引的字段拼接组合,提高查询效率,如表2所示。

表2 基于HBase在线监测数据的组合索引表Tab.2 Comprehensive index table based on HBase for online monitoring data

将监测时间yyyy-MM-dd与监测类型编码021005(变压器顶层油温)组合拼接到行键中,建立索引表。通过这种组合索引的方式,就可得到该天所有变压器顶层油温的数据,并分析数据完成在线监测数据的查询。另外,可以根据不同的场景和需要创建不同的查询索引,例如将被监测设备码放置到行键中创建查询索引(如021005_23M00000005482691),所得到的结果就是针对23M00000005482691这一被监测设备所收集到的所有在线监测数据。组合索引方案的优点是查询速度非常快、效率高,用户可以根据查询条件,创建查询索引,通过对查询索引表的检索即可得到数据结果集。

2.3 基于Hadoop的在线监测数据快速查询方法

在线监测数据文件存储HDFS中,为了提高快速查询处理能力,针对在线监测数据建立查询索引,并将这些查询索引存放到HBase中。基于分布式文件存储系统以及查询索引,完成大规模在线监测数据的查询。查询方法分为以下3个步骤,具体如图3所示。

a.CAC以及CAG负责在线监测数据的收集,然后传送到HDFS集群中,状态数据以文件形式组织,现阶段的处理方式是直接将数据以二进制的形式存放到文件里,不包含任何冗余数据。后续查询将通过文件名和偏移量来获取数据。

b.HDFS设置一个主节点的数据监测接口用于检测HDFS中新的状态数据文件,然后该主节点把检测到的数据文件分发给不同的子节点完成查询索引创建。索引创建过程如下:读取文件,对在线监测数据进行扫描,将需要建立索引的常用字段提取出来加入到在线监测数据记录列表中。

图3 基于Hadoop的在线监测数据查询方法Fig.3 Online monitoring data query based on Hadoop

c.根据这些常用字段在HBase中建立索引表,方便数据的查询。基于HBase的查询索引,接受并处理用户的状态数据查询请求,到HBase中完成具体的查询处理,在获得结果在线监测数据记录列表后,再到存储在HDFS的状态数据文件中读出详细的在线监测记录,并将得到的数据逐一返回给客户端。

该方法中将会实时监测是否有新的文件生成,而且查询索引处理过程是分布式的;且通过使用Zookeeper,管理者不必关心系统的负载均衡和单点失效问题。

3 智能变电站云实验平台及性能测试

3.1 智能变电站云实验平台的搭建

根据上述方法,搭建一个基于Hadoop的智能变电站在线监测实验平台。整个实验平台由10台PC机(作为10个节点)和1个交换机构成,PC1作为Namenode 和 jobtracker,PC2至 PC10作为 Datanode 和 tasktracker。每个节点安装VirtualBox虚拟机,在虚拟机上安装Ubuntu Linux操作系统,并安装 Apache Hadoop云计算平台。HDFS管理界面显示Datanode各个节点使用空间、使用率、大小等内容。

将模拟产生的在线监测的数据,导入到基于Hadoop的在线监测数据处理平台中,利用TeraSort、Sort、TestDFSIO、YCSB等测试工具对所搭建的在线监测实验平台的性能进行测试。

3.2 在线监测数据排序能力测试

Sort是一种主要测试Hadoop MapReduce性能的工具,用于衡量分布式数据处理框架的数据处理能力。Sort自带一个部分排序的程序,实验过程通过生成随机的数据,执行排序,然后验证结果。

首先通过使用RandomWriter生成一些随机的在线监测数据。它以每个节点10个map的方式运行一个MapReduce作业,并且每一个map生成近似10 GB的随机二进制在线监测数据,带有不同长度的键和值。

执行排序,对产生的在线监测数据文件进行排序测试,实验结果表明,实验平台对所传送的在线监测数据文件能够进行sort排列。取5次排序时间的平均值,分别为 324 s、298 s、374 s、341 s和 382 s,平均时间为342.8 s。实验表明,在线监测实验平台具有良好的数据计算能力。

3.3 大规模在线监测数据块基准测试

智能变电站监测的设备众多,数据量庞大,数据结构复杂。对所搭建平台进行大数据块基准测试,常用测试工具为TestDFSIO。通过生成数据,提交作业,统计作业完成时间对实验平台的整体I/O性能进行了测试。测试程序用一个MapReduce作业对HDFS进行高强度的I/O操作,来测试集群整体的并行写入以及读取数据的性能。

实验通过改变数据规模、文件大小、文件数量,来对获取的运行时间进行比较,测试其对集群I/O性能的影响,如表3所示。

表3 基准测试读写运行时间Tab.3 Read/write speed by benchmark test

实验说明,逐渐增大数据规模进行读、写操作,系统执行时间增长趋缓,平均访问时间有效降低,相比传统数据管理系统平台,随着数据量的增加,基于Hadoop的在线监测数据管理系统对文件的读写效率更好。这是由于传统数据库在随着数据量的增加的同时,负荷逐渐增加,导致性能越来越慢,然而基于Hadoop在线监测数据处理平台在大规模文件处理方面显示了很强的性能,实验显示Hadoop集群适合处理大数据量的读写。

在实验过程中,开始取10个1000MB的文件,进行读写测试,随着测试数据和文件的不断增大,系统性能也逐渐提升。再次用10个1 000 MB的文件进行测试时,运行时间仅仅用了162.673 s,接近开始时的330.861 s的一半。实验结果表明,该实验平台的系统性能在处理过程中逐渐提升,如果继续增加服务器节点的数量,其读写速度还会有更大的提高。

3.4 在线监测数据读写查询性能测试

在线监测要求对所采集的数据进行分析汇总,有效提取故障信息,并对海量的在线监测数据进行快速查询。YCSB是Yahoo公司用来对云服务进行基础测试的工具,具有很好的可扩展性和灵活性[17]。通过YCSB进行写入数据、读取数据的性能测试,验证实验平台的在线监测数据查询性能。

3.4.1 数据导入测试

根据所设计的HBase存储模式,通过模拟CAG接口传入的10万条变压器顶层油温数据记录(例如监测类型编码021005,被检测设备标识23M000000-05482691,顶层油温80℃,监测时间为2012-06-30 12∶30∶25),累计约为 10 GB,导入 HBase 数据库。 总体运行时间为1004.155 s,系统吞吐量达到每秒操作数142.33,单条记录导入平均时延39.471 ms。

3.4.2 组合索引对比测试

以变压器顶层油温在线监测数据为例,建立组合索引表,将冗余在线监测数据的监测时间设置到行键中进行检索(021005_2012-06-30),见表4。

表4 变压器顶层油温在线监测数据的组合索引表Tab.4 Comprehensive index table for online monitoring data of top transformer oil temperature

未采用查询索引优化时,即行健为021005,监测时间为列族时,扫描所用时间平均为1823 ms,吞吐量为每秒操作数162.09,经过组合索引优化后的数据扫描时间为1412ms,吞吐量为每秒操作数228.23。实验结果显示,经过组合索引优化,扫描操作时间更短,采用组合索引查询的效率和吞吐率方面的性能均得到提升。

3.4.3 读、写延迟对比测试

在变电站在线监测系统中,大多数应用场景都是对数据的多次读取操作,数据的读取操作往往比写入操作更加频繁,写入操作通常只进行一次,更新数据也很少进行,因此平台的并行读取性能就显得格外重要。

对已存储的10万条变压器顶层油温在线监测数据,执行10000次读写操作,包括80%的读指令和20%的写指令。取3次测试结果的平均值,图4描述了单条指令执行的不同的读写平均延迟。3次测试的吞吐量变化平缓,系统运行较稳定,数据读取操作的平均延迟比写操作的平均延迟要小,该实验平台具有良好的数据读取性能,可以满足大规模数据的读取和查询的要求。

图4 3次试验中读、写平均延迟Fig.4 Average read/write latency of three tests

4 结语

本文通过研究智能变电站状态监测数据特点,结合Hadoop云计算技术,提出一种在线监测数据存储和查询的解决方法,即基于Hadoop的平台利用查询索引对海量的在线监测数据进行快速查询。实验结果显示在存储容量、查询延迟、数据可靠性和可扩展性等方面,所提方法均显示了较高的性能,在一定程度上验证了该方法的可行性与有效性,能够满足智能变电站大规模在线监测数据的存储与处理的要求。

猜你喜欢
监测数据变电站监测
特色“三四五六”返贫监测帮扶做实做细
今日农业(2021年17期)2021-11-26 23:38:44
GSM-R接口监测数据精确地理化方法及应用
关于变电站五防闭锁装置的探讨
电子制作(2018年8期)2018-06-26 06:43:34
超高压变电站运行管理模式探讨
电子制作(2017年8期)2017-06-05 09:36:15
220kV户外变电站接地网的实用设计
网络安全监测数据分析——2015年12月
互联网天地(2016年2期)2016-05-04 04:03:28
网络安全监测数据分析——2015年11月
互联网天地(2016年1期)2016-05-04 04:03:20
变电站,城市中“无害”的邻居
河南电力(2015年5期)2015-06-08 06:01:45
GPS异常监测数据的关联负选择分步识别算法
基于小波函数对GNSS监测数据降噪的应用研究