智能电网大数据云计算技术研究
上QQ阅读APP看书,第一时间看更新

1.4 大数据处理技术

1.4.1 大数据处理的价值和复杂性

近年来,大数据已经成为科技界和产业界共同关注的热点。2012年3月,美国奥巴马政府宣布投资2亿美元启动“大数据研究和发展计划”。美国政府认为大数据是“未来的新石油”,将“大数据研究”上升为国家意志,对未来的科技与经济发展必将带来深远影响。一个国家拥有数据的规模和运用数据的能力将成为综合国力的重要组成部分,对数据的占有和控制也将成为国家间和企业间新的争夺焦点。

目前全球数据的存储和处理能力已远落后于数据的增长幅度。例如,淘宝网每日新增的交易数据达10TB;eBay分析平台日处理数据量高达100PB,超过了美国纳斯达克交易所全天的数据处理量;沃尔玛是最早利用大数据分析并因此受益的企业之一,曾创造了“啤酒与尿布”的经典商业案例。现在沃尔玛每小时处理100万件交易,将有大约2.5PB的数据存入数据库,此数据量是美国国会图书馆的167倍;微软花了20年,耗费数百万美元完成的Office拼写检查功能,谷歌公司则利用大数据统计分析直接实现。

与大数据在商业及互联网领域的广泛研究和应用相比,大数据在智能电网建设的研究中还有待进一步加强。由于云计算平台具有存储量大、廉价、可靠性高、可扩展性强等优势,但在实时性方面难以保证,故它不适合于作为电网调度自动化系统的主系统,但可用于调度自动化系统的后台,也可用于智能电网数据中心(营销、管理和设备状态监测)。云平台环境下的通用大数据处理和展现工具正在不断涌现,为减少软件开发工作带来了好处。然而,数据挖掘通常是与具体应用对象相关的,大数据挖掘是一个不小的挑战。如故障录波数据初次筛选等一些基于聚类方法的应用,在面对海量数据时,传统聚类算法在普通计算系统上无法完成。此外,在数据处理面临规模化挑战的同时,数据处理需求的多样化逐渐显现。相比支撑单业务类型的数据处理业务,公共数据处理平台需要处理的大数据涉及在线/离线、线性/非线性,流数据和图数据等多种复杂混合计算方式。下面对目前主流的大数据处理技术进行综述,并指出在应对智能电网大数据时这些技术的局限性,探讨了可能的解决方案。

1.4.2 并行数据库

关系型数据库系统在电力系统中获得了广泛的应用,比如Oracle等。关系数据库主要存储结构化数据,提供便捷的数据查询分析能力、按照严格规则快速处理事务(Transaction)的能力、多用户并发访问能力以及数据安全性的保证。其通过SQL语言查询语言及强大的数据分析能力以及较高的程序与数据独立性等优点获得广泛应用。

然而随着智能电网建设的加速,数据已远远超出关系型数据库的管理范畴,地理信息系统以及图片、音视频等各种非结构化数据逐渐成为需要存储和处理的海量数据的重要组成部分。面向结构化数据存储的关系型数据库已经不能满足智能电网大数据快速访问、大规模数据分析的需求,主要表现在如下几个方面。

1.数据存储容量有限

关系数据库可以有效处理TB级的数据,当数据量达到PB级时,目前主流数据库很难处理。为了回避此问题,目前电力企业采用先从“生数据”中提取“熟数据”的存储方式,这样虽然可以减少网络传输和数据库存储的数据量,但不可避免损失“生数据”中隐藏的重要特征量信息,如绝缘的放电频谱。

2.关系模型束缚对海量数据的快速访问能力

关系模型是一种按内容访问的模型,即在传统的关系型数据库中,根据列的值来定位相应的行。这种访问模型会在数据访问过程中引入耗时的输入输出,从而影响快速访问的能力。虽然传统的数据库系统可以通过分区的技术(水平分区和垂直分区),来减少查询过程中数据输入输出的次数以缩减响应时间,提高数据处理能力,但是在海量数据的规模下,这种分区所带来的性能改善并不显著。

3.缺乏对非结构化数据的处理能力

传统的关系型数据库对数据的处理只局限于某些数据类型,比如数字、字符、字符串等,对非结构化数据(图片、音频等)的支持较差。然而随着用户应用需求的提高、硬件技术的发展和互联网上多媒体交流方式的推广,用户对多媒体处理的要求从简单的存储上升为识别、检索和深入加工,面对日益增长的处理庞大的声音、图像、视频、E-mail等复杂数据类型的需求,传统数据库已显得力不从心。

4.扩展性差

在海量规模下,传统数据库一个致命弱点,就是其可扩展性(Scalability)差。通常解决数据库扩展性问题有两种方式:向上扩展(Scale Up)和向外扩展(Scale Out)。面对海量数据处理,通过提升服务器性能进行Scale Up的方式在成本及处理能力方面均不能满足要求,唯一可行的方法就是进行Scale Out。关系数据库管理系统Scale Out的方法是通过对数据库的垂直和水平切割将整个数据库部署到一个集群上,这种方法的优点在于可以采用关系数据库管理系统(Relational Database Management System, RDBMS)这种成熟技术,但缺点在于它是针对特定应用的,应用不同切割方法不一样。

目前工业监测系统中常采用实时数据库(也属于内存数据库)和内存数据库。然而,内存数据库难以胜任智能电网中对大规模设备的监控,其原因主要包括以下几个方面。

(1)内存数据库对事务一致性具有很高的要求,而根据CAP(Consistency, Availability, Partition Tolerance)理论,一致性的高要求必然会制约其可扩展性。

(2)由于扩展能力差,使得可用内存容量有限,当数据超出内存可以管理的范围后,性能会急剧下降。

(3)内存数据库主要处理结构化数据,而智能电网系统中,既包括结构化数据,还包含大量的半结构化和非结构化数据。

1.4.3 云计算技术

大数据技术的需求是伴随着云计算平台的出现而出现的,故有必要介绍一下云计算技术。实际上目前云计算技术是大数据存储与处理技术的重要组成部分。由于大数据的数据量和分布式的特点,使得传统的数据管理技术难以胜任这种海量数据。

云计算的核心是海量数据存储和数据并行处理技术。其核心思想包括分布式文件系统(Distributed File System, DFS)和MapReduce技术,主要思路由Google公司提出。

DFS有着高容错性(Fault-tolerant)的特点,并且是为部署在价格低廉的硬件上而设计的,而且它为应用程序提供高吞吐量的数据访问,适合有着超大数据集(Jarge Data Set)的程序。Hadoop提供了DFS的一种开源实现(Hadoop Distributed File System, HDFS),该分布式文件系统放宽了可移植操作系统接口(Portable Operating System Interface, POSIX)的要求,可以实现流的形式访问(Streaming Access)文件系统中的数据,并具有高可靠性、高可扩展性以及负载均衡等能力。

MapReduce是2004年由谷歌公司提出的一个用来进行并行处理和生成大数据集的并行编程模型。Hadoop包括了MapReduce的开源实现,是引起关注的大数据处理技术之一。为使MapReduce并行编程模型更易使用,出现了多种大数据处理高级查询语言,如Facebook的Hive、雅虎的Pig、谷歌的Sawzall等。这些高层查询语言通过解析器将查询语句解析为一系列MapReduce作业,在分布式文件系统上并行执行。与基本的MapReduce系统相比,高层查询语言更适于用户进行大规模数据的并行处理。MapReduce及高级查询语言在应用中也暴露了在实时性和效率方面的不足,因此有很多研究针对它们进行优化。Cloudera发布了实时查询开源项目Impala 1.0 beta版,实测表明,它比原来基于MapReduce的Hive SQL查询速度提升3~90倍。Mahout是Apache开发的基于MapReduce的并行数据挖掘项目,相对传统数据挖掘算法,能够适应大规模数据集,性能大幅提升。

1.4.4 云计算在智能电网中的应用

智能电网中数据量最大的应属于电力设备状态监测数据。状态监测数据不仅包括在线的状态监测数据(时序数据和视频),还包括设备基本信息、实验数据、缺陷记录等,数据量极大,可靠性要求高,实时性要求比企业管理数据要高。

云计算技术在国内电力行业中的应用研究还处于探索阶段,研究内容主要集中在系统构想、实现思路和前景展望等方面。针对智能电网状态监测的特点,结合Hadoop,借助虚拟化技术、分布式冗余存储以及基于列存储的数据管理模式存储和管理数据,以保证电网海量状态数据的可靠和高效管理,目前还只是一个框架。为了解决电力系统灾备中心资源利用率低、灾备业务流程复杂等一系列问题,设计了云计算资源管理平台框架和部分模块,其目标是实现电力企业ERP(Enterprise Resource Planning)数据的备份,但尚未实现。有学者初步设计了电力系统仿真云计算中心的系统架构及其所属的层次:基础设施云、数据管理云、仿真计算云等。当前智能电网控制中心面临的严峻的挑战,提出物联网和云计算技术结合是新型控制中心的技术支撑。笔者课题组在实验室中搭建了Hadoop云计算平台,设计实现了基于Hadoop的电力设备状态监测存储系统,对动态时序数据、静态数据以及视频数据进行了存储、关键字查询与并行处理方面的研究,并对系统进行了测试,验证了云计算平台高可靠性、良好的可扩展性和数据并行访问的性能优势。

在国外,云计算应用目前已用于海量数据的存储和简单处理,已有实现并运行的实际系统。有学者分析了电力系统中不同用户的实时查询需求,设计了用于实时数据流管理的智能电网数据云模型,特别适合处理智能电网中产生的海量流式数据,同时基于该模型实现了一个实时数据的智能测量与管理系统。Cloudera公司设计并实施了基于Hadoop平台的智能电网在田纳西河流域管理局(Tennessee Valley Authority, TVA)上的项目,帮助美国电网管理了数百TB的电源管理单元(Pressure Measurement Unit, PMU)数据,突显了Hadoop高可靠性以及价格低廉方面的优势;另外,TVA在该项目基础上开发了superPDC,并通过openPDC项目将其开源,此工作将有利于推动量测数据的大规模分析处理,并可为电网其他时序数据的处理提供通用平台。日本Kyushu电力公司使用Hadoop云计算平台对海量的电力系统用户消费数据进行快速并行分析,并在该平台基础上开发了各类分布式的批处理应用软件,提高了数据处理的速度和效率。

对云计算平台应用于智能电网进行了详细的分析,得出的结论是:现有云计算平台可以满足智能电网监控软件运行的可靠性和可扩展性,但实时性、一致性、数据隐私和安全等方面的要求尚不能满足,有待进一步研究。