徐 丹,王言国,李 枫
(南京南瑞继保电气有限公司,江苏省南京市 211102)
水力发电厂建立了大量的监控、监测和管理系统来满足日常运行工作需要和解决特定的管理问题。这些系统功能各有侧重,管理的信息既有交集,也存在差异和互补的内容。由于建设时间、供应商和采用技术的不同,各系统的信息描述、数据含义等自成体系,虽然系统之间也有一些点对点的数据交互,但总体上形成了信息单独存放、共享困难、难以综合分析利用的信息孤岛。
随着水电厂的发展和管理要求的提高,各个专业应用之间、水电厂和上级管理部门之间的信息共享和协作要求越来越高。当前各业务系统的信息孤岛形态使得数据难以得到综合利用,无法为多业务系统数据协同分析提供支持,也无法为现场一线技术人员提供业务优化的平台。
计算机领域虚拟化和大数据平台技术的不断成熟,为各行各业数据集成项目提供了技术支撑。虚拟化技术很好地解决了大规模系统占用机房物理空间问题,并给硬件设备集中运维和服务器动态迁移等带来了革命性的改变[1]。大数据平台满足了传统技术无法处理的半结构化和结构化数据,并为后期海量数据的实时分析处理提供了强大的支撑,使得数据中心业务涵盖全业务数据领域[2]。
在此背景下,为适应水电厂运行精细化管理的要求,迫切需要一个能整合水电厂现有各业务系统的实时数据、历史数据、图形、文件等各种信息,满足水电厂各级部门进行实时综合监视、高效应用分析、支撑各专业持续优化改进的水电厂一体化数据中心[3][4][5]。
水电站根据总装机容量有小、中、大之分,水电站与梯级调度、公司级调度职能又不相同,因此水电数据中心建设方案不能一概而论,需要针对不同应用场景具体分析,设计符合实际情况的方案。本文设计了两种建设模式,既可满足需要自行数据集成分析的大型水电站要求,又可适应涵盖中小水电站的区域集控、梯级调度和公司级数据中心数据汇总要求。
本模式适用于大型水电厂数据中心建设。大型水电厂拥有庞大的生产设备,并分期建设了大量的监控、监视、分析和管理系统。需要建设一个数据中心来打通相互独立系统间的数据壁垒,使得不同系统间数据可以共享,协作完成某些特定的应用分析,评估生产设备的健康状况,降低全设备维修检查的工作量。详细的配置图如图1所示。
图1 大型水电厂数据中心配置图Fig.1 Configuration diagram of data center for large hydropower plant
数据中心采用目前主流的虚拟化技术,以增加每台服务器的硬件投入,换取机房物理空间的占用量。同时,虚拟化软件对所有硬件资源进行统一管理,一体化运维,降低了硬件维护的复杂度。虚拟化的快速部署和动态迁移技术又为系统带来了可靠性保证,虚拟机可便捷地将整个系统(包括虚拟硬件、操作系统和配置好的应用程序)在不停机情况下迁移到不同的物理服务器上。
数据中心的数据来源广泛,有多种组织形态:结构化、半结构化、非结构化等,因此引入混合存储的方式进行数据存储。混合存储包含文件服务器、时序数据库、关系数据库和Hadoop数据库,对上提供统一的封装接口,做到应用透明;对下根据具体的数据和应用类型,存储到合适的数据库中。针对秒级结构化的数据存储到关系数据库,便于实时交互的统计查询;毫秒级的结构化数据存储到时序数据库,满足高并发大数据量的实时写入;针对海量结构化和非结构化数据,存入Hadoop平台,后期做离线分析和数据挖掘使用;文件类的数据存入文件服务器,方便后期快速检索和获取。混合存储平台中的组件可以根据需要任意组合,方便灵活。
整套系统推荐在Ⅲ区建设,Ⅰ区和Ⅱ区只需部署采集服务器转发和缓存采集数据即可。但也有应用场景想把Ⅰ区、Ⅱ区的核心数据汇总后先进性分析,方便在Ⅰ区、Ⅱ区查看分析结构,再将最终结果转存到Ⅲ区数据中心。此时就需要在Ⅱ区建一个小型的数据中心,保存Ⅰ区、Ⅱ区的系统采集数据,并叠加相关的分析应用对数据进行加工处理。Ⅱ区数据中心单向将数据同步到Ⅲ区数据中心。
Ⅰ区、Ⅱ区和Ⅲ区之间都通过正反向隔离装置进行物理隔离,Ⅰ区、Ⅱ区数据通过正向隔离装置单向将数据传送到Ⅲ区;Ⅲ区数据只能序列化到文件,放到指定目录,由反向隔离装置转换后传输到Ⅰ区和Ⅱ区的指定目录。Ⅰ区和Ⅱ区之间通过防火墙隔离,Ⅰ区的安全级别更高,数据一般都是从Ⅰ区发往Ⅱ区,或是Ⅰ区直接访问调用Ⅱ区的数据。
水电厂数据中心最后经过防火墙和窄带网络将部分数据上送到区域和公司级数据中心,以供上级系统做进一步分析和考核。上送的数据可根据用户需求定制,按需上送,节省网络带宽资源。
本模式适用于水电站集控和公司级数据中心建设。同模式1一样,采用虚拟化技术降低机房物理空间占用率和提高系统整体冗余性,并通过混合存储方式来处理多样性的数据。整个模式遵循安全防护规定的Ⅰ区、Ⅱ区、Ⅲ区隔离要求。具体配置图如图2所示。
本方案的特点在于Ⅲ区数据中心需要部署前置服务器和前置网,采集下游各个水电厂数据中心上送的数据,存放到集控或公司级数据中心。向下采集的方式可以有两种,一种是集控或公司级数据中心主动发送报文请求召唤相关数据;另一种是水电厂数据中心根据规定,主动上送特定的数据到集控或公司级数据中心。
图2 水电集控和公司级数据中心配置图Fig.2 Configuration of hydropower centralized control station and company data center
由于水电集控或公司级下属的很多水电站都是中小型水电站,数据量小且资金预算不足,没有建设数据中心的必要。因此根据实际需要,可在Ⅰ区、Ⅱ区选配一个集控系统,负责采集没有数据中心的中小型水电厂上送的数据,并将数据汇总后转发到三区的数据中心统一存储。Ⅰ区、Ⅱ区集控系统并不是必须,当没有下游中小型水电站数据需要采集时,可以在Ⅰ区、Ⅱ区各放置一台采集服务器,负责将集控或公司级Ⅰ区、二区系统的数据缓存和转发到Ⅲ区数据中心。
水电集控和公司级数据中心多一个DMZ(Demilitarized Zone)区,该区主要提供外网Web和手机App访问。Ⅲ区和DMZ区通过防火墙隔离,Ⅲ区的数据中心将需要外网访问的历史数据同步到DMZ区的历史数据库中,供DMZ区Web和手机App访问。有的设计方案为了节约成本,让DMZ区应用直接访问Ⅲ区的数据中心数据,该方案无法满足安全防护的等保测评要求,将给三区数据中心带来隐含。
本文介绍的水电数据中心融入了众多自主知识产权的关键技术,形成了一个既通用、开放,又完善、高效的解决方案,具体软件架构图如图3所示。
整个软件架构推荐部署在虚拟化云平台上,将硬件设备的CPU、内存、磁盘和交换机虚拟化为一个资源池,按需分配,充分利用硬件资源,并很好地发挥了虚拟化云平台快速部署和动态迁移等优势,增强整套系统的可靠性。
图3中最左侧数据源端的应用系统数据,部分数据通过数据获取层中的抽取模块进入消息总线和数据缓冲区,另一部分数据通过应用导出的方式,进入数据获取层的文件获取模块。消息总线、数据缓冲区和文件队列中的数据经过数据存储层解析后存入混合存储平台对应的数据库中。数据存储层中具有通过统一建模工具建的全景数据模型,各个应用系统的每一个设备在全景模型中具有唯一标识。数据存储层是整个数据中心的核心,汇聚了所有应用系统的模型和数据,有些经过初加工生成报表。有些数据经过智能算法的分析,挖掘出关联规则,形成设备健康评估报告等,反过来指导生产决策。
架构的最上层是元数据信息库,保存了整个数据中心的元数据单元,包括技术元数据和业务元数据,是后面建模和数据存储的基础,并加入了安全信息单元,满足越来越严格的安防要求。
元数据信息库下层是数据校验信息库,该库中保存了各种校验规则,通过校验规则的组合生成新的规则,并可通过校验生成结果报告,供上层使用者参考。
图3 水电数据中心软件架构图Fig.3 Software architecture diagram of hydropower data center
由于数据中心复杂的功能结构,后期运维一直是数据中心的痛点。南瑞继保水电数据中心提供了完善的系统运维工具,包括集建模、数据编辑和统计分析为一体的统一运维平台、供系统整体灾备和灾后恢复的备份还原工具、对各种分散系统资源集中监视的资源监视平台等。借助这些工具,运维人员可以快速地掌握数据中心的日常运维工作。
云平台的虚拟化和动态迁移属性要求应用系统可以根据需要灵活分布在指定计算机节点上。分布式系统需要强大的网络中间件支撑,本方案水电数据中心网络中间件屏蔽网络通信的细节,为系统内的所有应用提供统一的透明的灵活易用的网络支撑平台,实现实时、高效、可靠的数据传输。网络中间件能够在运行于冗余配置的网络之上的程序间形成快速、精确的连接,而不管程序所在的位置。当由于系统故障切换或网络问题发生通信故障时,网络中间件能够通过其他可选的网络路径快速重新建立连接。另外,依据全国电力二次系统安全防护总体框架的“三层四安全区”,采取整体规划设计,保证了电网运行的安全可靠。
一个完整的应用功能在计算机中由多个进程(任务)和实时数据库组成。分布式系统中完整的应用功能可以被分配到网络上任意一台节点中运行,不管应用功能分布在哪个节点上,用户通过外部接口和界面访问分布式系统都是一样的,做到对上层使用者透明。灵活的分布式架构设计突破了以往主备服务器概念,按应用特点进行分布,实现了一主多热备,提高了系统可靠性,同时广泛适应不同类型的应用需求,提高集成系统整体运行效率。
数据中心分布在各个节点的实时数据库通过和值班机进行版本校核保证数据一致性,彻底解决了分布式系统数据不一致问题。具体而言,实时数据库的一致性处理分两个阶段:数据库启动时和运行过程中。启动时采用文件同步方式,根据版本对不一致的分区实施一致性处理;运行过程中的同步问题发生在更新操作后,更新操作先对主本进行,发出同步事件,各复本的数据库服务器接受并处理同步事件,完成数据的一致性处理。分布式系统支持服务器/客户端访问模式,避免了传统分布式系统需要把数据库分布到所有节点造成的同步负载过高的问题。分布式客户端节点优先访问本机资源,当本机没有应用时自动连接负载较轻的服务器节点。灵活分布式系统架构可以满足系统集成规模不断扩大的需要,独立子系统构成集群运行,同时保证共享信息的同步效率。
水电数据中心实时数据库是一个面向对象的分布式实时数据库产品。它采用面向对象的数据模型,支持类之间的继承、聚集关系以及对象标识等面向对象的特性,能够构造复杂的结构模型,支持用户自定义数据类型和方法。面向对象的数据模型,不仅易于描述水电相关系统及其拓扑关系,更能直接定义类结构,不需要任何映射,是最容易接纳标准,并适应其版本变化的数据模型。采用面向对象模型可以免去模型转换和数据映射的麻烦,既可以遵循国际标准,又能保持实时库的高访问效率。具有开放性和实时性的完美统一。
在面向对象数据模型中,每个对象都有一个在系统内唯一不变的标识符,称为对象标识符,简称OID。OID的生成和管理既是面向对象数据库不可缺少的重要组成部分,也是开放系统中数据交换的需要。对于实时应用,导航查询占查询的主要部分,必须保证OID 定位到相应的对象的速度。实时数据库的OID采用物理对象标识符与逻辑对象标识符相结合的表示方法,OID结构及其索引是高效的对象访问基础。
采用面向对象的数据模型,为实时数据库实现可扩展性提供了坚实的基础。实时数据库允许应用利用模式定义工具自定义数据类型,具体有结构类型、数组类型和枚举类型。
实时数据库支持不同程序对数据库内的同一数据集进行并发访问。其中与数据库的连接对应用而言是透明的,应用通过连接管理可以与分布于系统中任何结点的数据库建立连接,从而实现了对数据库的透明访问。并采用先进的连接池技术对连接进行动态管理,实现了数据库连接的复用,大大降低系统的开销。在数据库服务器故障情况下,系统将根据连接分发策略自动重连到负载较轻的服务器;一旦本地服务器恢复可用,连接又将转至本地,保持高的数据访问速度。在以上技术的支撑下,单个实时库的数据处理能力达到100万条每秒,通过分布式扩展方式,最多可支持1000万条/s。
水电数据中心中需要存储的类型包括标准化编码后的全景模型数据、各业务系统抽取的结构化低频数据(秒和分钟级数据)、业务系统直接转发的结构化高频数据(毫秒级数据)、经过统计分析后结果数据、视频和文件等非结构化数据。水电数据中心综合考虑各种数据类型的特性和数据量,设计了数据混合存储框架,用于满足不同业务数据的存储要求,如图4所示。
元数据和模型数据相对稳定,后期数据增、删、改等操作较少,且没有实时更新和改写的要求,但是对数据的可靠性要求较高,数据都是结构化类型,因此传统的关系型数据库更适合,能满足性能和可靠性要求。
各业务系统抽取的生产数据,变化大、实时性要求高(秒级和分钟级),且随着业务发生量的不断增加而增大。用户需要实时的对这部分数据进行交互查询和统计分析,因此数据处理的响应时间需要在秒级以内,在数据量不超过PB级别的情况下,传统关系型数据库集群就可以满足存储和查询要求;但如果数据量增长到PB级以上时,关系型数据库就有些力不从心了,需要引入大数据平台技术来解决海量数据的存储、查询、统计和分析等工作。
特殊业务系统的毫秒级采样数据结构简单,对精度和速度的要求非常高,关系数据库和大数据平台无法支持如此高频的数据插入,需引入时间序列数据库针对性处理。时间序列数据库省去了关系库的复杂校验和关联性检查,大大缩短了具有时间序列数据的处理时间,且通过压缩技术降低了所需的存储空间。
对于文件和视频类非结构化数据,例如序列化记录文件、报表、报告、结算单等,文件数量巨大,需要引入Redis等高速缓存数据库来解决数据量大、实时性强的数据文件检索功能,通过将索引信息存储在高速缓存中,通过索引快速定位文件存储路径,从而达到快速获取文件的要求。
图4 混合存储平台数据类型图Fig.4 Data type diagram of mixed storage platform
每种数据库都有各自的特性和适用范围,对于水电数据中心这类数据类型复杂的系统,没有哪种数据库可以通吃,因此我们设计了混合存储平台,时序库、关系库、大数据平台、文件服务器等组件可以通过自由组合的方式,部署所需的组件,满足水电各类数据中心的建设要求。
水电厂数据中心以统一的方式全面采集各类业务数据,为各类应用提供信息支撑。以灵活的分布式数据采集技术实现全厂监控信息、二次设备运行信息、电能计量等的采集与交换,通过统一的服务总线为上层应用提供数据支撑。
水电厂数据中心前置采集采用分布式扩展设计,可以根据数据特点和规模为第三方系统接入建立独立前置采集应用,采集进程启动时传入第三方系统应用名称。前置与第三方接入应用采用多对多设计,例如:一套振摆在线监测系统应用,可以部署两个数据中心前置应用,提高处理效率;也可以用两个前置应用,对应两套振摆在线监测系统应用。灵活分布式采集,可以有效解决跨安全区采集和不同通道性质的数据统一采集问题。
水电数据中心支持CDT、IEC60870、TASE.2、Modbus TCP等各类通信规约库,并可以根据需求进行自定义扩充。添加新的规约插件不需要修改原有程序架构,只需开发新的规约插件库即可,新的规约插件即插即用。
水电厂运行驾驶舱是数据中心的人机交互层,以水电厂关键运行指标为主线,依托数据中心汇集和萃取的各类运行信息,综合运用大数据分析、机器学习、态势感知等技术,提供面向用户的指标监视、预警、信息挖掘、决策分析和控制功能,为运维人员驾驭电厂提供一个综合、直观、闭环的友好环境。
水电数据中心运行驾驶舱提供统一的展示层,对外提供展示服务,可以支持桌面终端、移动终端和Web终端的浏览,方便用户进行跨终端监视。水电厂内现有系统众多,数据中心也相应集成了多种类型的数据,对于不同的数据,驾驶舱采用曲线、表格、仪表盘、水位计、饼图、棒图等多种展示方式,并结合报表进行数据的统计、查询和可视化展示。
运行驾驶舱围绕电厂关键指标,能够直观反映电厂运行各环节的状态,支持领导管理决策,提升关键运行岗位人员监视与控制的效率,增强管理者的态势感知能力,并提供辅助决策。厂内关键指标的制定遵循统一的运行指标体系,提供指标管理、监视及预警功能,其展示采用智能告警和可视化结合的方式,方便用户快速、有效定位异常、辅助决策、控制。通过对关键指标的监视能够实时反映电厂运行中的隐患或异常,支持快速定位具体的异常指标,并通过自动或手动方式触发预定义的辅助分析决策功能,为用户及时干预系统运行提供决策依据。
水电数据中心通过全厂数据整合,实现了物理设备的模型化、数字化,为电厂运行人员提供了数据共享、知识流动的平台,完善了综合运用数据提升工作效率的机制。通过多个系统的数据综合分析,从而解决单系统分析无法完成的任务,借助数据中心将优秀技术人员的经验固化为数据中心的专家库,从而提升全厂人员水平,实现全员高效。
以抽水蓄能电站静止变频器(SFC)的综合分析为例:SFC启动机组时,首先要准确检测发电电动机的初始转子位置,从而为SFC输出初始启动力矩提供大小及方向依据。SFC进行转子初始位置检测时,通过机组励磁系统控制转子电压突变,根据电磁感应原理,电机定子将感应三相电压,SFC根据该电压信号计算转子静止时的位置。而SFC设备运行中,因为转子初始位置检测不准确引起的启动失败时有发生,却缺乏有效的监测和分析手段。
SFC设备转子位置检测算法依赖监控、励磁及SFC设备之间的时间配合,来进行转子位置检测时的启动检测、施加励磁阶跃、开启感应电压采集窗口及转子位置计算等。当初始启动阶段发生启动失败时,由于SFC及励磁设备录波及事件记录配置不完善、各系统相互独立,加上各系统不在同一时标下,无法对各系统的行为时序进行比对,难以快速实现故障分析及定位。
水电数据中心集成了包括SFC本体、各机组励磁、监控系统(包括同期)故障前后的运行信息,统一时标,能快速明确故障发生时的各系统时序是否正常,实现故障原因快速定位。日常运行中也可以对多次转子位置检测时各系统的时序及时间差进行比对,实现对信号继电器、励磁电流反馈回路及励磁电流上升情况、感应电压情况的监测。如图5所示,将启动令、励磁状态、励磁电流给定指令、励磁电流测量反馈及机端感应电压等与转子初始位置检测相关信息集中收集、统一时标,以实现故障时快速定位问题原因。
图5 SFC综合信息展示图Fig.5 SFC comprehensive information display
本文结合水电站数据集成的应用背景,提出了基于云平台的水电数据中心总体架构和技术方案,可经济、有效地整合水电厂各类业务系统数据,通过云平台、大数据、人工智能、数据建模、驾驶舱等技术提供标准化、开放性的智能应用开发平台。基于以上技术方案研制了南瑞继保水电数据中心产品,将为“智能电厂”“智慧电厂”建设提供数据基础,通过数据驱动电厂运行和管理水平提升,具有良好应用前景。