APP下载

新一代调度控制系统迭代开发管理研究与应用

2023-10-03南瑞集团国网电力科学研究院有限公司江苏南京市210013杨丹琳

石河子科技 2023年5期
关键词:源码配置管理主干

(南瑞集团(国网电力科学研究院)有限公司,江苏南京市,210013) 刘 杰 杨丹琳 丁 捷

随着中国经济的快速发展,电网规模不断扩大,电网调度日趋复杂,能源转型的不断深入,电力系统进入新时代,特高压交直流混联电网规模快速扩大,高渗透率新能源快速发展,分布式电源、储能等新型负荷比例快速上升,正在形成智能互动、安全可控、灵活柔性、广泛互联的新一代电力系统,对调控技术支撑能力提出了新的要求。目前,调控基础条件不断夯实,ICT技术日新月异,大规模仿真计算取得突破,研发新系统条件已经成熟。

为适应新一代电力系统发展和安全稳定优质运行的需要,显著提升对大电网一体化控制、清洁能源全网统一消纳、源网荷协同互动和市场化运作的支撑能力,国家电网公司提出研发新一代调度控制系统(以下简称“新一代系统”),体系架构如图1所示。

图1 系统体系架构

新一代系统应用先进成熟技术,采用“物理分布、逻辑统一”的全新架构,基于统一的支撑平台,由部署于调度端的监控系统和部署于云端的模型数据中心及分析决策中心等部分组成,其目标是实现“全业务信息感知、全系统协同控制、全过程在线决策、全时空优化平衡、全方位负荷调度”的愿景,全面支撑新一代电力系统运行[1-2]。

为了满足迭代开发管理改进的需求,加强开发过程中对代码的管理和控制,文中设计了一种适用于新一代系统迭代开发的多分支配置管理技术,它首先实现了快速迭代开发阶段代码版本可追溯,其次保证了各模块并行开发时互不干扰,再者通过严格的模块权限管理,提高了代码安全性,最后通过持续集成平台部署了每日构建,实现每周基本功能集成测试和每周新代码发布,为新一代系统软件的质量保障提供更好的支撑。

1 配置管理

1.1 配置管理概述

在Wayne Baich 的(SCM Coordination for Team Productivity)一文中,对软件配置管理(简称SCM)进行了定义:“协调软件开发使得混乱减到最小的技术叫做软件配置管理,它是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效率。”它贯穿整个软件生命周期并应用于整个软件工程过程。是软件工程中用来管理软件开发的规范,也是CMM(软件能力成熟度)二级中的关键过程域[3]。SCM 是软件质量改进的核心环节,它贯穿于整个软件生命周期,为软件改进提供了一套解决办法与活动原则。Anne Mette Jonassen Hass 的(Configuration Management Principles and Practice)对软件配置管理的理解是“对系统生命周期内所选定的中间工作产品、产品组件以及产品的唯一标识、受控存储、变更控制和状态报告。”文中体现SCM不仅加强了软件质量和可靠性,而且为软件提供有效的开发和维护方案,以便高效地识别和控制文档、代码、接口和数据库等软件元素。SCM可以有效地控制复杂的软件版本,提供并行开发方案,规范软件测试和消缺流程,完善保密且安全的备份方案,实现项目管理和软件产品信息规范化等重要功能[4-5]。

1.2 多分支配置管理技术

软件分支是软件版本控制、软件构建管理和版本发布管理的重要组成部分,是支持软件并行开发的常用机制。运用分支使得并行开发新的系统、同步更改多个并行版本的错误、同时集成和发布多个版本成为可能。如Clearcase、Git 等版本管理工具都支持分支。自动化更新和测试是通过在持续集成工具Jenkins 上配置脚本命令,持续构建包括:源码版本自动更新、自动编译与运行、测试结果自动分析等任务,实现编译测试的自动化[6]。

多分支配置管理技术就是基于新一代系统的开发现状,制定适用于多个模块并行开发,但相互之间互不干扰的分支策略,结合严格的配置管理规定、持续集成技术,以实现改进新一代开发模式,提高开发效率和软件代码质量的目的。

2 多分支配置管理实践

2.1 多分支配置管理部署

对平台各模块单独创建分支进行管理,每个分支对应单独的测试环境,测试环境互不干扰。各模块功能通过自测后,统一并入主干分支进行阶段集成测试,待主干分支的阶段集成测试完毕后,将公共部分由主干分支同步给各分支,以便各模块进行下一阶段的开发和自测试。在此策略管理下,各模块开发、测试相对独立,且互不干扰,大大减少了开发阶段因各模块开发进度不一致导致频繁地递归测试,无法将已稳定的功能固定下来,而导致增加返工的概率和人力的浪费。

2.2 多分支源码自动更新和编译

为了使各功能模块互不干扰,需对各模块功能分配独立的测试机,为保证测试机源码实时更新和自动编译,配置源码版本库自动更新功能和自动编译脚本执行。在Jenkins 上构建源码代码版本库管理任务,实时监测版本变化功能,一旦发现版本变化,便触发版本管理工具更新源码,并记录下版本变化情况。

2.3 多分支源码合并过程

考虑到各分支开发进度和测试进度不一致,对分支源码的合并制定了要求。首先,各分支已完成开发的代码,需进行自测;在约定集成测试之前,统一合并主干,合并主干的过程由各组组长完成,以保证合并的准确性;待各分支代码合并完成后,在Jenkins构建主干源码代码版本库管理任务,监控集成测试整体编译和增量代码变化,记录下版本变化情况,以便代码追踪和回滚,直至整体编译通过。待功能全部测试完成后,代码由主干合并回各分支。

3 结语

作为研发团队,学会运用多分支管理策略对软件版本进行管理,不仅可以规范开发过程,而且可以有效地提高开发效率。另外,多分支管理结合持续集成平台,从源码版本库自动更新、自动编译及运行,逐步完善、提高,最终实现整体的自动化。多分支管理策略在新一代调控系统平台的应用,实际解决了多模块代码并行开发效率的问题,能够更有效地从整体上管理和提高产品的质量,为新一代调控系统平台的研发提供了有益的参考。

猜你喜欢

源码配置管理主干
基于网页源码结构理解的自适应爬虫代码生成方法
基于图神经网络的软件源码漏洞检测方法
汽车委托外加工零件自动化配置管理
抓主干,简化简单句
企业如何保护源码
左主干闭塞的心电图表现
基于数据结构教辅系统的实验课程改革
整合内容 构建高效课堂——开展非线性主干循环活动型单元教学模式
全国主干公路网交通安全监控信息共享平台构建研究
建设CMDB任重道远