3.1.2 核心平台功能架构设计
核心平台功能架构设计图如图3-1所示,清洁能源大数据创新服务平台总体遵循“一平台、多场景、微服务、微应用”的开放共享建设思路。通过物联网平台接入源、网、荷各类型数据,在完成设备或系统实时监控的同时将数据汇总转发到大数据分析管理平台。通过大数据分析管理平台内置工具完成数据清洗等一系列数据质量管理流程,然后按照数据分类标准统一存储至数据湖,并通过数据访问服务、数据分析服务按照统一数据标准对外提供数据服务。利用数据服务,结合高性能计算服务、云平台服务,打造创新服务运营平台,提供开放应用市集和运营支撑,支撑创新服务的快速落地、部署、发布,并可通过互联网应用服务平台对外提供服务。
图3-1 核心平台功能架构设计图
3.1.2.1 物联网平台技术架构
物联网平台主要负责设备认证、设备数据采集、协议适配、实时监控、告警管理、数据转发等。物联网平台技术架构图如图3-2所示。
图3-2 物联网平台技术架构图
物联网平台的技术架构包括以下部分:
(1)电站 (数据源),包括分布式电站、离线电站、集中式电站等,采集电站中的风电机组、光伏、升压站、储能、测光塔、测风塔、水电站等设备数据,适配104协议、101协议、103协议、Modbus协议、61850协议等主流设备协议。
(2)前置,根据协议和配置,连接数据源设备,实时采集数据,采集周期最小为1~5s,采集到设备数据之后,生成1min、5min、10min等业务需要的统计数据,把原始采集数据、生成的统计数据转换成内部定义的信息模型,按照内部通信协议,通过数据传输服务进行传输。
(3)转发,将采集到的数据,进行压缩后通过TCP、UDP 等方式,发送给一个或者多个目标,目标收到后,再进行解压,提供给对应服务。转发会将安全Ⅰ区的数据通过防火墙发送到安全Ⅱ区。在转发通道出现异常时,可将未发送的数据缓存到持久化存储中。数据计算功能会根据现场存储的历史数据进行统计计算,提供给所需的功能系统。
(4)监控,主要功能有客户认证授权、配置管理、实时监视、设备控制、告警管理、历史数据查询、日志管理等。
1)客户认证授权。客户认证授权包含管理用户,给用户分配用户名、初始密码、可操作的设备及操作权限等。系统通过用户提供的登录名、密码、验证码进行用户身份认证。同时,还提供现场系统正常运行所需的存储配置和管理功能。
2)配置管理功能。配置管理功能包括管理用户,给用户分配用户名、初始密码、可操作的设备及操作权限等。系统通过用户提供的登录名、密码、验证码进行用户身份认证。同时,还提供现场系统正常运行所需的存储配置和管理功能。
3)实时监视功能。实时监视功能提供设备矩阵、设备列表、实时趋势3种监视视图,监控设备运行状况,用户根据监控需求不同可以自由切换视角。例如对于风电场,提供风电机组矩阵图、风电机组列表视图,对风电机组运行状态进行标识,通过状态标识用户可以轻易定位“问题”风电机组;风电机组矩阵图、风电机组列表视图会对风电机组状态进行详细说明;对于光伏电站,提供光伏模块矩阵图,光伏模块矩阵图中会对光伏模块的运行状态进行标识,通过状态标识用户可以轻易定位“问题”光伏模块;光伏模块矩阵图、光伏列表视图会对光伏状态进行详细说明。
4)设备控制功能。设备控制功能可对现场设备进行控制,点击前端的控制按钮,下达控制指令,将用户编号、按钮类型和设备编号发送到设备控制和权限安全管理服务中;该服务根据设备对应的信息模型,转成对应的操作指令,再根据用户编号、设备编号和操作指令的权限管理,进行权限校验,通过权限校验后,再根据设备编号和操作指令进行软“五防”安全管理校验,校验通过后,将指令下发到前置服务器;前置服务器收到指令后,转发给对应的设备;对应设备收到指令后执行命令,并将执行结果返回到前置服务器;前置服务器将执行结果返回到设备控制和权限安全管理服务中,设备控制和权限安全管理服务再将结果返回到展现层,展现层将结果展现在用户界面。在每个阶段校验时,如果校验失败,则需要将相应的失败原因返回给展现层,提醒用户失败的原因。
5)告警管理功能。告警管理功能可以提供告警信息概览。告警信息概览按故障、警告、提示三个级别分别统计当前告警信息条数,并快速分类过滤,实时提醒用户处理异常;提供声、光、弹窗等多种方式的告警,根据告警级别不同自定义告警规则;支持当前告警与历史告警两种告警功能,前者聚焦于当前需要用户处理或未消除故障的告警信息,后者用于满足历史告警信息的查询、统计功能。
6)历史数据查询功能。历史数据查询功能可以查询某台设备某时间段内的历史数据原始曲线。物联网平台会部署一个数据库,存储少量 (大约一个月)的历史数据。
7)日志管理功能。日志管理功能提供对现场的运行日志、异常日志等的管理维护功能。在系统出现异常时,可根据日志信息迅速定位到异常位置。
物联网平台不提供生产数据报表查询等功能。这些功能全部部署在大数据分析管理平台、互联网应用服务平台。
3.1.2.2 大数据分析管理平台技术架构
大数据分析管理平台接入时序数据、对象数据、业务数据各类异构数据,汇聚形成清洁能源大数据湖,提供数据访问服务、数据分析服务,进一步提供清洁能源大数据平台控制台及应用程序接口 (application programming interface,API)。大数据分析管理平台技术架构图如图3-3所示。
数据集成和实时处理基于清洁能源数据接入标准,集成物联网采集的时序数据、对象数据、业务数据,同时面向时效要求高的应用提供实时处理服务。将多源异构数据 (如设备运行数据、生产运营数据、功率预测数据、环境数据等)接入到清洁能源大数据湖一体化存储中。时序数据通过实时和批量两种方式接入,对象数据有批量接入套件,业务数据提供数据抽取 (ETL)工具。对于时序、对象、业务三类数据,在设备接入的过程中进行去重、格式校验和统计量审计等数据处理操作,在源头确保接入设备数据的质量。此外,提供设备自动注册和更新功能,自动应对设备及其传感器发生的变化 (例如增加新的传感器)而无需更新数据接入程序。
清洁能源大数据湖基于清洁能源数据质量标准,对各类数据的质量进行治理,得到符合标准的高质量数据。进一步基于清洁能源数据存储标准,实现各类数据的标准化存储,时序数据存入时间序列数据存储、对象数据存入非结构化数据存储、业务数据存入结构化数据存储,同时将各类数据的元数据进行统一管理,建立各类数据之间的关联。应用元数据模型,基于一体化查询引擎提供各类数据的联合查询功能,基于一体化分析引擎提供各类分析模型的运行环境并应用各类数据实现并行分析计算。
图3-3 大数据分析管理平台技术架构图
基于清洁能源大数据湖应用清洁能源行业数据模型提供清洁能源行业数据访问服务,并打造清洁能源行业模型库和分析算法库,对外提供行业数据分析服务。
所有的功能可通过标准的API接口进行访问,同时平台也提供控制台支持数据平台的数据运维操作,包括对平台数据接入量、接入速度、计算任务运行状态等的实时监视以及系统运维操作如用户管理、权限管理、使用痕迹跟踪等,提高平台的可运维性。
1.数据集成&实时处理
数据集成&实时处理将各类数据从物联网平台数据源接入清洁能源大数据湖的具体步骤如图3-4所示。
(1)时序数据接入。将物联网平台采集的时序数据,如光伏组件监测数据、风电机组监测数据、升压站监测数据等接入到清洁能源大数据湖的时序数据存储中,其主要步骤如下:
1)格式转换。基于清洁能源数据接入标准,将采集端传输过来的数据,转换为消息队列格式的数据,存入到消息队列中。
图3-4 各类数据接入大数据湖的具体步骤
2)质量审核。基于清洁能源数据质量标准,对接入数据进行质量核查工作,包括实时去重、审计核查、异常告警等,得到高质量数据。
3)入库预处理。基于清洁能源数据存储标准,从消息队列中取出消息数据并行化存储到时序数据存储中。
(2)对象数据接入。将物联网平台传输过来的对象数据,如视频监控数据、日志文本数据等接入到清洁能源大数据湖的对象数据存储中,其主要步骤如下:
1)对象描述。基于清洁能源数据接入标准,应用清洁能源数据模型为对象数据添加描述信息,如文件名称、类型、用途等,形成对象元信息,方便检索应用。
2)MD5校验。基于清洁能源数据质量标准,通过MD5校验,确保对象数据的完整性。
3)对象上传。基于清洁能源数据存储标准,应用分布式文件系统写入接口,将对象数据上传到对象数据存储中。
(3)业务数据接入。将物联网平台传输过来的业务数据,如运营数据、调度数据等接入到清洁能源大数据湖的关系数据存储中,其主要步骤如下:
1)数据校验。基于清洁能源数据接入标准 (如数据类型、数值特征等),对数据进行校验,保证数据的准确性。
2)数据清洗。基于清洁能源数据质量标准,对一些空值数据、单位转换数据进行处理,得到符合规范要求的数据。
3)数据集成。基于清洁能源数据存储标准,根据数据Schema映射规则,将业务数据存储到符合Schema定义的关系数据存储中。
4)数据聚合。基于清洁能源数据存储标准,将业务数据按地域、时间等各种维度进行聚合,将数据存储到关系数据存储中。
2.大数据湖
大数据湖架构基于清洁能源数据模型驱动多类型数据引擎融合,利用底层不同的数据引擎来存储管理不同类型的清洁能源设备和运营相关数据,如设计数据、运维数据、调度数据、用电数据等,以实现最佳性能;并通过一个统一的清洁能源设备全生命周期数据模型,对同一设备的各类型数据进行管理,降低数据理解和获取成本。大数据湖架构图如图3-5所示。在图3-5中,AGC/AVC为自动发电控制/自动电压控制装置。
图3-5 大数据湖架构图
(1)清洁能源元数据管理。清洁能源元数据管理通过数据元模型,结构化地描述设备产生的时序数据、对象数据及业务数据,方便数据分析、数据查询和对于多源异构数据的访问。当对应元模型建立以后,只需要指定地区、电站、时间等维度,就可以获取相应的工况指标 (时序数据)和故障文件 (对象数据),进行分析和计算。
1)时序数据元数据管理。时序数据元数据是对时序数据基本信息的建模及描述,字段主要包括Field、Field Group、Asset、Compound ID 等。
Field:具有数据类型的数据列定义,用来存储具有相同数据类型、相同意义的数据,如某类型传感器产生的数据。
Field Group:一组Field的组合,用来组织Field,存储固定结构的时序数据。
Asset:能够产生机器数据,装有一组传感器的资产或虚拟资产,如一台风电机组、一台发电机、一个智能电表。
Compound ID:在FieldGroup中,一组ID Fields Group的field-value键值对被称为Compound ID。Compound ID 可唯一标识一个Asset。
2)对象数据元数据管理。对象数据元数据是对对象数据基本信息的建模及描述,包含产生对象文件的设备型号、设备编号、文件产生的时间等。对象数据元数据管理可方便后续管理、查询、分析这些设备产生的对象文件。设备报警文件分类图如图3-6所示。
图3-6 设备报警文件分类图
ObjectClass:一个对象类型,例如“设备报警文件”,类似关系数据库中的一张表。
ObjectColumnInfo:用于描述特定对象类型的列信息,类似关系数据库中表的列,例如某设备可能存在“设备型号”这样的列;一个对象类型定义的所有Object-ColumnInfo组成了对象的元数据。
Object:一个对象,属于唯一的对象类型,包括元数据和对象文件两部分。
Field:对象的描述属性,为一个键值对,类似关系数据库中某列的列名及其值,例如某对象的“设备型号”=“ABC”。
Tag:标签,每个对象可以关联一到多个标签,用于附加一些临时信息。
File:对象文件,对象所发生情况的信息汇聚,能够查看具体情况。
对象标签图如图3-7所示。
3)业务数据元数据管理。业务数据元数据是对业务数据属性信息的建模及描述,例如营销计划的开始时间、完成时间、状态、计划内容等。元数据管理可方便后续管理、查询、分析这些业务数据。
(2)时序数据存储。时序数据存储区域按照应用需求划分为主存储区、实时存储区、统计存储区。在此基础上建立对应的查询存储器。然后开放统一的查询接口。
图3-7 对象标签图
主存储区主要存储数据的历史信息。使用者可按时间、设备等维度查询大批量的历史数据,进行大数据分析。采用分布式文件系统 (hadoop distributed file system,HDFS)存储。
实时存储区主要存储面向于设备监控场景、响应时间短 (一般为秒级响应)、实时性较高的数据。实时存储区采用内存数据库进行存储。
统计存储区主要存储根据业务人员日常应用的统计规则,预先进行维度统计的数据。按照地域、电站、时间等业务维度进行统计。统计存储区采用关系数据库存储。
存储查询架构分为查询接口层、查询分发器、主存储、统计存储和实时存储,存储查询架构图如图3-8所示。
图3-8 存储查询架构图
查询接口层会通过适配器来对查询请求进行分类,并针对不同的查询请求做相应处理。与此同时,在执行用户查询请求之前会做统一的权限验证来保证数据的安全性,并通过统一的查询请求验证格式来验证用户的查询请求是否合法,对于不合法的查询请求返回用户提示信息。
查询分发器将不同的查询请求分发到所属的查询请求接收代理器上。其中,实时查询服务由实时查询处理器负责;统计查询服务由统计查询处理器接管;而分析查询由分析查询处理器负责。
各种请求接收代理器访问相应的底层处理器或存储区,从而完成请求逻辑的执行并获得相应的查询结果。其中,实时查询处理器访问实时数据存储区获取实时数据;统计查询处理器访问统计数据存储器来获取统计数据;分析查询处理器通过对原始数据的分析得到分析数据。
(3)对象数据存储。对象数据存储针对非结构化、半结构化的对象数据,如HTML、图片、文档、视频等。对象数据存储采用全分布式架构、数据块粒度切分、在线扩容减容、复制备份及普通电脑硬件适用性等关键技术,支撑安全的PB 级及以上规模数据的在线存储,使安全、低成本、可任意扩容的大数据存储成为可能。
对象数据存储架构分为三层:底层为数据存储层,中间层为服务逻辑层,顶层为用户接口层。各层具体作用如下:
数据存储层负责最终的数据存储。由于对象类型定义数据量较小,对事务的要求较高,因此存储在MySQL 中。对象元数据即对象的描述属性,与对象文件一一对应,因此数据量较大。对象数据存储提供多种对象元数据存储引擎,如MySQL、ElasticSearch和Mongodb等,针对不同用户场景的特点选择合适的存储方式。对象数据存储也可按照文件的特点来选择存储方式,例如HDFS、HBase。另外,对象数据存储还支持用户将文件保存在外部系统,这样仅需维护对象的元数据,也方便从多种维度查询数据。
服务逻辑层中对象类型定义支持用户定义新的对象数据类型;对象元数据存储实现用户对对象数据的各项操作;对象文件存储负责文件的物理存储逻辑,对于数据存储在HDFS的情况还需要将小文件合并为大文件以减轻节点内存压力。
用户接口层可以访问服务接口来存取和查询对象数据。
(4)关系型数据存储。关系型数据存储使用分布式关系数据库存储关系型数据。分布式关系数据库具有大规模分布式并行处理的能力,专门管理大规模关系数据库服务器集群。分布式关系数据库通过在多个服务器或主机上分配负载来存储和处理大量数据。
分布式关系数据库逻辑上是一个数据库,物理上是一组一起工作的独立关系数据库。主节点是分布式关系数据库系统的入口点,用户连接并提交SQL 语句到该数据库实例。主节点负责协调系统中其他数据库实例的工作负载,从节点用于数据处理和存储。这些节点通过数据库的网络层相互通信。分布式关系数据库主要包括主节点、数据节点和互联网络,如图3-9所示。
图3-9 分布式关系数据库
1)主节点。主节点是分布式关系数据库的入口点。数据库服务器进程通过主节点接受客户端连接并处理用户发出的SQL 命令。用户通过主节点使用客户端程序连接到分布式关系数据库。
主节点维护系统目录是一组包含有分布式关系数据库系统本身的元数据系统表。但主节点不包含任何用户数据,数据仅驻留在从节点上。主节点验证客户端连接,处理传入的SQL命令,分配从节点之间的工作负载,协调每个从节点返回的结果,并将最终结果呈现给客户端程序。
因为主节点不包含任何用户数据,所以它的磁盘负载很小。主节点需要一个快速、专用的CPU 来执行数据加载、连接处理和查询任务,特别是在生产环境中,需要额外的空间来加载文件和备份文件。
2)数据节点。在分布式关系数据库中,从节点数据库实例是存储数据的地方,也是大部分查询处理发生的地方。用户定义的表格及其索引分布在分布式关系数据库的可用从节点数据库实例中;每个从节点数据库实例都包含一个独特的数据部分。从节点数据库实例是从节点的数据库服务器进程。用户不直接与分布式关系数据库系统中的从节点数据库实例进行交互,而是通过主节点进行交互。
3)互联网络。互联网络是分布式关系数据库的网络层。当用户连接到数据库并发出查询命令时,会在每个从节点数据库实例上创建进程以处理该查询命令。互联网络是指从节点数据库实例之间的通信,以及该通信依赖的网络基础设施。互联网络使用标准的万兆以太网交换结构。默认情况下,分布式关系数据库互联网络使用UDP协议来发送网络消息。
(5)清洁能源大数据治理。把数据治理贯穿到数据的全生命周期,除了对接入源头的去重、格式校验和统计量审计等环节进行治理外,还包括提供数据质量核查功能,能够实时 (或批量)判断时序数据取值异常。设备数据模型版本管理能够屏蔽传感器增加、更名等元数据变更对数据接入和使用产生的影响,同时对于数据分析提供同义字段的关联功能,节省数据分析师清洗和理解数据的时间。
3.分布式计算架构
(1)流数据处理引擎。在设备运行状态实时分析等领域,通常需要对采集到的关键指标数据进行及时运算,根据运算结果对于超过预警线的情况做出及时报警。实时数据处理引擎通过接收实时数据接口发送来的实时数据,根据预先定义的数据规则进行实时数据计算,对于违反预警规则的计算结果进行相应的报警提示。
流数据处理设计引擎图如图3-10所示。首先,实时数据通过Kafka客户端,写入到Kafka高吞吐消息队列集群中接入Topic。然后,Storm 集群通过Kafka消费端,从接入Topic中取出实时数据,进行流计算处理。根据应用分为两个场景:
图3-10 流数据处理设计引擎图
1)实时数据查询。在Storm 流计算过程中,根据元数据进行相关计算,包括格式转换、数据校验等操作,之后将流计算结果存储到Redis内存缓存中,供上层实时查询时使用。
2)实时报警。在Storm 流计算过程中,根据预警规则库进行计算处理,之后将流计算结果存储到Kafka集群消息队列报警Topic中,供上层实时报警时使用。
(2)一体化数据访问引擎。一体化数据访问引擎通过对底层数据的合理组织,在仅保留一份数据的前提下,同时满足数据分析和数据查询的使用要求。内置清洁能源业务查询语义,提供以清洁能源设备为中心的分析性查询 (实现对大量历史时序数据的过滤、降频、变换、聚合等操作)和统计性查询 (实现时序数据趋势走向和指标的统计)。降低海量数据的存储成本和使用难度,提升创新应用的开发速度和效率。
专业查询包括以下方面:
1)指定时间点的查询。用户给定设备号、感知指标ID 与精确的时间戳,返回该设备、感知指标在该时间戳时刻的测点数值。
2)多维值过滤的查询。用户给定设备号、感知指标ID 和一个时间范围,同时指定多个感知指标值的过滤条件,返回此时间范围内满足过滤条件的该设备对应感知指标的时间序列。时间序列用时间戳和测点值的有序列表表示。
3)聚合操作的查询。用户给定设备号、感知指标ID 和一个时间范围,同时指定聚集函数,返回此时间范围内该设备对应感知指标的时间序列上的聚集值。
4)模糊时间点的查询。用户给定设备号、感知指标ID、时间戳以及模糊查找策略,返回该设备感知指标在该时间戳下的数据点,如果数据仓库中在该时刻没有数据,则按照查找策略查找时间最近的数据点返回。
5)给定时间点向前向后的多点查询。用户给定设备号、感知指标ID、时间戳以及查找方向和返回测点个数,返回该设备感知指标以该时间戳为参考点,按指定方向向前或向后指定测点个数为长度的时间序列。
6)时间序列数据值的缩放。用户给定设备号、感知指标ID 和一个时间范围,查找此时间范围内的该设备对应感知指标的时间序列,并对该序列中每个测点数值做缩放后返回。
(3)并行化分析引擎。并行化分析引擎将待分析的海量数据有效并行起来执行计算和分析,使得在可行时间内得出结果。通过非侵入式地分析,用户只需要配置并行化字段,系统自动进行已有程序的并行化,极大地降低了并行化分析程序的开发周期和技术壁垒,提高已有分析成果的重复使用。并行化分析引擎主要设计包括:
1)支持Map Reduce的分布式计算框架。MapReduce被广泛地应用于日志分析、海量数据排序、在海量数据中查找特定模式等场景中。用户可以通过它编写出同时在多台主机上运行的程序,也可以使用Ruby、Python、PHP和C++等非Java语言编写map或reduce程序。Map Reduce适合于处理大量的数据集,由于同时被多台主机一起处理,因此通常会取得较快的速度。
2)基于指定字段的并行。分析人员可以对数据进行并行粒度设置,比如按时间粒度进行划分,可划分为每年的数据、每个月的数据或每天的数据进行分析;同时可以按某个数据值划分并行粒度。
并行化分析引擎是将数据以文件或数据块为单位分发到大数据管理分析平台中的各个结点上执行而实现并行分析处理,以提高分析效率。
3)非侵入式并行化分析引擎。在支持常规Map Reduce分布式计算框架的同时,平台还提供非侵入式的分析并行化引擎,用户只需要配置并行化字段,系统自动进行已有程序的并行化,极大地降低了并行化分析程序的开发周期和技术壁垒,提高已有分析资产的重用。
4)错误日志。错误日志可以收集所有的重要日志,以便分析人员从执行日志中获得必要信息。分析人员可以对日志进行关键词搜索,方便排除错误原因。
5)快速调试。快速调试适用于分析任务失败时,检测出只是异常数据错误,即需要对文件中的某些异常数据进行特殊处理,不影响已经成功任务结果的情况。此时不需要重新运行分析已经有结果的数据,可以只重新运行失败的数据,以两次或多次结果作为最终结果。
6)任务重运行。分析人员可以制订定时任务,比如每天固定时间执行某任务,或每周、每月等,任务重运行图如图3-11所示。
4.数据访问服务架构
数据访问服务设计详细描述了从数据查询分析请求提出,到处理结果返回的具体步骤,数据访问服务架构图如图3-12所示。
(1)数据查询。基于清洁能源行业数据模型,如光伏组件、风电机组、储能设备、用能设备等,平台通过数据查询服务调用一体化查询引擎,基于元数据对一体化存储中的各类数据进行关联查询,并返回结果,其主要步骤如下:
1)查询分解。查询分解器基于元数据,对查询请求进行分解,判断需要调用的各类数据存储引擎,形成数据查询设计。
2)数据查询。根据数据查询设计,分别调用对象访问引擎、时序数据查询引擎、关系数据查询引擎,对一体化存储中的数据进行查询,并取回各类数据。
3)结果组装。对取回的各类数据进行处理,如聚合、关联、分解等,返回组装后的查询结果。
(2)数据分析。基于清洁能源行业数据模型,如光伏组件、风电机组、储能设备、用能设备,平台通过数据分析服务调用一体化分析引擎,将分析任务下发到各计算节点,进行并行化分析作业,得到分析结果,其主要步骤如下:
1)任务创建。通过任务管理模块,将已有的分析模型如设备预警告警分析、发电量提升、变功率控制优化、负荷预测或新建的分析模型下发到并行化分析引擎。
图3-11 任务重运行图
图3-12 数据访问服务架构图
2)分析计算。基于分析模型的并行化字段配置,利用并行化分析引擎对分析作业进行分解,形成并行化分析计算子任务,将子任务下发到计算节点,进行大数据计算处理,并返回计算处理结果。
3)结果合并。利用并行化分析引擎对各子任务返回的计算处理结果进行合并操作,形成最终的分析结果。
4)分析结果管理。对最终的分析结果进行管理,提供下载服务。
5.数据分析服务接口
数据分析服务接口主要包括统一数据访问接口、数据分析接口、流数据分析接口、数据模型库访问接口。
(1)统一数据访问接口:提供统一的访问接口,允许用户通过大数据管理平台为大数据分析应用提供数据访问服务。数据访问服务内容包括结构化数据访问服务、非结构化数据访问服务、时序数据访问服务。
(2)数据分析接口:提供用户数据模型上传、模型运行、模型运行结果访问服务。
(3)流数据分析接口:利用可热插拔的方式按需集成不同的实时分析算法。同时内置清洁能源领域常用的查询功能,直接实现相关语义的数据监控。
(4)数据模型库访问接口:提供数据模型的上传、保存、管理、运行等功能。
6.数据工具
数据工具主要包括数据模型管理、数据集成、数据生命周期管理、数据质量管理、数据画像、数据可视化。
(1)数据模型管理。数据模型是数据存储、使用的基础,平台为所有的服务和组件提供统一的模型视图。模型管理工具帮助平台用户便捷地创建、修改、删除、查询相关清洁能源数据模型,并且可以跟踪、记录、发现数据的模型变更,降低用户在数据分析过程中数据整理的难度,为数据的标准化工作奠定基础。
(2)数据集成。数据集成可以有效应对多数据类型与多种不同数据源带来的集成问题。面向业务数据接入,有效应对数据缺失、数据类型不匹配、数据异常等问题;面向对象数据接入,有效应对文件数据不完整、大文件网络传输不连续等问题;面向时序数据接入,有效应对时序数据重发、数据重复、异常值等问题。
(3)数据生命周期管理。数据生命周期管理提供数据集下载、分类移动、编辑、删除、添加新的分类和数据集功能,并且允许用户根据需求对不同的数据指定不同的归档时间和归档机制。数据集下载是指用户根据需求向平台申请数据并进行下载。数据分类移动指按照数据的类别将数据移动到不同存储位置。数据编辑、删除、添加新的分类和数据集都是对数据进行的基本操作。数据归档指对数据进行整理和收集。数据生命周期管理覆盖了数据的产生、更新、移动、变更、归档等全部过程。
(4)数据质量管理。数据质量管理面向由测量失误、环境干扰、传输遗漏等各种原因造成的质量问题,辅以数据分析人员进行的数据整理和清洗,避免“垃圾进,垃圾出”。
1)数据质量评估。从数据的取值范围、分布、缺失等多个维度,自动对数据质量进行评估,用可视化界面向用户直观展示数据的质量状况和主要问题。
2)数据质量修复。内置多种常用数据修复方法,允许数据分析人员根据自身实际的业务需求,选择合适的数据修复方法,提升数据质量。
(5)数据画像。数据画像向数据分析师展示包括统计信息、分布信息在内的多个维度的数据信息,帮助分析人员快速理解海量原始数据的特点,掌握原始数据全貌,为下一步的数据质量修复,数据特征探索、提取打下基础。
1)全量数据统计。全量数据统计使用户对全部海量数据有一个全面的统一的了解和认识。
2)多维度呈现。多维度呈现从数据的最大值、最小值、平均值、方差、分布等多个角度,对数据的综合特征进行全面的展示。
(6)数据可视化。图形化的交互式数据探索和数据特征可视化能够在不同维度更加直观地展示数据,可以使平台的管理人员更容易了解到存储在大数据分析管理平台中的清洁能源数据基本情况,同时也大大降低数据分析人员数据特征探索的难度。配合内置丰富的机器型数据模式深度学习算法、特征自动提取算法,使得数据分析师可以很快地从海量时序数据中发现并提取数据特征,并据此做出专业精准的模型。
7.系统运维
系统运维功能设计图如图3-13所示,每个功能层都有各自的作用。
图3-13 系统运维功能设计图
(1)收集与传输层,具体如下:
1)标准系统部署拓扑描述,对清洁能源数据创新平台的各功能组件和服务节点的部署拓扑信息进行同步采集。
2)分布式监控数据探针和传输,通过运行探针的部署,对各分布式功能组件的运行状态进行实时监控采集。
3)日志文件格式化和传输,对各分布式功能组件运行时产生的日志进行处理收集。
(2)存储层,基于平台拓扑数据库、轻量级时序数据库、文档数据库将各类运维数据进行高效存储,保障数据安全、不丢失。
(3)分析层,具体如下:
1)时序数据报警引擎,对采集的组件运行监控数据以及拓扑数据进行实时分析,及时发现组件运行状态异常,并向上层发出报警。
2)日志事件报警引擎,对运维系统收集的各类型、各级别日志记录进行实时分析,对存在问题的情况进行识别,并向上层发出报警。
(4)运维应用层,具体如下:
1)资源规划。资源规划提供资源规划功能,允许用户根据平台现有数据资源的接入存储情况、数据分析使用情况、资源分配和消耗情况,再结合清洁能源未来业务的支撑计划、增量数据和新数据资源的接入量等因素,对现有资源进行合理规划,并按需确定硬件、软件、网络等资源。资源规划的意义在于:①合理规划资源,节省成本,充分发挥大数据管理平台的潜力;②根据资源使用情况预见性地判断未来业务的发展情况,为系统建设提供可信的方案;③有效控制建设过程,全局把握项目建设范围,做到有的放矢。资源设计对于系统运维具有重要意义,是大数据分析管理平台的重要功能。
2)启动管理。大数据分析管理平台是由多种组件、多种模块组成的复杂系统,平台为系统运维提供组件/服务的启停管理功能,允许用户在系统例行维护、计划内停机 (如迁移)、计划外停机 (停电)等情况发生时,对系统及其组件、模块进行启动和停止操作。大数据分析管理平台的组件存在复杂的逻辑管理,启动和关闭顺序非常重要。启动管理不仅关系到系统组件的启动和停止,而且可以智能化管理各个组件之间的先后顺序,解决组件之间的前后依赖问题。启动管理的目标是实现组件或模块的智能启停,为系统运维提供重要的管理功能。
3)系统性能监控。系统性能监控对平台整体的性能进行监控,获取综合性能指标,同时对平台使用的各种底层资源提供详细的性能监控,以保障上层应用能够持续调用系统服务;保障底层数据接入;能够将数据接入大数据分析管理平台。这些性能指标不仅能用来评估当前系统的运行状况,还能为资源规划以及性能告警提供数据源。
监控系统的作用是持续收集整个大数据系统,包括管理平台和分析支撑系统的运行状况,帮助运维人员快速定位系统问题,进行性能分析优化,保证系统7天×24h稳定运行。
4)故障诊断。当大数据管理分析平台出现故障时,故障诊断功能在第一时间告知运维人员,发现并定位故障,帮助介入的修复系统或管理人员及时修复故障,尽量避免故障导致的系统长时间宕机。故障诊断功能可以提高系统的可用性,及时发现系统故障,能够尽快根据故障类型确定解决方案,减少系统损失。故障诊断的意义不仅仅在于及时发现问题,更重要的是收集故障出现频次,利用大数据分析手段,为系统做故障画像。
5)性能告警。在大数据分析管理平台运行过程中,需要对一些关键性能指标设定预警阀值,以避免长期处于非健康运行状态导致系统宕机。当性能指标超过预警阀值时,产生相应的系统或应用告警。这些告警可以由其他系统介入或平台管理人员介入处理,通过相应的方法调整系统资源,使系统处于正常运行状态。
对于每一个报警,设计一个唯一的报警代码与之对应。规范的报警代码有助于运维人员快速识别报警的源头、原因、严重等级等信息。
6)应用性能监控。应用性能监控是对各应用组件的运行指标进行实时监控,为资源设计和性能告警提供数据源。主要的监控数据是应用组件的健康状态 (黑盒检查),为布尔值。健康状态可以帮助运维人员快速定位问题应用组件从而进行更详细的系统纠错。此功能为每个应用组件设计一个相应的系统检查例程,形式可以为API或者检查脚本。
(5)展示与交互层。平台提供运维系统前端界面,系统运维人员可通过前端界面实时掌握平台运行状态,对平台各类组件服务进行健康管理,在发生故障时快速恢复平台。
8.逻辑分区设计
大数据分析管理平台逻辑分区设计主要包括数据接入和收集区、实时分析区、分布式存储分析区、备份区、服务与管理区,逻辑分区设计图如图3-14所示。
图3-14 逻辑分区设计图
(1)数据接入和收集区。此区负责从物联网平台接收实时或批量传输过来的各类型清洁能源数据,主要包括ETL 接入集群、对象接入集群、时序接入集群、消息集群,其中ETL接入集群负责业务数据的接收,对象接入集群负责非结构化数据的接收,时序接入集群与消息集群负责时序数据的接收。
(2)实时分析区。此区负责时序数据的实时分析,由流处理集群构成,基于流计算实现高吞吐消息数据的接收及实时处理。
(3)分布式存储分析区。此区负责关系数据、对象数据、时序数据的一体化存储,并提供一体化查询与分析服务,主要包括时序数据存储、关系数据存储、对象数据存储、一体化查询引擎、一体化分析引擎。其中时序数据存储负责时序数据的存储,关系数据存储负责业务数据与时序统计数据的存储,对象数据存储负责对象数据的存储,一体化查询引擎基于元数据实现各类异构数据的关联查询,一体化分析引擎基于元数据实现分析模型应用底层各类异构数据的并行化分析。
(4)备份区。此区负责按备份策略实现时序数据存储、关系数据存储、对象数据存储的数据备份,当分布式存储分析区发生事故时,实现数据恢复,保障平台数据可靠性。
(5)服务与管理区。此区负责提供平台管理应用服务,包括大数据治理、元数据管理、系统运维。其中大数据治理提供数据质量检查服务,元数据管理提供各类异构数据的元数据信息管理服务,系统运维可以实现提供平台用户权限、用户使用痕迹等基础功能。
3.1.2.3 运营平台技术架构
运营平台技术架构图如图3-15所示。
图3-15 运营平台技术架构图
图3-15 中,运营平台通过清洁能源应用运行支撑服务提供友好易用的应用/服务安装部署环境,通过运行环境、基础中间件服务、大数据服务等支持数据应用的部署上线;提供运营支撑系统,通过服务目录、交易管理、计费管理等服务,支持开放应用市集并以开放竞争的方式对外服务;提供运营门户作为服务提供方、服务消费方、运营管理等用户的统一入口,打造业务聚集地。其中,涉及应用运行支撑服务、应用开发上架和应用订阅使用三个方面。
1.应用运行支撑服务
应用运行支撑环境底层采用云计算平台提供计算虚拟化、存储虚拟化、网络虚拟化功能。从开发服务支撑、应用管理和资源管理几个方面,支持创新服务应用在平台上的部署上线,应用运行支撑系统技术架构图如图3-16所示。
图3-16 应用运行支撑系统技术架构图
在应用运行支撑服务中主要开展开发服务、应用管理、资源管理等工作。具体如下:
(1)开发服务。开发服务为有应用开发或者移植需求的用户提供应用集成开发环境,允许用户在线上编写代码或者对代码进行修改,支持的主流开发语言包括但不限于Java、Python等。提供代码托管环境,允许用户在线管理所开发的代码,并通过在线持续集成和测试功能封装打包成可部署的镜像,存储在镜像仓库中,并对系统的文档和配置进行管理。
(2)应用管理。应用管理对平台上应用的全生命周期进行管理,包括应用部署前的审核,审核信息包括内容、业务价值、所需资源 (包括数据资源、计算资源等)。对于通过审核的应用,调用资源管理进行平台资源的分配,进行应用部署并将应用发布到服务目录上。对于运行中的应用,对应用的运行状态进行监控,收集日志,根据监控数据和日志数据对应用运行故障进行诊断并及时修复。
运营平台主要包括应用发布上架、应用订阅使用两个核心应用流程。
(3)资源管理。资源管理为创新服务应用提供运行的执行环境,通过云平台提供计算资源、存储资源和网络资源,提供应用运行所需的操作系统、中间件、高性能计算服务和行业数据服务,保证应用的落地部署。
2.应用开发上架
应用开发上架主要面向服务提供方提供的应用开发、部署、注册等功能,打造清洁能源服务上架开发应用市集。
服务提供方向平台提出应用开发申请,申请通过审核后,应用镜像仓库向应用运行支撑环境提出资源、服务、数据的实例化请求。应用运行支撑环境接收到实例化请求后,基于虚拟化技术建立应用实例并注册,开发完成实例并运行后,通过应用网关安全地对外提供服务。应用实例稳定运行后,发布注册到运营支撑架构的服务目录,服务对外展示。
应用开发上架步骤图如图3-17所示。
图3-17 应用开发上架步骤图
3.应用订阅使用
应用订阅使用主要面向服务需求方提供应用查询、订阅、使用、付费等功能,实现清洁能源服务应用。
服务需求方从服务目录中查询、比对所需服务,并向平台提出订阅申请。
平台接收到订阅申请后,对订单进行审核,审核通过后开通服务,服务需求方可使用平台提供的清洁能源服务。
平台对服务应用进行监控:一方面面向系统,监控服务状态,当服务出现问题时生成维修工单;另一方面面向服务需求方,对服务从资源、时长等维度进行计量,并产生使用费用。
应用订阅使用步骤图如图3-18所示。
图3-18 应用订阅使用步骤图
3.1.2.4 互联网平台技术架构
互联网平台技术架构图如图3-19所示。
根据电网的安全防护要求,互联网区禁止存放数据,当有需要的时候,通过强隔离向大数据分析管理平台获取所需数据。
互联网区提供的主要有移动服务、下一代探索验证平台服务等功能。
移动服务支持微信、移动APP (支持安卓与iOS操作系统)以及PC 端访问。提供安全服务、应用服务、通用服务、数据代理服务四大服务功能集。
(1)安全服务提供移动端授权验证服务,包括权限验证和数据加解密服务。权限验证根据用户的用户名/密码或者推送短信验证码到已注册手机等其他有效手段,进行用户的身份验证;根据系统授权信息对已登录用户提供相应的服务访问权限。数据加解密功能为可选功能。
(2)应用服务提供常用的业务功能,包括气象安全、实时监测、设备预警、资产管理等功能。其主要包括以下服务:
图3-19 互联网平台技术架构图
1)气象安全服务,主要是帮助用户在风电场作业过程中提前知道恶劣天气和自然灾害,以此做好相应防范措施,避免人员、设备的损坏和财产损失。提供风电场未来0~7天的气象预报,包含常规预报、气象预警以及逐小时风速预报,提供安全出行窗口,用于项目现场运维活动的时间安排。
2)实时监测服务,依据采集的风电场 (光伏电站)运行数据,提供远程风电场 (光伏电站)运行监视服务,实时显示风电场 (光伏电站)的运行数据,提供运营和维护活动的参考和依据。
3)设备预警服务,依据风电场 (光伏电站)运行数据,结合风电场 (光伏电站)运行与处理经验,通过大数据分析管理平台数据运算及人工智能算法分析,发现风电机组 (光伏模块)性能隐患、常规隐患、重大部件隐患等,告知客户,提供通用处理指导建议和人工技术专家支持,定期提供预警月报和年报。
4)电站KPI服务,提供通过手持端及时了解电站指标情况的服务。其主要功能为指标及其健康情况的呈现,展示与公司、电站经营相关的指标,便于不同管理角色了解经营KPI指标。KPI提供风电场 (光伏电站)运营评估标准,通过各种数据指标全面反映整个电站的运营状况。
(3)通用服务提供应用服务业务支撑所需的通用功能,包括数据服务、用户日志记录、版本管理、消息推送服务、用户管理等功能。
1)数据服务对应用业务提供数据支撑,根据应用服务的需求提供相应的数据。业务数据可通过互联网区代理服务从大数据分析管理平台获取。
2)用户日志记录主要记录用户的行为,作为后续给用户提供有针对性服务的依据。
3)版本管理提供移动APP的版本管理,支持移动端版本升级信息推送、版本强制升级等功能。
4)消息推送服务根据配置为需要的用户提供告警、经营指标、报表、系统运维信息、版本升级信息等服务。支持的推送手段为短信、微信、APP消息等。
5)用户管理主要是在服务端进行用户授权的管理。
(4)数据代理服务提供对强隔离数据的穿透服务,负责将互联网区的气象服务文件推送到大数据分析管理平台;根据移动端的需求,获取大数据分析管理平台的数据,供应用服务处理并显示使用。