李 亚 李存斌
(华北电力大学经济与管理学院,北京 102206)
国家电网公司在“2009特高压输电技术国际会议”上提出了名为“坚强智能电网”的发展规划。坚强智能电网的核心技术就是传感技术,利用传感器对关键设备(温度在线监测装置、断路器在线监测装置、避雷器在线监测、容性设备在线监测)的运行状况进行实时监控,然后把获得的数据通过网络系统进行收集、整合,最后通过对数据的分析,挖掘,并根据挖掘出的信息进行决策,从而达到对整个电力系统的优化管理。
随着可再生能源技术的发展,可再生分布式发电得到了很大的发展,分布式电网和微网也会随着分布式可再生发电系统的发展得到很大的发展。越来越多的分布式微网的接入对电网运行的安全性带来了新的挑战。通过配电网和微电网直接向用户供电,不仅可以提高电能质量,还可从区域电网吸收电能提供给用户,同时将分布式能源发出的电能回送给区域电网,实现潮流双向流动[1]。对分布式能源接入状态进行监测,分析监测数据实现风险预警,提前防范成为保障电网安全运行的重要措施。然而分布式能源系统分布位置难以集中,数据类型繁多,每天产生的数据量也很大,数据的集成和分析也变得很困难。本文针对分布式的能源接入状态监测数据的特点设计了一种利用Hadoop解决数据集成问题的方案。
分布式能源是指靠近用户侧分散的一切可利用能源,既包括化石燃料能源,又涵盖了可再生能源,诸如石油、天然气、风能、太阳能、生物质能等。可单独为用户提供电能,也可与大电网并网供电运行,当单独为用户供电是可与储能装置构成微电网[2]。随着智能电网的进一步发展,家庭微型发电系统也将会并入电网。
状态信息是智能电网状态监测的基础支撑,智能电网状态监测的信息已远远超出了传统电网状态监测的信息范畴,是更加宽泛的信息采集。在智能电网中,一次装备与二次设备、设备与系统将更加融合,多学科复合技术应用将日益广泛,随之而来的就是专业界限的模糊和融合。因此,智能电网状态监测的信息采集不仅涵盖了传统二次系统设备,还囊括了传统一次系统的装备,不仅涉及电网装备,还包括发电、用电装备,不仅包含装备自身状态信息,还包括电网运行状态信息及其他信息[3]。
Hadoop是开源组织Apache的一个子项目,Hadoop简化了基于集群的分布式应用程序的开发,其具有很高的可扩展性,可以随着数据规模的增长来增加硬件设备的投入。Hadoop最主要的两部分是Map/Reduce和HDFS,Map/Reduce是分布式运算的基本操作,输入时通过Map把数据分解,分别计算,使用Reduce把计算的结果汇总,HDFS(Hadoop Distributed File System)是一个分布式文件系统,是谷歌GFS(google File System)的开源实现。此外,Hadoop下面还有众多的子项目,如数据仓库工具Hive,列式数据库HBase,数据分析工具Pig等。在信息爆炸的时代,Hadoop可以很好地应对数据量的大规模增长,从而帮助企业分析处理数据,把信息有效地转化为价值。
MapReduce是一种分布式的编程模型,其核心思想是把数据分割成split0、split1等小块分散到不同的计算机上进行map操作,经过sort和计算机之间的复制,数据之间的合并得到有序的数据集合,最主要的应用是在搜索引擎上的倒排索引的建立。
Hadoop分别从不同的角度将主机划分为不同的角色。在集群上,划分为master和slave,即主从分布模式;在HDFS的工作上,可以划分为NameNode和DataNode,NameNode作为主服务器,负责对文件命名空间和客户端访问文件的权限进行管理,也可以对数据到DataNode上的映射进行管理,DataNode则负责数据存储的管理,在NameNode的调度下回应客户端的读写请求;从MapReduce工作机制上看,可以把主机划分为JobTracker和TaskTracker,JobTracker负责初始化和分配MapReduce作业,并和TaskTracker进行通讯,监控TaskTracker的状态信息。TaskTracker负责执行JobTracker分配的任务,并把自己的状态信息发送给TaskTracker。
Sqoop也是Apache软件基金会组织下的一款开源的软件。Sqoop是传统的数据库和HDFS之间的桥梁,通过Sqoop可以方便地把关系型数据库中的数据复制到HDFS中,而不用编写复杂的MapReduce任务,简化了开发的流程,同样Sqoop也可以把数据分析的结果导入到关系型数据库里面,以便利用关系型数据库高效的索引技术,方便数据的使用。
Sqoop封装了Map操作可以把数据从关系型数据库导入到HDFS里面或者导入到Hive表或者HBase里面。
当数据分析完成之后可以把存在HDFS里的数据导出到数据库里面,Sqoop导出数据到数据库的原理如图1所示。
图1 Sqoop导出数据原理图
分布式发电系统在运行的时候由SCADA系统收集了系统运行的基本信息,这些基础信息一般保存在本地的数据库服务器中,在风电和光电发电系统都有着本地的数据库服务器,分布式的家庭微电网也有着诸如SqlLite之类的嵌入式数据库服务器,大规模的分布式发电系统数据量较大,可以通过专用的光纤连接到当地的数据中心,分布式的家庭微电网可以通过VPN链路连接到当地的数据中心。
在当地的数据中心部署DataNode节点服务器,负责信息的收集,数据通过Sqoop从现场的数据库服务器传输到当地数据中心部署的HDFS里,完成数据收集的Map任务,各地数据中心的数据可以通过高速的光纤网络互连,从而在分析数据的时候可以较快地运行Reduce任务。数据导入系统设计如图2所示。
图2 分布式发电监测数据集成
在分布式Hadoop平台上运行MapReduce任务可以很好地处理大规模的监测数据[4],可以运行Pig或者使用Mahout运行数据分析,这样就可以避免编写复杂的MapReduce程序进行数据处理[5]。在运行数据分析后,数据分析的结果存在HDFS中,为了更快地检索和使用可以使用Sqoop把分析的数据结果保存到传统的关系型数据库中。这样就可以利用传统关系型数据库的索引机制加快数据的检索,方便决策支持系统提取数据进行决策分析。
文章论述了规模化的分布式能源即将展开大规模的商用[6],研究了大规模的风电机组数据的监测[7],兆瓦级的风电场每个风机都会产生大规模的数据,随着数据量增长Hadoop在数据集成上对比传统的集成方案有着明显的优势。虽然Hadoop可以处理大规模的数据,但是监测数据需要保存到传统的数据库中才能利用Sqoop传输到当地数据中心。这就需要数据集成系统方案提供商能够提供跨越数据库和网络连接的解决方案,直接把传感器的数据写入到HDFS中的DataNode节点。由于数据集成方案提供商较多,这就需要提供统一的类似IEC61850这样的通信标准,只有基于Hadoop的分布式电网数据集成方案才能得到大规模的使用。
随着Hadoop以及监测技术的发展,以及文章[8]中提到的分布式电网故障信息集成和智能分析的应用,分布式能源接入电网对电网的影响可以降到很低,而且还可以提高电网运行的稳定性。所以基于Hadoop的分布式能源状态监测集成的研究也就显得尤为重要。
[1]梅生伟,王莹莹.输电网-配电网-微电网三级电网规划的若干基础问题[J]. 电力科学与技术学报,2009,24(4):3-11.
[2]马晶.分布式能源在智能电网环境下的发展方式探究[D].上海:上海交通大学,2012.
[3]刘骥,黄国方,徐石明.智能电网状态监测的发展[J].电力建设,2009(7):1-3.
[4]Chuck Lam.Hadoop in Action[J].Manning Publications,2010.
[5]Sean Owen,Robin Anil,TedDunning,et al..Mahout in Action[J].Manning Publications,2010.
[6]陈伟,张军,李桂菊,等.规模化可再生能源发电及分布式电网有望实现商业应用[J].中国科学院院刊,2013(5):630-632.
[7]单光坤.兆瓦级风电机组状态监测及故障诊断研究[D].沈阳:沈阳工业大学,2011.
[8]赵萍,徐辰婧,赵纪元.分布式电网故障信息集成与智能分析的研究及应用[J]. 华东电力,2012(10):1824-1827.