基于云原生的智能运检管控系统实现概述
2020-11-04刘云辉
刘云辉
(中通服咨询设计研究院有限公司数字城市研究院,江苏 南京 210000)
电网智能运检管控系统(Intelligent Management And Control System for Power Grids Operation And Maintenance)是基于分布式系统基础的动态模型架构,以数据为核心,实现数据分析、可视化展示、辅助决策和生产指挥等运检智能化管控的开放、可扩展系统。基于试点先行、稳步探索的建设思路,聚焦实用性、前瞻性和可扩展原则,将云原生技术架构引入至运检管控系统技术架构的设计中,旨在于提升运检管控系统功能建设的灵活性和高效性,进一步提高融合运检专业多源系统信息效率,最终达到提升设备状态管控力和运检管理穿透力的目标[1]。
1 运检管控系统的现状及需求
运检管控系统是通过SG-PMS、SG-OMS、调度管理系统等14个外接系统横向集成,以“信息汇集、预警研判、过程管控、生产指挥”四大业务的开展为核心,包含省检修公司所辖设备管理信息和生产信息,管理信息包括上级提出的管理要求,生产信息包括故障(异常)、缺陷、生产调度、预告警、应急五类;过程管控主要对检修作业、反措执行、专项排查、外包及委托业务、周期性例行工作(日常巡检等)运检工作进行日常生产业务过程管控;预警研判主要实现对各类预告警数据的辅助监视、转发及发布,包括电网运行风险预警、设备告警、气象和环境预警等;指挥协调主要用于发起抢修、供电保障记录,并跟踪进展情况,同时协助运检部编制生产月报及各类专项报表。
在日常工作中发现随着电网设备的日趋复杂,目前的运检管控系统并不能很好的满足一线需求,比较急需的需求包括消缺类需求和综合集约类需求。消缺类需求,检修公司对设备的运行状态感知、数据分析和主动预测预警缺乏有效手段,综合预测预警能力不足,日常工作疲于应对各种突发故障和异常情况,传统的信息技术过于庞大,场景应变速度不足以支撑紧急任务。综合集约需求,虽然在云大物移智等信息技术的帮助下初步实现了数据的集约,但在应用集约上还是存在分散指挥调度的情况,利用大平台建立精密场景打通各管控纵向信息交互,提高运检效率和效益的需求迫在眉睫。
2 基于云原生搭建的可灵活配置的智能运检管控系统架构
CNCF(Cloud Native Computing Foundation,云 原生计算基金会)将“云原生”定义为使用开源软件堆栈进行容器化,其中应用程序的每个部分都打包在自己的容器中,动态编排,以便对每个部分进行主动调度和管理以优化资源利用率和面向微服务的应用程序,以提高应用程序的整体灵活性和可维护性[2]。其原则包括:为失败设计原则、去中心化原则、速度优先原则、自动化驱动原则、不变性原则、标准化原则、简化设计原则和演进式设计原则。由于云原生技术架构还在不断完善目前多用于小的专用功能,这种架构的优势是可将业务需求快速构建和部署到可提供轻松的横向扩展和硬件解耦的平台上,从而实现敏捷性、弹性和云间可移植。
根据《特高压及跨区电网智能运检管控系统功能规范》智能运检管控系统包括应用层、服务层和数据层三个部分。数据层主要是提供统一的数据访问和数据分析;服务层负责提供身份认证、流程管理、应用服务中间件、服务总线及数据传输服务;应用层包括开发框架、大数据分析、发布监控及共享组件库功能。
基于资源兼顾利旧原则,以云原生角度实现的智能运检管控平台技术架构如下图所示:
智能运检管控系统数据层的功能为:服务访问API、数据源管理、权限管理、驱动管理、实例管理、性能监控、操作审计等功能。API是服务之间通信的契约,在云原生架构下每个客户端都需要调用一个或多个API,常见的API网关包括:Amazon API Gateway、Tyk、Kong、api-umbrella、apiaxle、Netflix zuul、WSO2 API Manager、clydeio等。对于其他智能运检管控系统数据服务基于云原生架构的docker容器、微服务架构及Kubernetes自动化编排技术,能够轻松的实现节点智能集群、动态伸缩,保证系统稳定高可用,引入分布式任务调度和协调,拆分数据存储/计算任务,可动态增加节点快速处理速度,分析后减少节点集约资源。数据提取实现技术为Kafka、Flume;数据存储与数据库服务中如MySQL、MongoDB等。
智能运检管控系统服务层的功能为:身份认证、流程管理、应用服务中间件、服务总线和数据传输。云原生架构下各种服务均以组件形式存在,通过编排调用实现相应功能,其中云原生架构基础组件部分的消息服务、缓存服务、分布式任务调度和分布式协调可实现服务中心和数据传输功能要求;应用服务中间件一般采用Java Agent调用分布式协调中的Zookeeper来实现;流程管理功能可以采用相对比较成熟的基于Kubernetes的业务自动化BPMN流程工具Kogito,它是基于Quarkus,Knative等技术实现的;身份认证可基于Service mesh的基础上采用OAth2.0或JWT+API网关方式实现。
智能运检管控系统应用层的功能为:DevOps、大数据分析、发布监控和共享组件库。在实际工作中定制化场景的敏捷开发需求相对旺盛,因此对DevOps的搭建是极为必要的,主要功能包括源代码管理、自动化测试、自动化运维和监控,其云原生架构下的技术实现方法和工具如图所示。大数据分析主要是为运检管控系统的上层应用所需的决策信息提供建模服务,其中数据检索功能可基于Elasticsearch实时分布式搜索和分析引擎实现;数据挖掘功和建模功能则需要根据实际需求选择搭建Hadoop生态系统,相关技术主要包括Hive、HBase、Pig、Sqoop、Flume、Zookeeper、Mahout、Spark、Storm、Shark、Phoenix、Tex、Ambari等。发布监控的数据来源可以通过云原生自身的监控服务模块的相关组件提供,监控类的实现技术包括:Nagios、Zabbix、CAdvisor、Prometheus、TICK、Grafana等;追 踪 监 控类的实现技术包括:Pinpoint、Zipkin、JAEGER、Sky Walking、Open-Falcon、CAT等;日志类的实现技术包括:Fluentd、Flume、FileBeat、Logstash、Elasticsearch、Kibana等 。
3 结束语
虽然在信息化技术的帮助下智能运检管控系统已经打破了信息孤岛的僵局,融合了运检专业多源系统数据,但在高效支撑一线工作方向还有很漫长的一段路要走。本文尝试探讨利用云原生架构解决一些消缺或集约类场景快速实现问题,此架构并非要求一次建设,建议基于现有云环境按需完善,以业务为导向逐步递进,最终实现支撑电网设备的实时感知、在线监测、科学预警、智能诊断和运检资源优化整合,提升设备状态的管控力和运检管理穿透力。