基于GIS的电网地理信息分布式数据挖掘
2016-11-22胡楠杨壮观李峰李亮
胡楠,杨壮观,李峰,李亮
(国网辽宁省电力有限公司信息通信分公司 辽宁 沈阳 110000)
基于GIS的电网地理信息分布式数据挖掘
胡楠,杨壮观,李峰,李亮
(国网辽宁省电力有限公司信息通信分公司 辽宁 沈阳 110000)
MapReduce是现有大数据平台中典型的分布式并行计算编程模型,在大数据处理中被广泛应用于电网综合系统中。由于MapReduce屏蔽底层复杂的数据源连接,将不同数据源映射为统一的接口,有效地为智能电网一体化平台(IMS)监管系统上层应用提供对异构数据的访问,成为现阶段数据分析需要解决的问题。本文将针对电网海量GIS信息数据及其对电网调度几种控制系统带来的数据存取问题,采用Hadoop HDFS进行海量GIS电网地理信息数据存取,利用MapReduce,设计面向HDFS、HBase和Mysql数据库的多数据源的统一数据模型,集成数据操作代码,减少重复代码,提高开发效率。
电网系统;GIS;MapReduce;分布式计算
地理信息数据平台是为了加强硬件及软件业务紧密型,将业务数据关联形成地图位置。将设备数据与应用软件数据及非结构化数据绘制出一张灵活、立体的“全公司一张网”,是加强智能电网建设的综合展现平台与辅助规划决策基础支撑平台[1-4]。传统的高压采用单一的输电线路对电塔进行定位[5],但是一旦输电线路因老化等因素导致无法及时准确地定位高压电塔位置,进而无法合理地调控电力输送,将可能发现区域性大面积断电等事故[6-8]。近年来,我国采用的输电线路技术及移频自闭技术对高压电塔位置区段进行定位的方法,其数据丢失现象时有发生[7],对使用与调度指挥的安全可靠性构成巨大挑战。因此,智能电网一体化平台IMS监管系统迫切需要可靠的、低成本的新型高压电塔定位系统,以实现对高压电塔的实时定位监控[9]。
通过分析计算现有GIS电网数据,可以发现数据中蕴含的规律与价值,从而让信息更好的服务于电网工业的发展。然而,面对着TB及甚至PB级的数据量,传统的数据挖掘处理方式已经无法满足智能电网的需求[10]。MapReduce是 Hadoop平台的分布式并行计算编程模型,在GIS大数据并行处理中被广泛应用[11-13]。随着应用越来越广泛,MapReduce需要面对的数据也越来越多样化。通常,MapReduce所处理的数据可能会来自于HDFS、HBase、关系型数据库,不同的数据源需要不同的连接方式[14]。面对着GIS数据源的多样化与连接方式的复杂性,MapReduce原有的GIS数据输入方式难免会显得复杂繁琐。本文提出基于Hadoop的MapReduce分布式计算框架,将不同的GIS电网地理信息数据源提取方法整合成一个统一的数据模型,对外发布统一的接口,并使用函数封装,提高程序开发效率。同时,由于采用分布式平台处理框架,数据处理的时效性和高容错性也能得到保障。
1 GIS电网信息的分布式并行计算
1.1 MapReduce与传统数据处理比较
与传统数据处理相比 ,MapReduce具有分布式并行处理能力,在计算处理巨大GIS电网地理数据量信息时,具有很大优势。具体对两种处理方式进行比较分析。
传统的GIS电网数据存储和计算通常使用关系型数据库[15]。关系型数据库的兴起和广泛应用一度解决了数据存储以及操作的问题。然而,大数据时代的来临,使GIS电网关系型数据库的存储与处理能力捉襟见肘。对于有限数据量的纪录,关系型数据库性能优异,随着数据量的动态增长,关系型数据库暴露出了一定的不足之处。关系型数据库的一致性和正确性的特点,不得不让它从 更换硬件的角度来扩展处理节点的能力。这样无疑会带来很大的经济开销。相比之下,分布式基础框架Hadoop分布式存储与处理框架MapReduce解决了上述问题。它具有有效分割大规模数据并合理分配任务的优势。作为面向大数据分析和处理的并行计算模型,MapReduce技术致力于通过IMS监管系统集群实现大数据的并行处理,而且MapReduce把扩展性和系统可重用性放在了优先考虑的位置。
1.2 MapReduce工作过程
Hadoop是当今流行的分布式系统基础架构。该框架最核心的两个设计分别是:HDFS和MapReduce。HDFS是分布式文件系统(Hadoop Distributed File System),可以创建、删除、移动或重命名文件等。MapReduce则是用于并行处理大数据集的编程模型。改进的MapReduce数据源连接方式,工作过程如下:
MapRecude的输入都是以分片为单位,默认情况下,以HDFS的一个块的大小(默认为64M)为一个分片[17]。Mapper处理这些分片信息,根据处理逻辑,将数据转换为键值对列表。输出的结果会暂且放在一个环形内存缓冲区中[16]。这些结果会经过Shuffle分配给相应的Reducer来处理,最后输出想要的结果。此过程的流程示如图1所示。
图1 MapReduce工作流程
1.3 GIS电网感知信息的分类
当有IMS管理员对分布式网络感知信息存储系统进行存储和查询操作时,首先要解决的问题是对GIS网络感知信息中的动态信息和静态信息进行分类识别,该功能由执行层中的识别接口完成。分布式网络感知信息存储系统会预先对网络感知GIS电网地理信息中动态信息和静态信息的Family值的范畴进行定义,如图2所示。
图2 分布式GIS电网感知信息分类
当有IMS管理员对系统提出写入或读取请求时,分布式网络感知信息存储系统会匹配该条网络感知信息的数据模型中Family的值,判断该值是属于预先定义好的动态信息还是静态信息,然后给该条网络感知信息加上相应的布尔型变量进行区别标识。如果判断为动态信息,则转交给分布式网络感知信息存储系统执行层中的弱写入接口和弱读取接口进行处理;如果判断为静态信息,则转交给分布式网络感知信息存储系统执行层中的强写入接口、定位读取接口和读修复接口进行处理。
2 GIS电网信息的MapReduce连接方式
2.1 HDFS连接方式
在MapReduce中调用HDFS中的GIS电网数据,IMS管理员首先需要获得程序配置信息,并设置MapReduce的主机地址、Zookeeper集群与端口号、JobTracker信息。除此之外,还需要设置输入输出类型,对应Mapper和Reducer等信息。以实验环境为例,具体的调用代码如下:
2.2 HBase连接方式
在恒温干燥条件下,综合得分较高的是在温度为55℃,风速分别为1.2,1.8,0.6m/s时,其综合得分分别为31.2,29.55,29.3。
在MapReduce中调用HBase中的GIS电网数据,IMS管理员首先需要获得程序配置信息,并设置 MapReduce的主机地址、Zookeeper集群与端口号、JobTracker信息。除此之外,还需要设置输入输出类型,输入输出数据表以及对应Mapper和Reducer等信息。以实验环境为例,具体的调用代码如下:
2.3 MySQL连接方式
在MapReduce中调用Mysql数据库中的GIS电网数据,IMS管理员首先需要获得程序配置信息,并设置Mysql数据库的主机地址,数据库名称,数据库用户名和密码[18-19]。除此之外,还需要设置输入输出表名,程序对应数据库表字段以及对应Mapper和Reducer等信息。以实验环境为例,具体的调用代码如下:
3 GIS电网地理信息据源提取系统设计方案
3.1 概 要
现实电网中控系统中,应用程序往往根据自身的特性存储在不同的存储介质或者数据平台中。因此,MapReduce需要从多种不同的数据源中提取数据。由于在编写MapReduce程序过程中,涉及到的参数与配置有很多[17],导致IMS管理员在编程的过程中很容易造成代码的混乱和遗漏。特别是在连接关系型数据库的过程中,管理员需要定义和设置包括GIS电网数据库用户名、密码等多个参数,代码可读性较差,并且很容易遗漏某些参数,导致程序报错。
针对上述问题,为方便IMS管理员使用,设计出一个统一的接口提供给管理员。整体系统一共分为3层,第一层为数据源统一对外发布的接口,直接被IMS管理员调用。第二层则是三种数据源的接口,分别是HDFS接口、HBase接口、MySQL接口。第三层则是直接操作MapReduce的函数,用于设置与获得相关参数并运行程序[19]。
3.2 系统详细设计
在编写MapReduce程序过程中,所处理的GIS电网数据可能会来自于HDFS、HBase、关系型数据库,不同的数据源需要不同的连接方式[20]。由于涉及到的参数与配置有很多,导致IMS管理员在编程的过程中很容易造成代码的混乱和遗漏。因此,为屏蔽数据源多样性与复杂性,设计一个面向多数据源的信息提取系统,通过用函数把参数封装起来。管理员只需要通过set方法来设置参数,通过get方法获取想要得到的实例,并调用运行方法,就可以建立数据源连接。
3.2.1 IMRMultiDataSource接口
此接口定义3个函数,用于得到不同连接方式的实例变量,以便操作相关数据源。此接口详细介绍请见表1。
3.2.2 IMRHDFS接口
此接口作用是封装原有MapReduce连接HDFS的连接方式,通过函数封装,将复杂的GIS电网地理信息数据源代码变为简单的变量设置与函数调用,方便管理员调用HDFS数据。
此接口详细介绍请见表2。
3.2.3 IMRHBase接口
此接口作用是封装原有MapReduce连接HBase的连接方式,通过函数封装,将复杂的GIS电网地理数据源代码变为简单的变量设置与函数调用,方便管理员调用HBase数据。此接口详细介绍请见表3。
3.2.4 IMRMysql接口
此接口作用是封装原有MapReduce连接Mysql的连接方式,通过函数封装[21],将复杂的GIS电网地理数据源代码变为简单的变量设置与函数调用,方便管理员调用Mysql数据。此接口详细介绍请见表4。
4 结论
针对我国电网高压线路GIS地理信息数据源的多样性与复杂性,首次采用MapReduce构建了一种面向海量电网GIS信息的分布式数据挖掘方法。采用分布式网络感知信息存储系统对GIS电网地理信息数据进行存储,提出了基于MapReduce的GIS电网地理信息数据挖掘设计方案,旨在提高IMS系统管理员的编程效率,降低编程难度与出错概率。通过本系统,IMS系统管理员只需要根据接口和函数,就能完成配置,提高了编程效率,降低了编程难度。
表1 IMRMultiDataSource接口
表2 IMRHDFS接口
表3 IMRHBasee接口
[1]韩强,冯涛,刘新天,等.电网GIS空间信息服务平台及其专业应用[J].电力信息化,2011,9(2):152-156.
[2]李书群,高飞,吴兆福,等.单基站CORS在电网GIS数据采集中的应用[J].测绘工程,2013,22(1):59-62.
[3]陈亮,殷博,单宝麟,等.电网GIS全过程管理及数据获取技术研究[J].测绘通报,2015(10):118-121.
[4]钟一俊,周明磊,洪建光,等.基于组件化设计的电网GIS及应用[J].电力信息与通信技术,2014(12):39-43.
[5]郑松涛,汤文成,陈昀.SLP法在风电塔筒厂区总平面布置中的应用[J].工业工程与管理,2010,15(1):116-120.
[6]刘剑,邰能灵,范春菊,等.柔性直流输电线路故障处理与保护技术评述[J].电力系统自动化,2015,39(20):158-167.
[7]彭向阳,钱冠军,李鑫,等.架空输电线路跳闸故障智能诊断[J].高电压技术,2012,38(8):1965-1972.
[8]宋国兵,蔡新雷,高淑萍,等.高压直流输电线路故障定位研究综述[J].电力系统保护与控制,2012(5):133-137.
[9]王长久,石文婷,柳君,等.中控GCS系统在电力廊道项目的应用[J].中国仪器仪表,2014(10):41-45.
[10]周驰,郭宝,王沈亮,等.生产管理系统与电网GIS平台集成应用分析[J].电力信息化,2011,9(2):102-106.
[11]李建江,崔健,王聃,等.MapReduce并行编程模型研究综述[J].电子学报,2011,39(11):2635-2642.
[12]饶君,吴斌,东昱晓.MapReduce环境下的并行复杂网络链路预测[J].软件学报,2012,23(12):3175-3186.
[13]李成华,张新访,金海,等.MapReduce:新型的分布式并行计算编程模型[J].计算机工程与科学,2011,33(3):129-135.
[14]潘巍,李战怀,伍赛,等.基于消息传递机制的MapReduce图算法研究[J].计算机学报,2011,34(10):1768-1784.
[15]王习特,申德荣,于戈,等.MapReduce集群中最大收益问题的研究[J].计算机学报,2015,38(1):109-121.
[16]张洋舜.基于Hadoop的并行实体解析方法研究与应用[D].上海:东华大学,2014.
[17]郝树魁.Hadoop HDFS和MapReduce架构浅析[J].邮电设计技术,2012,(7):37-42.
[18]鲁学凤.基于关系数据库和map/reduce的综合查询系统设计与实现[D].上海:复旦大学,2012.
[19]师金钢,鲍玉斌,冷芳玲,等.基于MapReduce的关系型数据仓库并行查询 [J].东北大学学报:自然科学版,2011,(5):626-629.
[20]田胜利.针对HBase的MapReduce数据访问方式的优化[D].长沙:国防科学技术大学,2012.
[21]杨勇生.数据集成平台中多数据源包装器的实现[D].天津:天津大学,2008.
A distributed computing for grid distributed based on GIS geographic information data
HU Nan,YANG Zhuang-guan,LI Feng,LI Liang
(Information and Communication Branch of State Grid Liaoning Electric Power Supply Co.,Ltd.,Shenyang 110000,China)
To attack the challenge of storing and analyzing massive GIS data generated by high-voltage tower,a distributed solution was proposed,which used Hadoop HDFS to store and employed MapReduce to process the huge data.In addition,the data structures in HBase and the algorithms on position matching of GIS data and safe distance calculation were proposed.Finally,experiments demonstrated that the distributed solution was much more efficient and extendible.
high-voltage tower;GIS;MapReduce;distributed computing
表4 IMRMysql接口
TN919.6
A
1674-6236(2016)15-0020-05
2016-01-21 稿件编号:201601198
国家自然科学基金项目(51307051)
胡 楠(1982—),男,辽宁抚顺人,博士,高级工程师。研究方向:电力信息化运维。