海量平台

2024-10-06

海量平台(共7篇)

海量平台 篇1

1 前言

随着电力信息化建设的不断推进, 大量实时和非实时系统得到建立, 大体可以分为监视系统、控制系统以及管理系统, 这些系统对电网的安全管理、安全生产以及经营起到了极其重要的作用。但已有的系统大多都是在不同时期由不同单位建设的。因此, 各系统的通信接口迥异, 无标准化的整体设计和建设规范, 系统间的数据关联较弱, 无法有效进行实时数据的共享与交互, 严重阻碍了电力信息化建设的发展。这也使得跨区多系统协作时, 系统间数据的传输容量, 传输效率得不到保证。建立标准化的实时数据服务平台显得十分必要。以下提出一种新的海量电网实时数据服务平台设计构架, 在研究各类电网系统数据即基本数据、运行数据、试验数据、在线监测数据和事故数据的基础上, 建立了标准化实时数据的数据接入格式, 统一了电网内系统间的数据通信协议, 消除了以往通信接口、数据存储接口以及服务接口相互孤立的缺陷, 形成了标准化的不同系统数据交互的海量实时数据的服务平台。

2 数据平台发展现状

由于电网实时系统应用范围的不断扩大, 以及安全分区的推进, 传统数据的传输交换结构已经无法满足现实的需求, 孤立接口模式来实现数据传输交换正逐渐被中心数据平台所代替。调度数据中心[1,2,3]向着一体化、集成化发展, 逐步形成图形、数据、模型等为一体的调度数据平台, 有效增强了电网应用系统间的数据交互与协同。实现电力生产海量实时信息交互和生产实时数据的共享的基础上, 需要更好地为电网的经济、安全运行以及经营管理服务。显然, 对于这一“企业级”的管理和生产需求, 调度数据中心却并不能完全满足, 因此, 企业级数据平台成为了研究热点。企业级数据平台的数据并非来自孤立单一的系统, 而是来源于电网中各部门相关的系统, 并且其数据平台能够为电网整体提供服务, 实现各类数据的共享与交互。

3 实时数据服务平台标准化

3.1 标准规定

国际电工委员会制定的IEC61970/61968协议标准以其先进的理念, 为电网自动化提供了指导, 给出了电网企业相关业务相适应的电网模型和接口规范, 即公共信息模型[4]CIM和组件接口规范CIS。这一协议标准彻底改变了电网中各系统信息无法有效交互, 效率较低等缺点, 使得电网中各电力信息化系统能够实现无障碍对接, 真正做到互通互联, 极大地降低了电网各系统的集成应用成本。CIM是整个IEC61970协议标准的核心部分, 是一个抽象的模型, 提供了标准化方法, 描述了电力系统中所有对象的逻辑结构和关系信息模型。这就使得能够把电网的物理设备层抽象为资源层, 不仅考虑到了主网的物理设备资源, 而且囊括了配用电等。传统的电力生产调度常常用CIM作为电网模型, 随着应用范围的不断扩大, 在其他相关电力业务的描述上使用也越来越广泛。比如电网电气、风电网、微电网[5]等都可以用CIM来建立电网模型, 获得抽象应用, 其意义不言而喻, 对电力系统中其他各类信息相关系统的集成与融合起到了指导性作用。从整体来看, 一整套CIM模型过于庞大、覆盖面广, 所建模对象之间的逻辑关系极其复杂, 因此, CIM中的对象类被对应成多个逻辑包, 某一个电力系统模型都对应着一个逻辑包。公共信息模型是由一组完整的包所组成, 这些包的集合逐渐发展成为独立的标准。

3.2 统一实时数据接入格式

3.2.1 标准体系结构

随着电力系统实时监控及决策支持系统的不断发展, 现有的电网内各系统间的数据交互性能、传输速率与安全可靠性以无法满足发展的需要, 建立能与海量数据流通相匹配的通信标准, 且能支撑电网中跨区域多系统的互通互联势在必行。应用较为广泛、技术较成熟的网络技术有ISO-OSI[6]参考模型, 这一参考模型大体上能够适应对电网中的实时动态数据的通信要求。ISO-OSI参考模型共分以下几层:应用层、传输层、网络层、数据链路层以及物理层。ISO-OSI参考模型中的传输层采用的是TCP协议, 面向链接的TCP能够提供可靠、全双工的字节流, 具有多路服用、全双工、控制流、同步和确认等功能。数据服务平台与其他各外部系统之间需要建立多通道和完成多发多收, 采用C/S模式的基于TCP的应用程序符合这些要求。各外部子系统的TCP/IP网络传输功能与数据的单元格式组成了实时数据传输的标准, 那么这个标准在基于TCP/IP的各类网络中均能使用。

3.2.2 数据单元格式

实时数据单元格式主要由4部分组成:头帧、命令帧、配置帧和数据帧。头帧规定了算法、变送器类型、模拟滤波器、数据源等说明性信息;命令帧规定了海量数据服务平台与电网各子系统通信的控制命令;配置帧主要描述了数据帧在传送实时数据时的数据类型及通信通道等信息。数据帧包含了同步相量测量值以及全球定位系统同步时间。而每个不同的帧有统一的功能字节分配, 前两个字节是帧的同步字 (SYNC) , 然后是占两个字节的帧字节数 (FRAMESIZE) , 再在后面的四个字节是世纪秒 (SOC) 。每个帧的帧头都提供了时间同步信息以及帧的类型, 帧与帧之间在传输的过程中无分界符, 每一帧都以CRC16校验字结束。

3.2.3 通信构架

海量数据服务平台与各系统之间的实时数据传输流程是通信标准的重要部分。实时通信基于面向连接的TCP通信协议, 使用C/S模式建立实时数据管道及管理管道, 图1简要说明了实时通信的建立过程。系统启动或重建通信时, 实时通信管道未建立, 服务平台与各系统的通信过程分解为若干子通信流程。

4 平台设计方案

4.1 整体架构

在建立配网模型标准、计量信息标准的基础上, 实现主配网信息的共享, 计量信息与配网设备的信息关联、主网设备与配网设备的关联以及设备功能位置与设备台帐的关联, 能够提供基于SVG图形的生产、运行综合信息的查询手段。配网系统和主站系统以适配器的方式接入海量实时数据平台, 系统的技术构架如图2。

4.2 技术路线

电网海量实时数据服务平台系统整体被设计为5个层次, 分别是用户接口、核心服务层、核心组件层、数据层以及操作系统层, 技术路线图3。用户接口层为用户提供统一的界面入口, 并根据授权的划分可以让用户能够完成不同模块应用。核心服务层提供以核心组件层为基础, 为标准协议层提供支持, 并且为各相关模块应用的调用的接口, 可使用本系统成为它们管理系统的一部分。核心组件层该层为实施实时协议标准提供支持服务, 其中核心组件层和核心服务层是基于C/S体系结构, 基于面向对象方法开发数据服务平台与相关基础组件和业务组件。数据层通过异构数据库各个组成部分的自治性, 实现数据的共享和透明访问, 同时实现不同数据库之间的数据整合, 其中每个数据库系统应保有自己的应用特性、完整性控制和安全性控制。操作系统层是基于C/S的架构, 支持各种流行的硬件平台和操作系统来为系统提供稳定安全的操作系统环境。

4.3 全网模型

分层、分区时我国电网管理与运行的典型特点, 所以电网信息的集成、交互、共享需以CIM来建立全网模型。全网模型的形成把各系统异构接口统一成标准化的接口方式, 使得可以任意获取电压等级范围内的设备参数、拓扑结构和电网模型。主要的核心设计是模型的导出以及全网模型的拼接与拆分。

4.4 数据接口

数据接口分为三大部分:配网系统适配器、计量自动化系统适配器以及生产系统接口。配网适配器连接信息集成平台与实时数据平台, 是其数据交互的接口, 依据CIM相关类对配网进行建模, 并且描述连接关系, 从信息集成平台获取按照CIM组织的配网模型和SVG图形。计量自动化系统适配器是实时数据平台接入计量主站系统的方式, 计量自动化系统相关量测数据的主要特点是多样, 因此, 量测与表计的模型需重点把握。生产数据与实时数据平台连接的接口可使用专用的接口方式, 生产系统接受展示服务器查询到的设备代码信息, 然后, 把设备缺陷信息或者设备台账反馈回去。

5 结束语

文中在提出适合电网实时数据传输的通信数据协议标准的同时, 给出了海量实时数据平台的设计方案, 通过研究各类电网系统数据即基本数据、运行数据、试验数据、在线监测数据和事故数据, 建立了标准化实时数据的数据接入格式, 统一了电网内系统间的数据通信协议, 消除了以往通信接口、数据存储接口以及服务接口相互孤立的缺陷, 形成了标准化的不同系统数据交互的海量实时数据的服务平台, 该数据平台能够提升电力系统整体的稳定性、安全性和可靠性, 为电网中各系统间海量数据的挖掘、分析、交互、共享提供途径, 极大的节约了电力生产中系统集成成本, 对于电网信息的整合起到了重要作用。

摘要:为了能够为电网中各系统间海量数据的挖掘、分析、交互、共享提供数据服务平台, 提出了对数据通信接入格式、数据存储以及相关服务接口标准化的海量实时数据服务平台。在分类分析现有控制、监视和管理系统中实时数据信息的基础上, 研究并设计了统一的实时数据接入格式, 并且详细描述分析了服务平台相关的设计方案。

关键词:实时数据,服务平台,数据接入,通信协议

参考文献

[1]丁鹏, 何云良, 陈国平, 等.金华电网基于IEC61970标准的SCADA/PAS一体化集成[J].浙江电力, 2005, 22 (1) :18-21.

[2]王晓波, 樊纪元.电力调度中心统一数据平台的设计[J].电力系统自动化, 2006, 30 (22) :89-92.

[3]孙宏斌, 李鹏, 李矛, 等.中国南方电网在线分布式建模系统研究与设计[J].电力系统自动化, 2007, 31 (10) :1-6.

[4]潘毅, 周京阳, 吴杏平, 等.基于电力系统公共信息模型的互操作试验[J].电网技术, 2003, 27 (10) :25-28.

[5]丁银, 丁明, 毕锐, 等.微电网系统CIM/XML模型研究[J].电力系统保护与控制, 2010, 38 (9) :37-41.

[6]李丹, 韩福坤, 郭子明, 等.华北电网广域实时动态监测系统[J].电网技术, 2004, 28 (23) :52-56.

海量平台 篇2

电力系统电磁暂态过程是电力系统中短暂的、但却非常重要的物理过程。所有的故障都伴随着相应的电磁暂态过程。因此,对电磁暂态的监测、记录和分析一直是电力系统中重要的研究方向。近年来,随着电子技术的快速发展,电力系统内暂态录波逐步向高采样率、连续稳态记录和海量存储方向发展[1],并且记录格式逐渐统一到了IEEE Std C37.111—1999标准[2]。目前,录波数据海量化的发展趋势明显,并且已经对各种基于串行编程实现的电力系统暂态数据分析软件[3,4,5]造成不小的压力,其中,最明显的就是当采样点数过多、多个模拟量通道集中显示时,反应速度都较慢,甚至有的软件系统出现了由于图形系统绘制效率过低而导致的系统完全失去响应,最终只能强行退出的情况。

在计算机硬件技术发展方面,随着芯片设计和制造工艺逐步达到了物理极限,在过去40年中,指导CPU时钟频率发展的摩尔定律逐步走向终结。CPU性能上的提升转而通过改变其原有的体系结构,即由单核转变为多核来实现。多核计算机的出现、发展和迅速普及带来了一场计算技术革命:原来传统的、面向单核的串行编程技术被完全颠覆,逐渐被基于多线程模式的并行编程技术所取代。过去软件完全依赖CPU主频来提高运行速度和效率的时代已经过去,软件要提高运行速度和效率,就必须依赖于软件系统本身在设计上适应新的计算机体系结构。

针对这2个方面的发展趋势,结合多年从事电力系统故障分析软件研究的基础[3,6,7,8,9],通过研究对比Windows和UNIX下的各种绘制技术,本文提出并实现了可跨平台的海量COMTRADE波形数据并行绘制算法,可有效提高面向海量故障录波数据、海量广域测量数据和海量电能质量录波数据的软件显示效率。算法可以随着未来CPU核的数量的增加和绘制工作量的增加,获得线性加速比,适应计算机硬件体系结构发展的需要。

1 算法基础分析

文献[9]把传统设计中通道图形对象与通道录波数据之间的包含关系改造成相识关系,实现了录波分析软件中与波形数据量无关的图形撤销算法。本文在文献[9]基础上进一步改造传统暂态分析软件中录波数据、通道图形对象、用户控制这三者间的关系,使得改造后的新关系能让并行绘制成为可能。

传统的基于串行绘制的关系和改造后的基于并行绘制的关系分别如图1和图2所示。

从图1可见,在传统的基于串行绘制方式的关系中,一切都是紧耦合的,所有需要显示的波形数据采用串行方式在单一图层上进行绘制,效率低下。无疑这种关系下的绘制系统已经不能适应并行计算技术的发展。而在如图2所示基于并行绘制方式的新型关系中,数据和图形已经被解耦,并且把原有的单一图层划分为波形图层和用户控制图层。其中,由于波形图层的绘制量占总绘制量的99%以上,所以,要提高绘制效率就必须充分利用多核计算资源,将绘制过程并行化。而用户控制图层用于绘制与用户进行交互的图形提示信息(例如标签、坐标等)和数据显示信息(例如计算结果等),这部分绘制工作量非常小,所以可采用串行方式进行绘制。

2 绘制技术选取

为实现海量COMTRADE波形数据的并行绘制,分别采用如表1所示绘制技术进行试验,并得出了相应的是否支持并行绘制的试验结果。

由于目前绝大多数第三方电力暂态数据分析软件都基于Windows技术开发,于是试验1首先采用“GDI+位图”技术模式。试验1内容为:采用2个映射到不同CPU核的线程,在不同设备上下文(device context, DC)、不同位图上进行绘制,并记录单一线程和双线程并行执行下的耗时。通过试验发现,由于Windows内部所有的图形设备接口(GDI)对象(画笔、画刷等)都是进程所有而非线程所有,因此,这种技术模式只能实现并发绘制,而无法实现并行绘制。并发绘制过程中,由于Windows图形内核会自动进行同步,所以导致线程由于不断切换而引起效率严重下降。由于OpenGL规范中支持多线程绘制,于是试验2采用了“GDI+位图+OpenGL”技术模式, 结果发现在不同DC(不管是不是兼容DC)中,Windows只允许进程中一个DC在同一时间绘制兼容位图,但是,由于具体绘制时使用OpenGL而不是GDI对象,所以绘制速度与试验1相比有小幅改善,但还是明显慢于此技术组合下相同工作量的单线程,因此,这种技术模式也只支持并发绘制而不是并行绘制。

由于Windows下的图形绘制技术都无法实现并行绘制,于是转向UNIX下的图形库X11。试验采用最新的QT4[10]库,其图形库部分就是在X11的基础上实现的。试验3采用“QImage+QPainter”技术模式,结果发现由于X11库中绘制对象完全是线程独立的,因此可以实现并行绘制。试验4采用“QImage+QGLPixelBuffer+QPainter+OpenGL”技术模式,也就是在QGLPixelBuffer中采用OpenGL绘制(QPainter用于控制OpenGL的绘制目标设备为QGLPixelBuffer),而后再转换为QImage,通过试验发现,这种技术模式可以实现并行绘制,但由于要在多种不同绘制图层中进行类型转换,所以效率没有试验3采用的技术模式快,并且由于波形绘制都是二维,因而试验3的方案就可满足需要,因此,选用“QImage+QPainter”技术方案作为并行绘制算法所采用的技术模式。

3 并行绘制算法

3.1 算法步骤

如图3所示,算法被设计成并行流水线模式,同时有多个通道绘制线程在不同的QImage上绘制图形。每个线程的绘制工作量划分采用如下公式计算得到:

{ΜDrawSΙ=ΜSΙ+(ΜEΙ-ΜSΙ)(ΝΙD-1)ΡΜDrawEΙ=ΜSΙ+(ΜEΙ-ΜSΙ)ΝΙDΡ(1)

式中:MDrawSI和MDrawEI分别为每个通道相对于通道数据原始保存数组的起始下标和结束下标(也就是每个线程对于此通道的实际绘制范围);MSI和MEI分别为需要显示的通道数据原始保存数组起始下标和结束下标(也就是通道当前需显示范围);P为系统CPU核的个数;NID为线程ID号,取值范围为1~P

通过把每个需显示通道的绘制量均匀分到每个线程上,实现了负载平衡。

下面采用跨平台的线程库Pthreads[11]详细阐述算法步骤:

步骤1:采用Phtreads应用编程接口(API)函数pthread_num_processor-s_np 获取到当前系统的CPU核的个数P。创建开始绘制条件变量StartDraw和每个线程可共享的图像对象QImage,建立P个相同的通道绘制线程(指定线程ID号NID为线程创建顺序序号1~P)。建立单一的用户图形操作绘制线程。调用Pthreads API 函数pthread_attr_setscope设定线程运行模式为系统竞争模式,以保证绘制过程中占据所有CPU核。

步骤2:在窗口大小改变等触发窗口重绘的消息函数中,获取当前可视窗口大小,经过坐标转换、映射后得到后台实际窗口坐标系中的当前可视矩形区域。通过通道矩形与当前可视矩形区域的与运算获取需要显示的通道列表及其对应的数据显示范围(即式(1)中需显示的波形数组起始下标MSI和结束下标MEI),并将这些信息做全局共享。

步骤3:触发开始绘制通知条件变量StartDraw,激活所有线程在其自有的可共享QImage对象上进行绘制。对于波形绘制线程而言,获取通道显示列表及其对应的不同显示范围后,对于每一个通道采用式(1)计算出需要绘制范围MDrawSI和MDrawEI,绘制对应波形。而在用户图形操作绘制线程中,则将当前的各种用于与用户交互的图形信息在其内的QImage对象内进行绘制。各个线程绘制结束后,向主窗口发送异步自定义通知事件FinishEvent。最后,各个线程重新被条件变量StartDraw阻塞,等待下一次激活。

步骤4:在主窗口中的FinishEvent事件响应函数中判断是否所有线程已经绘制结束。如已经绘制完毕,将所有通道绘制线程所对应的可共享QImage进行融合,得到波形绘制图层,之后再与用户图形操作绘制线程内可共享的QImage对象融合,并将最终融合结果提供给主窗口进行贴图显示。

步骤5:主窗口关闭时,依次对每个线程调用Pthreads API函数 pthread_cancel进行退出,再依次调用pthread_join等待所有线程全部安全退出。

3.2 通道绘制线程内的详细算法伪码

通道绘制线程内的伪码如下:

从以上伪码可知,通道波形绘制只需要触发开始绘制条件变量StartDraw即可,只在需要绘制时才占用CPU资源。在没有触发重新绘制以前,主窗口中只是在以极快的速度贴图而已,因此算法效率很高。参数Format_ARGB32_Premultiplied的意义是产生可供融合的特殊Alpha通道图像。

3.3 图层融合详细算法伪码

图层融合的伪码如下:

可见,QImage的融合算法非常简明,只是在一幅透明QImage对象上不断进行图像的“与”运算,所以速度很快。CompositionMode_Sourceover参数的意义是在透明图形上进行与运算。

4 试验结果

算法试验所采用计算机配置为4核,单核2.4 GHz,内存2 GB。试验中采用需绘制点数为20万点的模拟量通道对象,绘制图形大小为1 024×768。试验中忽略用户图形操作线程及其耗时,试验结果如表2所示。

从表2可见,抛开图形融合耗时,此算法已实现了效果非常理想的并行绘制,而图像融合耗时增加也只是每增加一个QImage对象,增加6 ms~7 ms的耗时,并且图像融合耗时相对于并行绘制时间要小得多。此试验表明采用本文算法后在4核计算机上就可将图形系统的响应速度提高3倍,因此,该多核并行绘制算法可有效改善海量波形绘制系统的性能。另外,从表2也可知,此算法可随着CPU核的数量的增加和绘制量的增加,获得线性加速比。

5 结语

随着电力系统信息化建设的快速发展,各种暂态数据的分析处理在电力系统运行中的地位将越来越重要。因此,各种第三方暂态分析软件如何有效利用多核并行计算资源来应对暂态数据海量化的发展趋势,将会是所有厂家都必须面对的挑战。本文所提出的并行绘制算法完全采用了跨平台技术,适应了电力系统软件跨平台的发展趋势,同时也适应了多核并行计算的发展趋势,可有效改善当前所有此领域内串行绘制系统的响应速度。

摘要:针对当前第三方电力暂态数据分析软件在绘制海量波形数据时出现的效率低下、反应缓慢情况,结合多核并行计算技术,提出了一种可跨平台的海量COMTRADE波形数据并行绘制算法及其技术。该算法在分析传统串行绘制系统内部关系的基础上,提出了基于并行绘制的新型关系:将原有单一图层分为波形图层和用户控制图层,其中以并行方式绘制波形图层,而后通过融合图层方式完成最终绘制。通过试验分析Windows和UNIX下的各种图形绘制技术,找到了最适合海量波形数据并行绘制的跨平台技术组合:“QImage+QPainter”技术模式。结合跨平台的线程库Pthreads,详细论述了并行绘制算法的每个步骤,给出了让通道绘制线程能负载平衡运行的绘制工作量均分公式,同时给出了通道绘制线程和图层融合详细算法的伪码。试验证明所提出的并行绘制算法可获得较大加速比,并可随着绘制工作量的加大和CPU核的增多,获得线性加速比。

关键词:COMTRADE,海量数据,并行绘制,QT4,Pthreads

参考文献

[1]白青刚,夏瑞华,周海斌,等.采用高性能集成芯片的故障录波故障设计.电力系统自动化,2005,29(22):94-96.BAI Qinggang,XI A Ruihua,ZHOU Haibin,et al.Design of fault wave recording device using high performance integrated microchip.Automation of Electric Power Systems,2005,29(22):94-96.

[2]Power System Relaying Committee of the IEEE Power Engineering Society.IEEE Std C37.111—1999IEEE standard common format for transient data exchange(COMTRADE)for power systems.1999.

[3]桂勋,郭凯,谭永东,等.基于网络的全图形化故障录波分析软件系统.继电器,2004,32(24):44-50.GUI Xun,GUO Kai,TANG Yongdong,et al.All-graphic software system for fault record analysis based on network.Relay,2004,32(24):44-50.

[4]郑敏,黄华林,吕鹏,等.故障录波数据通用分析与管理软件的设计.电网技术,2001,25(2):75-77.ZHENG Min,HUANG Hualin,L Peng,et al.General analysis and management software for transient data from protective relaying and fault recorder.Power System Technology,2001,25(2):75-77.

[5]杜新伟,李媛,刘涤尘.电力故障录波数据综合处理系统.电力系统自动化,2006,30(12):75-80.DU Xinwei,LI Yuan,LI U Dichen.Integrated processing systemfor power fault recording data.Automation of Electric Power Systems,2006,30(12):75-80.

[6]桂勋,刘志刚,钱清泉.基于模式的电力系统通用可扩展故障分析软件系统.电力系统自动化,2007,31(15):99-102.GUI Xun,LI U Zhigang,QI AN Qingquan.General extensible fault analysis software for power system based on patterns.Automation of Electric Power Systems,2007,31(15):99-102.

[7]桂勋,刘志刚,钱清泉.故障录波分析中的三维分析方法.电力系统自动化,2007,31(17):99-102.GUI Xun,LI UZhigang,QI AN Qingquan.3-Danalysis method for wave record fault analysis.Automation of Electric Power Systems,2007,31(17):99-102.

[8]桂勋,姚兰,钱清泉.可扩展的电力系统故障集成分析环境.继电器,2007,35(7):1-5.GUI Xun,YAO Lan,QI AN Qingquan.Expansive integrated analysis environment for power system fault.Relay,2007,35(7):1-5.

[9]桂勋,姚兰,钱清泉.录波分析软件中的图形状态记忆算法.电力自动化设备,2007,27(9):35-39.GUI Xun,YAO Lan,QI AN Qingquan.Memory algorithm of wave chart state in fault record analysis software.Electric Power Automation Equipment,2007,27(9):35-39.

[10]BLANCHETTE J,SUMMERFIELD M.C++GUI programming with QT4.2nd ed.Englewood Cliffs,NJ,USA:Prentice Hall,2008.

海量平台 篇3

关键词:数据挖掘,Hadoop体系,参数配置,map/reduce程序,海量数据

1 前言

海量数据有Internet Web数据、 视频图像、 企业数据、 公共服务管理数据、 医学图像数据。 数据挖掘实际是创新的技术, 最令人感兴趣的是在基因技术中发现DNA子序列。 海量数据挖掘不仅能发现所需的知识为决策服务, 数据分析还能发现模式和规律; 而且在海量数据存储在分布式系统的新阶段, 数据挖掘技术也升级为分布式数据挖掘。 云计算的Iaa S能解决海量数据挖掘的底层系统设施问题, 谷歌的GAE, 雅虎的YAP, IBM的 “蓝云”, 亚马逊的AWS, 微软的Azure都是云计算产品和服务系统。 Hadoop是开源项目Nutch的子项目, Apache基金会开发的分布式计算平台。 基于Hadoop云计算系统的复杂数据挖掘技术, 可实现不同领域的应用, 生物信息学、 商业数据分析、 汽车计算机辅助制造等, 获得了良好的商业价值。 中国移动基于云计算的数据挖掘服务系统WPDminer, 立足提供下一代互联网服务。 中国电信也参加了全球云计算测试平台Open Cirrus[1]。

分布式数据挖掘优化管理存储在不同地理位置的海量数据, 而且采用数据一次写入、 多次读取的方法。 Hadoop云计算有3 大主要系统: 文件系统HDFS、 分布式编程模式Map/Reduce和分布式数据库Hbase; 包括10 个组件, 分布在上百个网络结点或上千个PC机组成的集群中。 整合不同Hadoop系统的云计算资源, 则可实现第三代互联网技术[2]。

2 Hadoop体系的参数配置和运行系统设置

布署Hadoop集群系统有4 个步骤:计算机系统安装和网络构建, SSH认证, Hadoop参数配置, 部署和运行。

2.1 系统硬件、软件和网络参数配置

Hadoop实验系统包括主结点master和数据结点, 称为主从节点式系统。 建立集群, 实验系统有4 个节点, 一个命名节点Namenode和3 个数据节点datanode。 硬件系统配置:CPU:intel Pentium Dual-Core3.20GHZ, 内存4G, 硬盘400G。

2.1.1 局域网IP地址配置

如表1 所示。

2.1.2 /etc/hosts文件配置

集群master节点作为命名节点, /etc/hosts文件中包括所有数据节点的内容。 而Datanode节点的/etc/hosts文件配置包括此数据节点, 以Hadoop2 为例, 如表2 所示。

2.1.3 软件配置

操作系统: linux 6.0, Hadoop版本: Hadoop 0.20.0, SSH client/Server: Hadoop运行要求SSH的设置必须准确。 此外, 还包括JDK 1.6.0 和Eclipse 7.5 Linux。

2.1.4 文件系统设置

集群中所有节点的文件系统部署相同, 用户名使用Hadoop, 目录名/home/Hadoop/Hadoop-0.20.0。

2.2 SSH设置

首先, Namenode Hadoop通过SSH无密码公钥方式启动Hadoop1~Hadoop3 上的守护进程。 然后用Hadoop的命令生成密码对, 有一个私钥id_rsa和一个公钥id_rsa.pub。 公钥应复制到所有datanode结点, 保存在/home/Hadoop/.ssh/authorized_keys文件中; 而私钥保存在namenode结点上, 存储路径是/home/hadoop/.ssh/id_rsa。 注意文件的读写权限设置为:$>chmod 644 authorized_keys。 一次公钥认证过程是:

(1) Hadoop向Hadoop2 发起SSH连接。

(2) Hadoop2 生成一个随机数, 并且用公钥进行加密。

(3) Hadoop收到Hadoop2 加密的数后, 用私钥解密, 并发送到Hadoop2。

(4) Hadoop2 发现数相同, SSH认证完成, 建立SSH连接。

接着在集群所有机器上对sshd服务进行配置, 修改文件/etc/ssh/sshd_config文件。

最后进行测试。 Hadoop向Hadoop2 发起SSH连接, $>ssh hadoop2。

2.3 Hadoop配置文件设置

Hadoop体系配置文件有hadoop_env.sh、 hadoop -site.xml和masters、 slaves文件[2]。

修改hadoop-site.xml文件需应用Java编程。 设置主从结点时, 将masters文件的localhost改成Hadoop (namenode) , 修改slaves文件去除localhost而加入datanode, 每个机器一行, 如表3 所示。

2.4 Hadoop运行的参数配置

包括部署分布式系统和运行集群系统的主进程两个过程。在集群系统的所有节点上部署Hadoop体系。 并且在namenode上产生新的分布式文件系统, 用格式化的方法。

在namenode上启动主hadoop进程: $>bin /start-all.sh。

则namenode启动namenode、 secondary namenode和jobtracker 3 个进程, 而在datanode上启动datanode和tasktracker两个进程。 Jobtracker是唯一的, 而tasktracker是多个的。 每个节点都应运行主进程。

3 Hadoop体系的分布式数据挖掘技术

分布式数据挖掘技术有基于主体 (ontology) 、 网格和云计算3 种方法。 Hadoop体系应用分布式数据挖掘技术的关键是实现算法的并行。 分布式数据挖掘算法有SPRINT (数据分类) 、 LWLR、 SBC算法等。 分布式系统要求Hapood体系能实现松耦合, 在提供统一标准的条件下, 实现建模和调度, 模块动态组合和互操作, 保证系统一致性和扩展性。

数据挖掘系统包括数据源服务器、 数据预处理、 数据挖掘引擎、 模式评估、 知识表示、 图形界面和知识库, 系统组成见参考文献1。 数据预处理对不同数据结构进行数据格式转换, 数据分析是关键技术, 包括概念特征和类描述、 大量数据的频繁模式和多维关联、 具体数据的标号分类与预测、 数据类型标号的聚类分析。 模式评估采用置信度等统计方法。数据挖掘引擎和模式评估都用到知识库。

Hadoop体系运营并行数据挖掘算法, 实现了数据集划分、TCP/IP消息传递协议、 数据传递协议、 map/reduce、 写入时备份策略、 错误处理和安全等关键技术。 在Hadoop之上运行数据挖掘组件, 包括并行处理、 数据加载、 模式评估、 结构存储和并行ETL组件。 工作流和主服务响应功能则更靠近操作系统。 图形界面为用户提供管理和响应管控。 数据挖掘算法进行map/reduce编程后在Hadoop体系中应用, 技术架构和实现过程是[3]:

(1) 完成数据挖掘算法的map/reduce编程, 在client运行map/reduce program。

( 2) Client向namenode提交元数据操作, namenode的Jobtracker进程初始化。

(3) Client将fork () 一个datanode中的进程分割并复制数据源文件, 存储在HDFS中。

(4) Namenode指派map任务到datanode。 Map和reduce任务都是子模块的相应函数。

( 5) Datanode的Task Traker进程解析出 ( key, value) 对, map函数处理后保存中间结果。

(6) 本地写入到文件中。 Namenode分派reduce节点, 并传递中间结果的位置信息。

(7) Reduce结点远程读取中间结果, 数据挖掘算法的reduce函数进行归约操作。

(8) 当所有数据挖掘算法的map, reduce完成后, 保存模式产生的知识表示到输出文件。

(9) 数据挖掘应用程序又取得系统控制权, 获得输出文件。

4 结语

Hadoop体系在参数配置后, 应用Java编程环境编写map/reduce程序, 则能运行海量数据的数据挖掘技术, 可在大型数据库、 计算机辅助制造、 医学和生物信息学、 金融和商业系统的决策、 图像处理、 模式识别中应用。 基于Hadoop体系的数据挖掘技术在集群系统中获得了最广泛的应用。

参考文献

[1]杨宸铸.基于Hadoop的数据挖掘研究.重庆大学, 2010.

[2]张良将.基于Hadoop云平台的海量数字图像数据挖掘的研究.上海交通大学, 2013.

海量平台 篇4

海量数据有internet web数据, 视频图像, 各类企业数据, 公共服务部门管理数据, 例如道路交通数据、医学图像数据。数据挖掘实际是创新的技术, 最令人感兴趣的是在基因技术中能发现DNA的子序列。因此, 对海量数据能发现人们所需的、新颖的、有价值的知识和信息, 从而为政府和商业决策服务;经过数据分析发现模型、模式和规律是数据挖掘最重要的功能。在新技术时期, 不再是单机存储的时代, 海量数据存储在分布式系统中, 数据挖掘技术也升级为分布式数据挖掘。云计算能存储海量数据, 基础架构资源 (基础设施即服务Iaa S) 能解决海量数据挖掘的底层系统设施问题。国际计算机软件公司, 互联网供应商和电子商务企业都建立了云计算产品和服务系统。谷歌的GAE, 雅虎的YAP, IBM的“蓝云”, 亚马逊的AWS, 微软的Azure云计算平台。Hafoop是开源项目Nutch的子项目, 是Apache基金会开发的分布式计算平台。基于Hadoop云计算系统的数据挖掘系统, 可实现不同领域的应用, 生物信息学、商业数据分析、绿色生态环境、汽车等计算机辅助制造、智能医学、信息检索都应用复杂数据挖掘技术, 获得了良好的商业价值。中国移动基于云计算的数据挖掘服务系统WPDminer, 立足提供下一代互联网服务。中国电信也参加了全球云计算测试平台Open Cirrus[1]。

分布式数据挖掘则对海量数据进行优化管理, 对大量存储在不同地理位置的分散数据, 根据用户需求, 获得有价值的数据知识和信息。云计算对海量数据的存储技术采用数据一次写入、多次读取分析的方法。基于Hadoop实现的云计算体系有三大主要系统:文件系统HDFS、分布式编程模式Map/Reduce和分布式数据库Hbase。Hadoop环境则包括10个组件, 分布在上百个网络结点中, 或者数据中心上千个普通PC机组成的集群上, 不同Hadoop系统产生了云计算市场。整合云计算资源, 则可实现第三代互联网技术[2]。Mahout是基于Hadoop产生的机器学习和数据挖掘大型数据库, 关键技术是分类、聚类和频繁项集, 提供了多种数据挖掘算法的并行实现。Mahout能更快地构成合同用户所需的数据挖掘系统, 并且更便捷地应用到公有云和企业运营系统中。当前Mahout发展到了第四版。基于Hadoop的数据挖掘云计算系统将逐渐升级, 整合更多的并行算法, 平稳发展, 获得更广泛的应用。

1 Hadoop体系的参数配置和运行系统设置

布署Hadoop集群系统有四个步骤:计算机硬件系统和网络构建和软件系统安装, SSH认证, hadoop参数配置, hadoop部署和运行。

1.1系统硬件、软件和网络参数配置

Hadoop实验系统包括主结点master和数据结点工作网站, 称为主从节点式系统。建立在集群上或者局域网中。至少有两台计算机, 分别作为命名节点Namenode和数据节点datanode, 若在一台PC机上设置虚拟机, 则可有多个数据节点。

硬件系统配置:CPU:intel Pentium Dual-Core3.20GHZ, 内存4G, 硬盘400G, 4个PC机。

(1) 局域网IP地址配置。

(2) /etc/hosts文件配置。

集群master节点作为命名节点, 则/etc/hosts文件中还包括所有数据节点的内容

(3) 软件配置。

操作系统:linux 6.0

Hadoop版本:hadoop 0.20.0

SSH client/Server:网络软件, hadoop运行要求SSH的设置必须准确。

Java执行环境:JDK 1.6.0

集成开发环境:Eclipse 7.5 Linux

(4) 文件系统设置。

集群中所有计算机的文件系统部署相同, 用户名都使用hadoop, 目录名为:

/home/Hadoop/Hadoop-0.20.0

1.2 SSH设置

首先, Namenode hadoop通过SSH无密码公钥方式启动datanode hadoop1~hadoop3上的守护进程。然后用hadoop的命令生成密码对, 有一个私钥和一个公钥, 公钥应拷贝到所有datanode结点, 而私钥保存在namenode结点上。生成的密码对id_rsa和id_rsa.pub, 存储路径是/home/hadoop/.ssh/id_rsa。公钥id_rsa.pub复制到所有datanode的/home/Hadoop/.ssh authorized_keys文件中。注意文件的读写权限可设置为

$>chmod 644 authorized_keys。

一次公钥认证过程是:

(1) hadoop向hadoop2发起ssh连接;

(2) hadoop2生成一个随机数, 并且用公钥进行加密;

(3) Hadoop收到hadoop2加密的数后, 用私钥解密, 并发动到hadoop2;

(4) Hadoop2发现数相同, 则一次SSH认证完成, 建立了SSH连接。

接着在集群的所有机器上对sshd服务进行配置, 修改文件/etc/ssh/sshd_config文件。

#去除密码认证

Pasword Authentication no

authorizedkey File/home/Hadoop/.ssh/authorized_keys

最后, 进行SSH测试。Hadoop向hadoop2发起ssh连接,

$>ssh hadoop2

1.3 Hadoop配置文件设置

Hadoop云计算体系配置文件有hadoop_env.sh.hadoopsite.xml和masters、slaves文件[2]。

修改hadoop-site.xml文件, 应用java语言编程, 篇幅所限, 不再多写。设置主从结点时, 将masters文件的localhost改成hadoop (namenode) , 修改slaves文件去除localhost, 而加入datanode, 每个机器一行。

1.4 Hadoop运行的参数配置

包括部署分布式系统和运行集群系统的主进程两个过程。在集群系统的所有节点上部署hadoop系统。并且在namenode上产生一个新的分布式文件系统, 用格式化的方法,

$>cd/home/Hadoop/Hadoop-0.20.0

$>bin/hadoop namenode-format.

在namenode上启动主hadoop进程

$>bin/start-all.sh

则在namenode上能启动namenode, secondary namenode和jobtracker三个进程, 而在datanode上进启动datanode和tasktracker两个进程。Jobtracker是唯一的, 而tasktracker是多个的。然后在每个节点运行主进程。集成开发环境则是Eclipse。

2 Hadoop体系的分布式数据挖掘技术

分布式数据挖掘技术主要有基于主体 (ontology) 、网格和云计算三种方法。在Hadoop体系中应用分布式数据挖掘技术的关键是实现算法的并行, 而且算法的可扩展性应该很好。分布式数据挖掘算法有SPRINT (数据分类) 、LWLR算法、SBC算法等。分布式系统中并行运行多个数据挖掘算法, 因此要求Hapood体系能实现松耦合, 在提供良好统一标准的条件下, 能实现应用建模和调度, 模块的动态组合和互操作, 保证系统的一致性和扩展性。

数据挖掘系统的输出是数据的相同属性和未来数据的走向。数据挖掘系统包括数据源服务器、数据预处理、数据挖掘引擎、模式评估、知识表示、图形界面、知识库, 分别实现输入数据、数据预处理、数据分析、模式产生、输出表示、用户GUI功能、指导数据挖掘过程。数据挖掘系统组成见参考文献1。数据预处理对海量数据的不同数据结构进行数据格式转换。数据分析是主要的数据挖掘技术, 包括概念特征和类描述、大量复杂数据的频繁模式和多维关联、具体数据的标号分类与预测、数据类型标号的聚类分析。模式评估采用置信度等方法选择有用的模式。数据挖掘引擎和模式评估都要用到知识库。

Hadoop体系运营并行数据挖掘算法, 实现了数据集划分、TCP/IP消息传递协议、节点间数据传递协议、并行编程模式map/reduce、写入时备份策略、错误处理和安全等关键技术。在hadoop之上运行数据挖掘组件, 包括并行处理、数据加载、模式评估、结构存储和并行ETL组件。工作流和主服务响应功能则更靠近操作系统。在图形界面为用户提供管理、展示和响应管控。数据挖掘算法进行map/reduce编程后在hadoop体系中应用, 技术架构和实现过程是[3]:

(1) 用户完成数据挖掘算法的map/reduce并行编程, 并且在客户端client运行map/reduce program。

(2) Client向namenode提交数据挖掘算法的元数据操作, namenode的Jobtracker进程初始化。

(3) Client将fork () 一个datanode中的进程, 分割并复制数据源文件。存储在HDFS中。

(4) Namenode指派map任务到空闲datanode。Map和reduce任务都是数据挖掘算法组成子模块的相应函数, 并且根据并行策略实现。

(5) Datanode的Task Traker进程解析出 (key, value) 对, 经过map函数处理, 保存中间结果。

(6) 本地写入到文件中。Namenode分派reduce节点, 将中间结果的位置信息传递到reduce结点

(7) Reduce结点远程读取map结点的中间结果, 数据挖掘算法的reduce函数进行归约操作。

(8) 当所有数据挖掘算法的map, reduce完成后, 将模式产生结果的知识表示形式保存在输出文件中。

(9) 用户数据挖掘应用程序又取得系统控制权, 获得输出文件, 并且从调用点继续执行程序。

海量数据的困难在于数据结构的形式, 这是数据挖掘系统中数据预处理子系统的工作。在分布式数据挖掘系统中的另一个难点在于算法实现并行的方法。然而在hadoop体系中由于map/reduce并行编程的应用, 这些困难都得到了解决。

3结语

Hadoop体系在云计算系统中由于良好的性能和开源模式, 在集群系统中获得了最广泛的应用。Hadoop体系在参数配置后, 应用java编程环境编写map/reduce程序, 则能运行海量数据的数据挖掘技术, 可在大型数据库、计算机辅助制造、医学和生物信息学、金融和商业系统的决策、图像处理、模式识别中应用。

参考文献

[1]杨宸铸.基于Hadoop的数据挖掘研究[M].重庆大学.2010

[2]张良将.基于Hadoop云平台的海量数字图像数据挖掘的研究[M].上海交通大学.2013

海量平台 篇5

随着社会的信息化发展,很多部门逐渐建立起各自的业务信息系统,但由于各业务系统建立时间和提供商不同,也导致各种数据的存在形式、来源和记录格式也各不相同,这对各部门、各系统之间实现数据共享带来不便。同时,随着社会高速发展,各企业部门对数据的“实时性”需求也越来越高,因为数据实时性越高,便更有利于企业部门高层作出更及时、更准确的决策。特别对于那些目前仍然主要采用以“文件形式”记录数据的部门来说,将具有多种来源途径和记录格式的文件型数据实时处理、集成,并最终建立统一、透明的“综合数据实时共享平台”,为企业或部门的高端决策提供实时数据支持,已是迫在眉睫。

以“文件形式”记录的数据在存储、提取、使用效率以及统计查询等方面仍存在较多不便。首先各类数据的“多源”存储,给数据文件的获取带来不便,同时也较不稳定;其次,各类数据的“记录格式”不统一,也不利于数据信息的提取;再者,数据的“文件型”记录,造成数据的“多次使用必须多次提取”,特别是对于部分数据在抽取完成后需要进一步处理加工过程时,就很大地影响了数据的使用效率,也加重了系统的负荷;最后,随着各类数据文件的日积月累,一方面容易造成文件的丢失,另一方面也不方便数据的管理和历史信息的查询统计。

针对目前数据文件在这些方面的不足,本文设计并实现了“多源异构海量数据实时处理平台”,该平台能实时从多种数据路径获取并处理多种数据文件,并按照各数据记录格式实时提取并将处理完的数据保存到数据库,不仅克服了文件型数据在保存、使用效率和统计查询等方面的不足,而且实现了各业务系统之间“多源异构数据”的实时共享。同时,将各类数据都统一保存到数据库后,对其他基于数据库开发的信息系统的开发与发展具有很大的意义[1]。

1 系统分析

1.1 系统数据源分析

目前各企业部门业务系统的数据来源途径主要有四种:远程FTP服务器、局域网数据服务器、局域网数据库服务器和本地数据服务器[2]。

(1)远程FTP服务器:系统平台通过互联网连接一台或多台FTP服务器,文件更新频率可能各不一样,对服务器存储的文件有下载权限。

(2)局域网远程数据服务器:在局域网内部,但物理距离较远,建立多台远程数据服务器实现数据共享,主要用作存储各种类型的文件型数据,各文件更新频率不定。

(3)局域网数据库服务器:在局域网内部,有部分数据经过其他系统处理,将处理完的产品数据保存到局域网的数据库服务器,通过权限设置为其他主机提供数据共享。

(4)本地服务器:本地服务器主要存放一些本地的数据文件。

系统数据源总体架构如图1所示。

1.2 系统设计目标

建立“多源异构海量数据实时处理平台”在功能上主要包括以下目标:

(1)系统具有基本的参数设置功能。主要是对各种数据存放位置的设置,比如:设置数据路径、FTP站点、必要信息的增删改查等。

(2)系统能够实时监测各类数据,对于最新更新的数据文件,能够实时获取并处理,并且最终保存到数据库中,同时能够通知其他系统实时使用最新数据。

(3)系统能够完成必要的数据保存、备份以及其他的各种维护功能。

(4)该系统能够24小时不间断运行于服务器端,必须保证数据的实时性、准确性以及系统的稳定性。

(5)基于软件设计的基本宗旨,该系统应具有良好的可扩展性。

2 系统设计

2.1 系统框架

根据本系统大的设计要求和目标,系统总体框架主要分为实时监测模块、实时处理模块和实时保存模块。

实时监测模块主要功能是对所有数据源上的数据文件进行实时监测,当有新增文件或者有文件内容发生变动时,能够实时获取该文件,然后交予实时处理模块处理。

实时处理模块主要功能是实时处理由实时监测模块监测到的新增或者内容发生变动的文件。该模块主要包括文件判断和文件处理两个功能,文件判断主要是用于判断实时监测到的文件是否为需要处理的文件,而文件处理主要包括数据抽取和数据加工。具体处理细节按照各种数据文件的要求不同。

实时保存模块主要是将实时处理完成后的数据保存到数据库中,并且在数据库中形成相应记录以通知其他系统的实时使用最新数据[3,4]。

此外,系统还包括了数据备份、数据清理等一系列必要的数据库维护功能。为了数据的安全,数据备份是必不能少的。本系统处理的数据种类较多,而且各种数据的使用情况各不相同,其中,有些数据需要永久保存,而有些数据只是用作最近时段的实时展示,有效时限较短但占用资源又较大,所以不需要永久保存,对这些数据则需要系统定时清理。同时对于一些存放临时数据的中间表,也需要系统定时清理。

2.2 系统功能设计

系统主要功能包括实时监测、实时处理和实时保存等三大模块。

1)实时监测

系统的实时监测模块主要分为两种方式:“定时扫描”和“实时监测”。主要是根据数据的存储位置和数据文件的特征采用不同方式。

对于远程FTP数据文件实时监测主要是采用“定时扫描”的方式,即指每隔指定时间后对所有文件进行一次扫描,以发现这段时间内是否有新增文件或文件发生变化。对于远程FTP服务器无法使用实时监测路径方法,系统主要结合FTP文件更新频率设置系统定时扫描频率。对于具有固定文件更新频率(即每隔固定时间更新一次文件)的FTP服务器,系统主要按照文件的更新频率设置系统扫描频率。而对于没有固定文件更新频率的FTP服务器,系统扫描频率主要根据实时性要求和系统与FTP服务器负荷而定。系统扫描频率越高,对系统与FTP服务器负荷就越大,所以在保证系统和FTP服务器正常运行的前提下,实时性要求越高,扫描频率就越高,反之相反[5]。

对于局域网远程数据服务器,可以在本系统平台建立映射盘,类似访问本地磁盘一般访问该远程数据服务器中的数据,所以对于该种存储方式的数据可以像监测本地文件一样使用“实时路径监测”,.NET已经提供了该类方法的实现,即当某路径有新增文件或者有文件发生修改时都能得到该文件的具体信息。同时,该方法的实时性较高。

对于本地服务器,也可采用“实时路径监测”方法对文件路径进行实时监测。

对于局域网数据库服务器,主要有两种方法:“定时扫描”和“使用触发器”。“定时扫描”主要和前文相似,每隔指定时间检查目标数据库是否有数据更新。“使用触发器”主要是结合数据库的触发器技术,对目标数据库设置触发器,当目标数据发生更新时,实时通知本系统数据库,对更新的目标数据进行处理。

2)实时处理

实时处理模块作为本系统一个核心模块,主要是处理实时监测模块监测到的最新实时文件。该模块主要包括文件判断和文件处理两个功能。

(1)文件判断:采用实时监测方法监测的是某一个路径下的所有内容,但是并非该路径下的所有文件都是所需要处理的文件,所以根据实际需求,对监测到的文件还需要判断该文件是否为所需文件,判断依据主要依数据实际需求而定。

(2)文件处理:当文件判断确定为所需数据文件后,就将对该文件进行处理。其中,文件处理主要包括数据抽取、数据加工等过程[6,7]。

a)数据抽取:按照各自的文件格式将所需的信息抽取出来。系统处理的大部分文件主要是文本数据格式,对该类数据文件只要进行简单的数据读取就可以[8]。但同时还有一些数据文件可能还使用了加密技术,所以在数据抽取之前还需要按其加密格式对其进行解码,再处理为所需的数据[9]。

b)数据处理:根据各种数据需求不同,处理的需求也不同,目前主要分为以下几种处理方式:数据提取、数值计算和数据统计等,而对于具有时空特性的一些数据,除以上几种方式外,可能还有:插值、生成等值线/等值面、平滑和图层叠加等,最终生成具有时空特性的空间GIS数据[10]。总之,对于各种数据,各自的读取格式、数据计算要求以及最终生成的产品数据形式也各不相同[11]。

3)实时存储

实时存储模块主要是将实时处理模块处理完成后的数据保存到数据库中,同时在数据库中形成相应记录以方便其他系统的实时使用最新数据[12]。其中,因处理完后的数据形式不同,数据存放形式也有所不同,在本平台中,数据库分为关系型数据库和空间数据库[4],对于一些简单的数据主要存储在关系型数据库的表中;而对一些具有时空特性的空间GIS数据主要存放在空间数据库中[13],比如各种色斑图和等值线/等值面数据等。

3 关键技术

3.1 数据实时处理模型

本系统根据目前数据存在的特点:存储在不同位置或者多种路径、数据格式各不相同、数据文件量增长更新速度较快等,针对因此带来的较多不便,比如因数据文件增长更新速度较快而导致数据文件越来越多,不便于保存,也不利于历史数据的统计与查询,更重要的是,很多数据文件还不能被实时处理和利用。

为此,本系统提出了一种“多源异构海量数据的实时处理模型”,主要包括三层架构:实时监测层、实时处理层和实时存储层。其中,“实时监测层”利用多种监测方法完成对多源数据的实时监测;“实时处理层”完成对“异构”且“海量”数据的实时处理;“实时存储层”完成对产品数据的保存和数据的实时被利用,同时也方便以后历史数据的计算和统计等。由此得出,本模型能够较好解决目前多源异构海量数据在保存和实时处理方面存在的诸多不便,有效提高数据的实时利用效率[5]。

系统三层模型架构图如图2所示。

3.2 数据并行处理

分析系统数据处理需求如下:

1)系统实时监测多种路径的“海量”数据,经常会出现同时有多个文件已经更新。

2)系统处理数据的“实时”需求,需要对每一个实时更新的数据进行实时处理。

再结合各种文件处理复杂度各不一样,有的文件处理较为复杂,耗时较长,所以会出现前一批数据还没处理完,后一批实时数据已经到达,导致系统来不及处理,因此不能满足系统的“实时”要求。

因此,系统采用“多线程”技术,为每一个实时更新的数据创建一个线程进行处理,最终实现并行实时处理海量数据文件[14]。但根据实际监测情况,会出现“很短的时间内有大量文件更新”的情况,且数据处理较为复杂,占用系统资源较大,一段时间内给系统带来较大负荷,因此系统制定如下“并行处理策略”:

1)设置系统最多同时并行处理指定数量的数据文件。具体数量由系统能承担的负荷和实际文件更新频率而定。

2)制定文件“处理优先级”。其中,根据客户对各数据的实时需求,实时需求较高的“处理优先级”较高,反之,实时需求较低的“处理优先级”也较低。

3)对于同一“处理优先级”的多个数据文件,根据文件的更新时间,优先处理较早更新的数据文件。

按照此策略,既能够有效缓解系统在文件更新高峰期时的负荷,同时又能够满足数据处理的“实时”需求。

4 应用实例

4.1 气象应用实例

通过以上对多源异构海量数据实时处理平台的设计,最终实现了基于Super Map的“多源异构海量气象数据实时处理平台”系统,并且已经实际应用在上海市嘉定区气象局日常业务中。

系统能够24小时实时监测多个路径,包括:一台远程FTP服务器、多台局域网远程数据服务器和多台本地数据服务器,对于实时监测的海量气象数据文件实时处理,对每一种格式的数据,按照各自的记录格式进行解码或者数据提取,再按照实际数据需求进行处理,并最终实时保存到各自数据库中。

系统框架图如图3所示。

该系统主要工作在于后台实时监测数据和处理数据,前台展示较少,图4为系统实时处理数据的记录首页。

同时,该系统主要处理的数据文件基本是以文本格式记录,用数值记录各格点的气象要素信息,不能直观地看出总体数值的空间分布和变化。该系统主要结合各样点数据空间分布和待创建表面的类型等特征,对每种特征的数据应用适当的插值方法进行处理,将文本型数据转换为具有时空特性的空间GIS数据[15]。本系统实现的插值方法主要有:距离反比权重插值、普通克吕金插值和样条插值。对于空间呈均匀分布且密集程度能够反映局部差异的样点数据集,比如Micaps的第四类格点数据,主要采用“距离反比权重插值方法”;对于插值字段值的期望(平均值)未知且恒定,数据变化成正态分布的数据,比如系统中的自动站各气象要素数据,主要采用“普通克吕金插值”[16];而对数据呈不均匀分布但输入点较多且较为密集的气象数据,如No Caws的自动站数据和Micaps的第一类地面全要素填图数据和第二类高空全要素填图数据,主要采用“样条插值方法”[17]。通过多种插值算法,最终生成等值线或者等值面等空间数据集[18]。

如图5所示,图的上部为自动站分钟数据,其中包括温度、风、雨量的各种气象要素信息数据,图的下部为将其中的“温度”要素经过“数值提取插值平滑”后生成的等值面数据集。

4.2 运行环境

目前,系统正在以下运行环境上运行:

硬件设备如表1所示。

支持软件如表2所示。

系统在长时间的试运行过程中较为稳定,且能够很好解决目前上海市嘉定区气象局业务所需的气象数据文件处理。

5 结语

本文针对目前各业务系统数据文件的“多源、异构、海量”等特点,结合对“实时性”的需求,设计了一种对“多源异构海量数据实时处理模型”,能够实时监测以多种形式存放在多种路径的海量数据,对所需数据文件能够及时响应,实时并行处理具有多种结构的海量数据文件,最后将处理完的数据实时保存到各自数据库中,确保数据能够实时被使用。同时,系统在数据处理过程中,结合各种数据的空间分布等特征,采用各种适当的插值算法,将文本记录的数据转换成更加直观的具有时空特性的空间数据,使数据得到更好的展示。

海量平台 篇6

关键词:云平台,海量数据,信息处理

1 数据挖掘概念

数据挖掘就是从大量的、模糊的、不完全的、毫无规律的、真实的、随机的数据中挖掘或抽取出有价值的、未知的、新颖的、隐含在大规模数据中不为人知的模式或规律等知识的复杂过程, 提高海量信息知识的服务质量。如何通过寻找数据间潜在的关联, 把隐藏于大量数据之内的事先不为人们所知的知识挖掘出来, 数据知识挖掘的过程如图1所示。

2 开源云计算平台Hadoop

云计算是一种新型的基于互联网的、大众参与的计算模式, 它将大量的计算资源共同组成了IT资源池, 巨大的资源池连接在一起, 将庞大的计算任务, 分布在大量的、廉价的并行计算机上运行, 其计算资源是动态、可伸缩、被虚拟化的, 它将IT资源、数据以及应用作为一种服务, 通过互联网提供给用户。用户可根据自身的需来访问计算机以及存储系统。云计算用于动态创建高度虚拟化的资源提供用户使用。云计算平台是以文件系统HDFS、分布式并行编程模型Map Reduce和分布式数据库HBase为核心的开源分布式的计算平台。HDFS文件系统用于可靠地存储海量的数据集, Map Reduce模型是一个在超大集群下进行海量数据计算的一种编程模式。由Map和Reduce两个模块处理海量信息, Map负责把一个大Map任务分解成多个Map任务, 在可接受的时间内, Reduce把分解后的多个Map任务处理结果汇总起来, 得到最终结果。在云计算平台Hadoop的基础上, Map Reduce模型可以为海量和复杂数据对象的数据挖掘提供基础设施。Hadoop云平台为不同的用户提供了编程环境。用户可以根据需要, 构建自己的Hadoop计算云平台。Hadoop云平台的项目结构如2所示。

3 基于Map Reduce的海量信息处理

随着网络信息飞速地膨胀, 从信息的海洋中查找和获取所需要的信息愈发重要。本文探讨通过Hadoop云计算平台, 设计基于Map Reduce模型的信息处理系统。系统由三个阶段组成: (1) 提取网页数据。系统利用Hadoop平台下的Map Reduce计算模型进行数据收集, 首先将感兴趣的网页的链接地址写入本地一个文件中, 然后启动Hadoop平台中的HDFS文件系统将文件导入。 (2) 对提取到的数据按需要进行分析处理, 系统对收集到的海量网络数据进行分析并处理, 把收集的网络数据属性进行封装, 封装后的数据可以方便地应用到Map Reduce计算模型中, 这样可以大大降低代码量, 提高数据处理速度。Map阶段主要是数据收集部分的处理, 是通过各种判断语句来实现的。Reduce阶段主要是把符合标题长度的数据输到HDFS上, 分析Map Reduce模型, 通过对网页数据的分析和处理, 就可以得出所需要的数据类型, 然后输出所需要的特定的数据信息格式。 (3) 用户根据自己的需要, 对自己感兴趣信息进行查询。当用户输入査询内容时, 系统使用双向匹配算法, 对输入的中文通过査询己经准备好的数掘字典 (用Berkeley DB存储) 进行分词, 得到很好的处理效果。实验表明, 通过利用Hadoop平台运行程序, 当获取大数量的网络信息时, 能够大大缩短程序的运行时间。

4 系统实现的关键技术

本文采用的关键技术是网络爬虫和双向最大匹配算法, 网络爬虫是通过用户给定的网页链接地址抓取相应的内容, 是一个自动提取网页的程序。在抓取网页数据时, 应用多线程的抓取方式, 把抓取到的网页数据存储在HDFS文件系统中, 不需要经过本地。这样整体爬行速度就大大提高了。本系统在进行中文分词时, 系统采用双向最大匹配算法。首先对用户输入的查询字符串经过处理进行划分, 把一个短语分解成词语的组合。然后, 根据最少切分原理, 最终确定分词的结果。数据存储方式采用的数据库是一个嵌入式数据库Berkeley DB。DB管理的数据方式相对比较简单, DB对数据类型不做任何限制, 由程序员自己设计。由于它是嵌入在编写程序的函数中, 所以可以管理256T大小的数据量。在数据预处理过程中, 选择并行处理方式, 以提高数据管理和挖掘效率, 实现高效的云计算并行海量数据挖掘算法。

5 结语

海量平台 篇7

伴随着巨大网络流量涌来的各类数据, 其价值的重要性已日益突出。按照Gartner预测, 到2020年大约75%的企业都将大数据分析融入其日常经营决策中, 未来大数据分析将成为企业经营的一项基本能力。

大数据技术的应用, 起到的是实实在在的效果。根据Sysbase的统计分析, 电信行业通过在运营中应用大数据, 人均产值提升了17%, 而在行业价值贡献方面更是排在了所有行业的首位。在电信行业收入增幅日趋放缓的今天, 这样的产值增幅令人鼓舞。

通过构建行业大数据分析系统让运营商具备了大数据分析处理的技能, 但这只是在大数据时代获得成功的基础;运营商还需要从企业战略和经营思维层面改变, 发现新的机遇和模式并付诸实施, 才能真正将自己所掌握的大数据资产和大数据技能转变为企业价值。

需求变化快挑战大数据应用

在很多行业尤其是电信行业中, 大数据的“大”并不仅仅指的是数据的体量, 在应用层面, 大数据的真正挑战是来源于其需求变化快, 如果缺乏一个灵活、可扩展的基础架构和运营平台作为基础, 企业就很难真正挖掘大数据价值。

对此, 中兴通讯股份有限公司中心研究院副院长陈坚称, 要满足企业对数据价值挖掘的需求, 基础架构与运营平台至少需要满足四个特征。

一是平台在架构上需要具备可伸缩性。不仅模块具备可裁剪性, 而且系统的规模也具备可扩展性。这样, 系统初始建设时可以按需建设, 将初始投资压缩在可接受的范围, 然后, 系统随着业务量增长而扩展, 以架构的可伸缩性, 兼顾初始投资与业务增长的平衡。

二是必须具备数据的开放能力。无论是在平台上开发各类业务, 还是与第三方进行数据交换, 都要求平台具备数据的开放能力。

三是要具备集成与被集成能力。如果大数据系统是主系统, 则需要具备集成原有生产的能力;如果大数据系统是辅助系统, 则需要具备被原有生产系统集成的能力。只有这样, 大数据系统才能无缝地与原有系统对接, 在不干扰原有系统稳定运行的前提下, 提高生产力。

四是要有一套强大的统一管理系统。大数据平台需要将多种开源软件, 以及多厂家的软硬件模块集成在一起, 其面临的一个很大的困难与问题, 就是统一管理的问题。所以大数据平台必须具备统一管理其集成的开源软件, 以及第三方软硬件的能力。只有具备统一管理能力的平台, 才是一个真正可用的大数据平台。

直面非结构化数据的分析难点

大数据处理的技术, 特别是云存储与云计算技术的成熟应用, 为大数据的存储与处理提供了技术可能性。企业可以利用生产系统以及管理系统中产生的大量数据, 一方面可以对自己的生产活动进行更为准确的预测与指导, 从而提高企业生产活动的准确性;另一方面还可以利用通过对数据价值的挖掘, 产生新的业务。

中兴通讯针对电信大数据进行了专家级的建模, 其大数据平台DAP可以利用云存储与云计算的技术, 对海量的数据进行存储、挖掘分析, 以帮助企业充分开发数据的价值。

但现阶段大数据的数据分析被认为是难点, 尤其是非结构化数据的分析。对此, 陈坚表示, 当前对结构化数据的处理技术相对成熟, 但对非结构化数据的处理上, 的确是难点。不同的非结构化数据, 往往需要不同的技术去处理, 才能让这些数据产生效益。目前, 中兴DAP平台对非结构化数据处理有很大的投入。例如, 在电信领域自研DPI硬探针, 可以解析电信信令、上网记录等电信领域的非结构化数据;在安全领域, 通过图像算法, 可以从运动图像中做车牌号码识别以及人脸识别等等。

大数据平台的特色

一个功能完备的大数据应用平台可以极大地简化数据处理与分析的繁琐, 并能更有效地挖掘各类数据的价值。中兴通讯中心研究院总工王德政总结DAP大数据平台时提到三个有别于其他系统的“不同”:一, DAP采用货架式架构, 采用企业总线ESB的技术, 可以灵活地对各个组件模块进行裁剪与拼装, 满足“集成”与“被集成”的两种角色要求, 在不影响生产系统稳定性的前提下, 与原有生产系统无缝集成, 引入大数据系统;二, DAP在数据分析挖掘层面的智慧生成的特征, 可以提高企业活动的准确性, DAP通过针对性的挖掘算法改进, 可以做出超越人类专家经验与直觉的智慧建议, 提升人类活动准确性, 提高社会生产能力;三, DAP具备平台特性, 聚焦于数据的存储、处理时效、以及挖掘算法, 可为上层应用解决大数据应用的技术难点与障碍, 上层应用可以根据自身的需求, 快速地进行定制开发, 以很短的时间周期与研发成本推出新的大数据应用, 未来, DAP还可以对第三方开放, 支撑第三方的大数据业务开发。

大数据平台的功能与特色, 只有在实际应用中才能体现出真正价值。

据王德政称, 当前各家运营商已经认识到电信数据所蕴含的价值, 并都已经在做积极的尝试, 进行各类大数据平台的建设, 并在其上规划各类业务规划。例如, 中国移动的资源池建设、中国电信的号百公司等等。

上一篇:劳动合同到期终止下一篇:山西某滑坡稳定性评价