APP下载

智能调度自动化系统中镜像系统的设计与实现

2018-06-13季学纯曾坚永温柏坚卢建刚史浩秋季惠英

电力工程技术 2018年3期
关键词:镜像虚拟化部署

季学纯, 曾坚永, 彭 晖,温柏坚, 卢建刚, 史浩秋, 季惠英

( 1. 南瑞集团有限公司(国网电力科学研究院有限公司),江苏 南京 211106;2. 广东电网电力调度控制中心, 广东 广州 510600)

0 引言

近年来,随着大范围交直流混连大电网的建设,电网架构日趋复杂,支撑电网运行的一体化电网运行智能系统数据规模越来越大,系统功能越来越多[1-3],这不仅给调度运行带来了新的困难,也给系统的数据接入、程序升级、新功能调试、应用模块投运、应用间配合等运行维护工作带来了更大的挑战,对运行维护人员也提出了更高的要求。因此需要研究智能调度自动化系统的镜像系统(以下简称“镜像系统”)实现技术,满足自动化系统调试、人员培训等方面的需求。

镜像系统是指在硬件上独立部署、软件功能与实时系统基本一致,与实时运行系统解耦的独立运行环境,可用于自动化系统的人员培训、测试仿真等。国内在调度员仿真培训方面的研究工作经过20多年的发展,已逐渐成熟,并在各级调度中心的调度员培训、反事故演习等方面发挥了重要的作用[4-6]。其在系统环境仿真、培训案例设置等方面对本文具有较强的借鉴意义,但在环境的快速部署、易维护性、自动化人员培训场景等方面还有待加强。文献[7]提出了数字电力系统的概念,其实质是对实际的电力一次系统进行数字化镜像,以提高电力系统状态实时评估和科学决策能力,未涉及二次自动化系统的镜像。文献[8]构建了智能电网调度控制系统综合试验验证平台,提出了源代码、功能、性能、稳定性等试验验证的技术和方法,但其用途较为单一,平台的搭建和维护也较为复杂。文献[9]和文献[10]给出了面向维护人员的变电站自动化技术培训系统实现方案,但技术需求、实现方式等与调度主站端差别很大。文献[11]通过人工部署一套与EMS一致的系统,并人工同步数据断面的方式,实现了一种简单的镜像系统,但没有解决镜像系统快速部署、系统镜像同步、数据同步、自动化故障教案编制、自动化人员操作记录、培训评估等关键技术问题,且部署过程较为繁琐,后期维护工作量大,实用性不强。

文中在分析镜像系统的功能需求基础上,结合广东电网新一代智能调度自动化系统建设[12-13],设计了一种镜像系统体系架构,给出了镜像系统实际工程应用案例,对于调度自动化系统的安全稳定运行意义重大,且易于部署和维护,具有广泛的应用前景。

1 架构设计

镜像系统的设计目标如下:硬件配置可在满足性能要求的前提下减少数量,降低配置;软件部署可根据需要,涵盖调度自动化系统Ⅰ、Ⅱ、Ⅲ区所需功能模块。镜像系统能以实时系统中任意时刻的电网模型、图形和数据断面为基础,通过环境的快速复制,形成独立的研究、培训、测试环境,供使用者开展研究分析、学习培训、仿真测试工作。使用者可在仿真测试系统中对电网模型、图形、运行数据进行任意修改,而不会对运行系统的实时运行和已存储的数据带来任何影响。当镜像系统用于系统测试和自动化培训等目的时,往往要求快速搭建多套镜像系统,并且在镜像系统环境被破坏后能够很快恢复,同时还要求尽可能减少硬件投资,充分利用计算机资源。

镜像系统设计上需要遵循如下原则:

(1) 全面性。镜像系统从功能上可涵盖实时系统Ⅰ、Ⅱ、Ⅲ区全部功能模块,可采用与运行系统相同的软件配置。

(2) 独立性。镜像系统具备与实时系统完全独立的环境,包括独立的服务器、工作站、网络设施、存储设备等。

(3) 安全性。镜像系统上的任何操作,包括破坏性的测试均不应影响实时系统的安全稳定运行。

(4) 易用性。镜像系统的部署、维护和管理快速简便,运维人员在数分钟至数十分钟内就能完成一套或多套镜像系统的部署,后续运行过程中基本不需要额外的人工维护。

根据前述设计目标和原则,提出了基于虚拟化技术的镜像系统设计方案,其系统架构如图1所示。

图1 镜像系统架构Fig. 1 Diagram of mirroring system architecture

镜像系统与实时系统在物理网络上设置防火墙,通过配置防火墙规则允许实时系统对镜像系统单向传输数据。仅允许镜像系统通过开通的几个端口向实时系统发起数据请求,保证了实时系统的安全性。镜像系统采用完全独立的硬件,并利用虚拟化技术,虚拟出所需的多组服务器。

镜像系统由镜像模板和若干测试仿真环境组成,所有节点都是通过虚拟机产生的虚拟节点。镜像模板由若干台虚拟服务器节点构成,镜像模板的程序版本、环境配置、应用部署与实时系统完全一致。此外,镜像模板中还部署了镜像管理模块和数据代理模块。镜像管理模块主要负责对整个镜像系统中镜像模板,测试仿真环境所有节点的创建、配置、维护等管理操作。数据代理主要负责从实时系统接收图形、模型、消息、历史数据等,并转发给各个测试仿真环境。镜像模板主要用于克隆测试仿真环境,但不用于其它测试仿真和培训用途。

根据具体应用需要,可依据镜像模板同时克隆多个相互独立的测试仿真环境,用于自动化人员培训或测试仿真。测试仿真环境可以在需要时临时创建,使用完毕后删除以释放虚拟机资源,也可以长时间运行而不需要额外的维护工作。

2 关键技术

2.1 镜像系统快速构建技术

近年来,虚拟化技术发展迅速,其中的服务器虚拟化可以将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,不再受限于物理上的界限。中央处理器(central processing unit,CPU)、内存、磁盘、输入/输出(input/output,I/O)等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理。这不仅大大节省的镜像系统的硬件投资,也给系统的部署和维护带来了极大的便利[14-17]。

虽然由于使用虚拟化会带来硬件上的开销,但是在CPU厂商和虚拟化软件公司的共同努力下,这种性能的损失在可以接受的范围内[18]。由于镜像系统对实时性的要求相对于运行系统要低,文中利用了虚拟化快速克隆部署等技术特点实现镜像系统的快速部署。

如图2所示,基于虚拟化技术的镜像系统有两种构建方式。

图2 基于虚拟化的镜像系统Fig. 2 Diagram of mirroring system based on virtualization

第一种方式如图2(a)所示,直接从实时系统克隆出多套测试仿真环境,这种方式看似简单,但存在如下问题:需要将实时系统构建在虚拟化节点上,虽然目前虚拟化技术已较为成熟,但基于虚拟化环境的电网实时调控系统还未见成熟应用,存在较大风险; 实时系统需要向镜像系统的多套测试仿真环境同步数据,容易对实时系统的稳定运行造成影响。

第二种方式如图2(b)所示,在镜像系统中部署镜像模板,镜像模板可以看作是搭建在镜像系统虚拟节点上的一个特殊的测试仿真环境,其模型、图形、实时数据、用户操作数据等与实时系统保持同步,但镜像模板不用于具体的测试仿真和培训等用途,一旦创建成功,一般不会频繁地创建和删除。它的主要功能有:为测试仿真环境的快速搭建提供模板;向测试仿真环境转发模型、图形、实时数据、用户操作数据等变化数据。这样就可以很好地解决第一种方式存在的问题,因此文中采用第二种方式实现基于虚拟化技术的镜像系统。

2.2 快照一致性技术

通过镜像模板创建测试仿真环境时,需要先给镜像模板创建一个快照,然后根据快照创建测试仿真环境。当镜像模型中部署了关系数据库时,创建快照时关系数据库可能处于非静止状态,产生的快照可能会由于数据的不一致,导致测试仿真环境中数据库无法正常启动。在微软的Windows操作系统平台上,提供了一种卷影复制服务(volume shadow copy services,VSS),通过该服务的应用程序编程接口(application programming interface,API),可以驱动数据库等应用进入数据一致性的静止状态。在快照开始初始化之前,完成刷新缓存、结束写操作以及系统状态的更新。目前Linux和Unix操作系统还不具备类似VSS的API接口。部分虚拟机产品可以在创建快照时让虚拟机进入静止状态,然后再创建快照,但由于没有通知到数据库程序,还是会存在不一致的风险,且不具有通用性。

一般的数据库产品都支持集成第三方备份软件,并提供相应的接口供备份软件调用,以使备份软件在需要进行数据库备份时,调用该接口使数据库进入静止状态。本方案中正是利用数据库的这一特点,在根据镜像模板创建测试仿真环境时,首先调用数据库备份接口使数据库进入静止状态,然后再调用虚拟机的接口创建快照,以确保数据库快照的一致性。这种方式不依赖于特定的操作系统和虚拟化软件,具有较强的通用性。

2.3 数据代理技术

镜像系统的运行环境需要与实时运行系统保持高度一致,这样才能为人员培训、测试仿真打下良好的基础。这就需要将在线运行环境中的程序、配置文件、静态模型数据等任何变化数据及时同步到镜像系统中。镜像系统中可能有多个测试仿真环境同时运行,而这些测试仿真环境可能会根据功能测试需要、培训需要等动态地创建、删除,这就给数据同步管理造成了困难:一方面实时系统需要向镜像系统中的多套环境发送数据,另一方面还需要根据镜像系统中测试仿真环境的创建和删除动态地修改同步策略。通过镜像模板中的数据代理则能够很好地解决这个问题,如图3所示。

图3 实时系统与镜像系统的数据流Fig. 3 Data flow diagram of real time system and mirroring system

数据代理运行在镜像模板下,采用“接收-转发”和“请求-响应”两种工作模式。

数据代理转发的数据包括运行环境数据、静态图模数据、动态实时数据、用户操作数据、历史数据几大类。其中运行环境数据包括应用程序、动态库、配置文件等,静态图模数据包括图形、模型等,动态实时数据包括从前置采集的量测数据,用户操作数据是指置数、封锁、挂牌等调度运行人员在系统上手动进行操作的数据,历史数据包括采样数据、告警数据等。由于实时系统和数据代理间部署了防火墙,所以数据转发是单向的,可以有效避免镜像系统中的数据对实时系统产生影响。

并非所有的测试仿真系统都需要所有类型的数据。例如在进行自动化培训时,可能不需要自动接收运行环境数据,以免影响培训效果。大多数据情况下,测试仿真环境也不需要接收历史数据,因为测试仿真环境本身也可以进行历史数据的采集。只有需要长时段的完整历史数据才需要通过“请求-响应”的方式从实时系统获取指定的历史数据。

2.4 镜像管理

镜像管理主要包括镜像模板管理和测试仿真环境管理两个部分功能。

镜像模板在整个镜像系统中处于核心地位。如果镜像模板出现故障,一方面会影响新的测试仿真环境的创建,另一方面也会影响实时系统向镜像系统的数据转发功能。因此需要对镜像模板进行主备冗余配置,以确保镜像模板的可靠性。此外,还需要提供镜像模板的备份恢复功能,定期对镜像模板中程序、数据、配置信息等进行备份。镜像模板的恢复支持分为从备份恢复和从实时系统恢复两种方式。

测试仿真环境管理包括测试仿真环境的创建、配置、删除等。当需要搭建测试仿真环境时,通过向导式界面,只需要进行域名、主机名、IP地址、应用配置等简单的配置,就可以从镜像模板迅速派生出一套完整的测试仿真环境。当测试仿真环境不再需要时,也可以通过测试仿真环境管理界面快速删除,以释放虚拟机资源。

通过虚拟化技术可从镜像模板同时克隆出的多套测试仿真环境,且每套测试仿真环境之间的CPU、内存、硬盘等资源相互隔离。软件上通过配置不同的域名实现测试仿真环境的功能独立,从而确保在多用户同时操作情况下互不干扰。

2.5 培训案例集成框架

随着实时系统应用功能的完善,系统也变得越来越复杂,要求测试仿真系统的培训案例是可不断扩充和完善的。系统实现了一种自动化培训案例集成框架,扩充培训案例时,只需要通过编写脚本和程序模拟故障,不需要对整个自动化培训流程和界面做任何的开发。

培训案例集成框架提供图形界面进行故障操作模拟,教员可新建各个故障类型标签,在标签下可新建各个具体的故障按钮,并与故障模拟程序或脚本建立对应关系。在培训进行时,教员选择故障类型下的具体故障,点击启动按钮后,由模拟程序和脚本产生对应故障。学员则根据自动化系统中的告警界面等,判断故障范围和原因,并进行排查和处理操作。培训框架可根据故障处理中预设的关键条件进行跟踪,当满足设定的故障恢复条件后,教员从图形界面得到故障排除的反馈。

操作记录功能自动记录学员和教员的操作内容和操作步骤,作为对学员操作的指导和评价依据。培训评价功能由教员根据学员的处理过程和处理结果给出评价。

3 应用案例

3.1 自动化人员培训

自动化人员培训是镜像系统的一个重要应用方向,分为故障教案编制和模拟、操作记录、培训评价三部分组成。故障设置可通过培训教案组合而成,目前系统已具备通道故障、系统硬件故障、系统软件故障、数据跳变、自动发电控制(automatic generation control,AGC)故障等6大类23项故障的设置功能。例如:

(1) 通道故障。在系统中接入子站模拟器,建立远动通道,模拟脚本通过控制通道配置等方法来产生一个或多个远动通道故障。

(2) 系统硬件故障。模拟程序调用虚拟化软件提供接口,产生服务器异常、网络设备异常、存储设备故障、二次安防设备故障等。

(3) 系统软件故障。模拟程序调用平台接口,产生数据库异常、平台关键进程退出、系统缓存目录异常增长等,可选择预设的故障历史断面来产生由于量测问题导致状态估计无法收敛的故障。

(4) 数据跳变。模拟程序指定总出力或总负荷公式里的其中一个量测因子,使其产生较大的数据突变。

(5) AGC故障。模拟程序修改电力自动化监控系统(supervisory control and data acquisition,SCADA)量测点的数值来产生关口数据的实时值与计划值差异超过阀值、没有有效的频率量测、关口数据的本端采集与对端采集差异超过阀值等故障。

3.2 系统功能测试仿真

系统功能测试仿真为实时系统中新功能的开发提供了部署、调试、测试、试运行整个流程的测试仿真环境。小到某一个应用程序的故障分析,大到某一个新应用的开发部署,均可以在镜像系统中完成。并且常规系统开发过程中用到的任何测试工具,均可以在测试仿真环境中正常使用。

典型的系统功能测试仿真包含如下几个步骤:

(1) 构建测试仿真环境,可根据需要选择全应用仿真和部分应用仿真。

(2) 新程序部署。除了部署新程序和动态库,可能还会涉及数据库修改、配置文件文件修改等操作,如果部署涉及的工作很多,可以在测试仿真环境部署的同时,形成部署脚本。

(3) 测试。除了进行常规的功能测试外,还可通过压力测试检验程序在高负荷状态下的运行情况等。此外,还可以对程序部署脚本进行测试,以保证新功能在实时系统上的部署顺利进行。

(4) 试运行。通过长时间的试运行检验程序的稳定性。

(5) 实时系统部署分发。通过测试的程序在实时系统中进行部署,并分发到实时系统的所有节点。

系统功能测试仿真的应用,给应用开发人员带来了很大便利,可以很方便地模拟各种复杂环境,对应用程序进行更加全面的测试,大大降低了新功能部署给实时系统运行带来的风险。

3.3 应用效果比较

目前镜像系统已在广东电网新一代智能调度自动化系统中投入运行,自动化人员已基于镜像系统开展运维培训,新功能、新应用在部署前需要经过镜像系统仿真环境的验证,系统仿真流程如图4所示。广东中调的镜像系统则由8台物理机组成,图5中物理机xen1虚拟出了多台应用服务器,分别用于不同的仿真场景。

图4 系统功能测试仿真流程Fig. 4 Flow chart of system function test simulation

图5 镜像系统单台物理机中的虚拟服务器Fig. 5 Virtual server diagram of mirroring system single physical machine

如表1所示,镜像系统与传统测试验证系统等相比,优点显著。

表1 镜像系统与传统测试仿真系统对比Tab. 1 Comparison of mirroring system and traditional test simulation system

4 结语

本文通过研究镜像系统需求、设计体系架构和研发关键技术,实现了培训系统和仿真系统的模板管理、快速部署、数据管理、人员培训、仿真测试,有效地提高了自动化人员运维水平,有力地保障了智能调度自动化系统的稳定运行。后续镜像系统还有待提升和完善。例如自动化培训案例需要扩充,培训评价功能也有待完善。镜像系统的应用价值还可以进一步挖掘,例如用于电网模型离线管理、备用调度自动化系统建设等,以充分利用现有资源,更好地为各专业提供服务。

参考文献:

[1] 辛耀中, 石俊杰, 周京阳, 等. 智能电网调度控制系统现状与技术展望[J]. 电力系统自动化, 2015, 39(1): 1-7.

XIN Yaozhong, SHI Junjie, ZHOU Jingyang, et al. Technology development trends of smart grid dispatching and control systems [J]. Automation of Electric Power Systems, 2015, 39(1): 1-7.

[2] 汪际峰. 一体化电网运行智能系统的概念及特征[J]. 电力系统自动化, 2011, 35(24): 1-6.

WANG Jifeng. Concept and features of integrated grid operation smart system[J]. Automation of Electric Power Systems, 2011, 35(24): 1-6.

[3] 杜 刚, 孟勇亮, 彭 晖, 等. 地区电网智能调度控制系统实践与展望[J]. 电力系统自动化, 2015, 39(1): 200-205.

DU Gang, MENG Yongliang, PENG Hui, et al. Practice andprospects of dispatching and control systems in regional power grid[J]. Automation of Electric Power Systems, 2015, 39(1): 200-205.

[4] 姚建国, 张慎明. 调度员培训仿真系统的功能要求和设计原则[J]. 电力系统自动化, 1999, 23(23): 15-19.

YAO Jianguo, ZHANG Shenming. Function specification and design principle for dispatcher training simulator [J]. Automation of Electric Power Systems, 1999, 23(23): 15-19.

[5] 吴文传, 孙宏斌, 张伯明, 等. 基于 IEC 61970标准的EMS/DTS一体化系统的设计与开发[J]. 电力系统自动化,2005,29(4):53-57.

WU Wenchuan, SUN Hongbin, ZHANG Boming, et al. Design of integrated EMS/DTS system based on IEC 61970 [J]. Automation of Electric Power Systems, 2005, 29(4): 53-57.

[6] 冯永青, 郑耀东, 和识之, 等. 南方电网调度员培训仿真系统关键技术研究与应用[J]. 南方电网技术, 2012,6(1):1-7.

FENG Yongqing, ZHENG Yaodong, HE Shizhi, et al. The development and application of key technologies of dispatcher training system in China Southern Power Grid[J]. Southern Power System Technology, 2012, 6(1) :1-7.

[7] 卢 强. 数字电力系统(DPS)[J]. 电力系统自动化, 2000,24(9): 1-4.

LU Qiang. Digital power systems[J]. Automation of Electric Power Systems, 2000,24(9): 1-4.

[8] 杨清波, 李立新, 李宇佳, 等. 智能电网调度控制系统试验验证技术[J]. 电力系统自动化, 2015, 39(1) :194-199.

YANG Qingbo, LI Lixin, LI Yujia, et al. Test and verification technology for smart grid dispatching and control systems [J]. Automation of Electric Power Systems,2015, 39(1) :194-199.

[9] 韩念杭, 王 苏, 张惠刚, 等. 面向维护人员的变电站自动化技术培训系统[J]. 电力系统自动化, 2007, 31(2) :88-90.

HAN Nianhang, WANG Su, ZHANG Huigang, et al. Maintainers oriented substation automation technique training system[J].Automation of Electric Power Systems, 2007, 31(2) :88-90.

[10] 张东英, 葛 亮, 杨以涵,等. 500 kV综合自动化变电站仿真培训系统的实现[J].电网技术, 2001, 25(6) : 64-66.

ZHANG Dongying, GE Liang, YANG Yihan, et al. Implementation of 500 kV automation substation’s simulation and training system[J]. Power System Technology, 2001, 25(6): 64-66.

[11] 高 明, 袁德君, 马 玲, 等. 云南电网EMS镜像系统的应用[J]. 云南电力技术, 2010, 38(5) : 186-189.

GAO Ming, YUAN Dejun, MA Ling, et al. Application of EMS mirroring system in Yunnan Power Grid[J]. Yunnan Electric Power, 2010, 38(5) :186-189.

[12] 温柏坚,俞 斌,白峪豪,等. 广东电网新一代调度自动化技术支持系统总体方案研究[J]. 南方电网技术, 2011,5(1):18-21.

WEN Baijian, YU Bin, BAI Yuhao, et al. Research of the overall solution of next generation dispatching automation support system for Guangdong Power Grid[J]. Southern Power System Technology, 2011, 5(1): 18-21.

[13] 温柏坚,苏 扬,胡剑锋,等. 核心业务一体化的电网智能调度支持平台架构设计[J]. 南方电网技术, 2016,10(6):15-19.

WEN Bojian, SU Yang, HU Jianfeng, et al. Architecture design of an intelligent dispatching supporting platform based on integration of core bussiness[J]. Southern Power System Technology, 2016, 10(6) : 15-19.

[14] 李立新, 谢巧云, 袁荣昌, 等. 电网调度云灾备系统优化分析与设计[J]. 电力系统自动化, 2012, 36(23) : 82-86.

LI Lixin, XIE Qiaoyun, YUAN Rongchang, et al. Optimization analysis and design of cloud disaster backup system for power dispatching[J]. Automation of Electric Power Systems, 2012, 36(23) :82-86.

[15] 王德文. 基于云计算的电力数据中心基础架构及其关键技术[J]. 电力系统自动化, 2012, 36(11): 67-71.

WANG Dewen. Basic framework and key technology for a new generation of data center in electric power corporation based on cloud computation[J]. Automation of Electric Power Systems,2012,36(11):67-71.

[16] 王庆林,闫广华,蔺帅帅,等. 基于云模型和联系数的重要电力用户供电风险研究[J]. 广东电力,2016,29(4):94-98,121.

WANG Qinglin, YAN Guanghua, LIN Shuaishuai,et al. Research on risks in power supply for important electricity customers based on cloud model and connection numbers[J]. Guangdong Electric Power,2016,29(4):94-98,121.

[17] 赵瑞锋, 苏 扬, 邓大为, 等. 基于Citrix的一体化电网运行智能系统Ⅲ区Web研究与应用[J]. 南方电网技术,2016,10(6):33-37.

ZHAO Ruifeng, SU Yang, DENG Dawei, et al. Research and application of Citrix based integrated operation smart system[J]. Southern Power System Technology,2016,10(6):33-37.

[18] 张 亮, 葛敏辉, 毕晓亮. 虚拟化与信息整合技术在电力调度中心的应用[J]. 电力系统自动化, 2008, 32(16):38-42.

ZHANG Liang, GE Minhui , BI Xiaoliang. Application of virtualization and information integration technology in a power dispatching center[J]. Automation of Electric Power Systems, 2012,36(11):67-71.

猜你喜欢

镜像虚拟化部署
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
镜像
部署
基于OpenStack虚拟化网络管理平台的设计与实现
镜像
对基于Docker的虚拟化技术的几点探讨
H3C CAS 云计算管理平台上虚拟化安全防护的实现
部署“萨德”意欲何为?
存储虚拟化还有优势吗?