一种云计算技术在配网监控系统持续集成方案中的运用

许昌许继软件技术有限公司的研究人员王少鹏、杨迎春、丁博、贾亚楠、梁鹏威,在2020年第9期《电气技术》杂志上撰文,阐述了一种云计算服务技术在电力监控系统持续集成方案中的应用。结合云计算技术的强大功能性及冗余容错能力,为配电网应用系统的不同规模交付场景提供更加高效、安全的开发及运维支撑。
目前配电网信息系统在技术组件以及技术实现框架方面已经日趋成熟。随着产品开发及实施任务量的增加和定制业务的需求增多,既有配电系统在每次工程应用前都需要经过一系列复杂的持续性交付过程,依赖密集且复杂的持续性编译、大量的系统测试、繁杂的部署任务,导致工程应用周期增长,测试任务量巨大,耗时耗材耗力。
随着企业业务容量的拓展,服务器数量急剧增加的压力,出现了现有的Jenkins(持续集成工具,基于Java语言开发)整合Ansible(自动化运维工具,基于Python语言开发)的方式进行系统的整体集成。但由于配网监控平台的不断发展,供应企业要同时面对多个不同规模的交付场景,Jenkins整合Ansible的方式由于硬件资源的固定限制,已经较难适应不同规模的交付业务。
基于OpenStack(云计算软件)的持续集成设计方式,在Jenkins整合Ansible提供集成服务的基础上,不但可以实现开发的可视化、智能化的全流程管控,而且可以依托于云平台的资源动态分配的特点,适应任何规模交付场景的一比一自动化测试交付任务,保障配电网监控平台安全有效的持续性交付。
1  理论基础研究
云平台技术常规应用有两个方向:①以数据存储为主要服务功能的存储型云平台;②以数据处理为主要服务的计算型平台。
本项目依赖于OpenStack的部分开源组件,提供了基于系统层面以及应用层面的资源智能化分配以及释放,相比于原有的固定硬件设备资源,完全能够适应各种不同大小规模的配网监控平台的持续化集成交付任务。同时结合使用OpenStack的分布式云存储(Swift)技术,保证测试流程的安全及稳定,增加容错能力,保证在某一硬件设备故障的情况下,仍能完成持续集成交付任务。
云平台技术的中间层、基础设施层提供了如下技术功能,可以任意分配及释放现有的硬件设备资源:
1)虚拟化(Nova)。有了虚拟化技术,可以在一个云平台集群中生成多个全面隔离的虚拟机资源或者服务资源,资源可以随时分配和释放。
2)分布式云存储技术(Swift)。能够解决集群中单个实体硬件节点故障影响整体服务的问题,保证部署、测试、交付动作连贯不受干扰。
3)负载均衡。能够更好地支配整体云平台的硬件资源(硬盘、内存、网络),实现有限资源的高度利用。
交互后台服务是整套方案的核心,采用通用的Restful基于超文本传送协议(hypertext transfer protocol, HTTP)的设计风格应用程序接口(appli- cation program interface, API),能够完成OpenStack和Ansible、Jenkins的整合,打通一个完整而又灵活的持续性交付系统,用来满足节点数从1到N的不同规模监控平台持续集成及交付工作。
自定义虚拟化资源管理核心接口如下:
interface boolean create_Os(
String targetMechine, String osName, String osConfig
);
interface boolean  drop_Os(
String targetMechine, String osName
);
interface boolean create_application(
String targetMechine, String appName
);
interface boolean drop_application(
String targetMechine, String appName
);
自定义持续交付job管理接口如下:
interface boolean executeJob(
String jobName
);
interface boolean createJob(
String jobName, String jobTemplateXml
);
interface boolean dropJob(
String jobName
);
使用回调函数接口的方式,交互后台服务监听Jenkins的版本变化信号,触发后续自动部署及测试工作:
interface void callback(){
return (jenkins svn state);
}
2  采用云计算技术的配网监控系统持续集成系统架构及模块
持续化集成原有的方案只需要使用Jenkins界面配置即可做到固定模式、固定数量节点的智能配网监控平台的持续化集成及测试工作。但整合OpenStack技术之后,不仅需要一个核心的后台服务系统,也要有一套能够灵活配置的交互界面。
采用云平台技术中的Nova组件作为配电网的运行载体、Swift组件保障整套集成测试环境的冗余容错能力,Jenkins及Ansible搭建的持续集成Server端控制集成方向及内容、SVN(subversion,开放源代码的版本控制系统)作为版本库,实现灵活的配网持续集成整体结构,如图1所示。
1)交付后台服务。交付后台服务是一整套持续集成交付体系,除了包含Ansible及Jenkins整合而成的持续交付服务之外,还包括为用户操作界面提供服务逻辑以及控制OpenStack云平台的Web后台服务,其中Ansible的剧本代码也是由SVN统一进行代码版本管理的,方便持续集成系统本身的不断更新迭代。
除OpenClient(本项目自主开发模块,作为客户端连接Jenkins与OpenStack)之外,其他所有的对外控制接口为SSH(Secure Shell,应用层基础安全协议)。交付后台内部,WebServer通过Restful API接口与Jenkins服务进行交互。
2)可视化客户端以及complineServer。一套固定的硬件设备主要用于人工交互配置服务和节点以及自动执行编译命令。可视化客户端由JQuery、easyUI等前端架构实现,通过HTTP协议与WebServer进行数据沟通。同时可视化客户端也会根据用户选择自动进行所选服务及所属节点的合理性分析。
图2所示为运维人员所配置的服务、所属节点清单以及行为合理性分析的展示界面。
3)监控平台最终交付环境。以SSH为对外接口,是主要的交付目标。
4)OpenStack云平台系统。主要提供虚拟化以及共享存储功能,为集成测试以及多变的测试环境提供灵活的环境。交互后台服务通过OpenStack提供的客户端进行虚拟机或者服务的创建与起停。
虚拟化技术提供虚拟的硬件资源,共享存储服务提供可靠的冗余容错机制,保证云平台集群某台实体硬件节点故障或宕机不会影响服务运行以及造成数据丢失。负载均衡机制提供一个硬件资源的合理分配,以高效率高硬件利用率完成持续集成交付工作。
图1  基于云平台的持续化集成架构
图2  服务节点配置清单及合理性分析运行界面
3  基于云计算技术的配网监控平台工作流程
前文已经实现了基于云计算技术的集成方案架构设计以及各模块之间结构的定义,下面描述N节点的配网监控平台持续集成环境的制定及集成流程。持续集成的核心控制服务:核心后台交互服务提供了一个严谨有序的交付流程体系,此套体系能够适应节点数从1~N的不同规模的监控平台集成任务。
图3所示为环境硬件结构示意图。持续集成环境完全依赖于云计算平台集群,包括测试虚拟机、编译虚拟机、集成控制虚拟机(主要是交付后台服务运行环境);数据库服务器以及监控平台服务端服务器集群主要为线上交付目标环境;代码版本管理器由于为核心机密,单独服务器部署。
图3  硬件架构示意图
图4所示为加入了云计算技术的持续集成流程。主要包括以下步骤:
  • 1)开发人员提交代码到SVN服务器,系统判定是否有要执行的交付目标配置,如果没有则通知测试人员使用图形化客户端按照交付目标构建配置。

  • 2)Jenkins定时检测到代码有更新,锁定更新代码工程(定时触发策略需要按照实际情况进行设定)。

  • 3)Jenkins进行自动化编译,并触发存储机制,存储最新的程序包并记录版本。

  • 4)Jenkins通过Ansible plugin通知Ansible执行测试剧本。

  • 5)持续集成后台服务通过回调函数监听到操作指令,调用接口在OpenStack自动开辟新的资源并创建新的虚拟机、虚拟服务(数据库等),执行分发、配置、启动等整套安装部署动作)。

  • 6)触发测试动作,进行自动化测试,记录测试报告并分发测试结果到通知邮箱。

  • 7)触发扫描程序对测试报告进行扫描,判定程序测试是否通过。

  • 8)如果测试扫描结果表示测试通过,则把测试版本作为正式版本发布到一套正式的环境中,另本次运行包以序号加时间为命名方式自动打包发送到SVN版本库统一保存,方便后续突发回滚操作使用。

  • 9)测试版本转换到正式环境后,突发情况发现最新的正式版本有重大bug未被检测到,需要紧急下线并回滚并从SVN调取本版本的上一历史版本进行版本恢复操作。

  • 10)销毁测试使用的OpenStack虚拟机,并释放资源。

把云平台技术与持续化集成技术整合成一套新的持续集成体系,能够满足当前复杂的监控平台应用系统的业务场景。根据持续化集成平台的设计经验以及新型配网主站的项目需求,需要在如下3个关键方面达到要求:
图4  持续集成流程
  • 1)B/S(browser/server,浏览器/服务器模式)架构非开源系统的持续化集成。

  • 2)C/S(client/server,客户机/服务器模式)架构的非开源系统的持续化集成。

  • 3)任意节点的分布式基础环境开源组件自动部署。

4  结论
随着配网监控平台的基础架构越来越复杂,部署节点数量及硬件架构越来越多样化,有一套能够适应各种规模监控平台的持续化集成系统至关重要,固定目标规模的持续化集成系统已经不能满足要求。
本设计在许继集团已经单独立项并在许继集团新型配网主站项目试点开发及应用。其中,自动化部署、自动化测试、持续性编译等关键模块正在进行基本的功能验证和评估,能够满足持续化集成的需求。
本文针对许继集团新一代监控平台开发了一套持续集成交付方案服务,目前持续编译及自动部署已经完成内部测试,业务开发人员及运行维护人员已经做了初步的测试使用,效果良好。
(0)

相关推荐

  • Jenkins持续集成

    时间 主题 8.13(周二)14:00 WebDriver鼠标键盘操作 8.14(周三)20:00 Jenkins持续集成 在传统的瀑布开发模型中,是所有人写好代码之后提交版本管理工具,然后统一进行合 ...

  • 基于SpringCloud+Kubernetes ,微服务的容器化持续交付实战

    基于SpringCloud+Kubernetes ,微服务的容器化持续交付实战(完结)┃  ┃  ┃  ┣━第9章 深入理解Docker 原理,实战容器化发布Notebook应用- G) B2 P2 ...

  • 几个国外低代码开发平台及其案例

    一部分开发工作人员不愿意使用低代码平台,感觉这会使工作工作能力不能获得提升.文中详解海外七个低代码平台可以用复杂应用开发的案例,也许能变更您的掌握. 一些开发工作人员不肯使用低代码平台,因为这类平台会 ...

  • 基于QtWebEngine和Web技术的监控系统报表组件开发方案

    为满足换流站监控系统安防要求,许继电气股份有限公司的研究人员张浩然.赵冠华.申艳红.靳玮玮.张睿,在2020年第9期<电气技术>杂志上撰文,提出了基于Qt框架中的QtWebEngine模块 ...

  • 一份完整的安防监控系统维保方案及表格

    目  录一.系统概况.1.系统组成.2.系统拓扑图..二.维保服务内容三.维保服务方式.1.系统全面排查2.定期上门巡检服务2.电话支持服务.3.现场技术服务.4.维护具体工作内容.四.响应时间及承诺 ...

  • 基于数据挖掘技术探讨陈可冀《清宫配方集成》中治疗骨关节炎组方的用药规律

    目的:探讨陈可冀<清宫配方集成>中治疗骨关节炎组方的用药规律.方法:从<清宫配方集成>中筛选出124首治疗骨关节炎的方剂,利用Access软件建立数据库,分析每味药物的出现频次 ...

  • 海康监控系统常见问题与方案

    一.海康设备的POE供电电压是多少? POE,802.3af供电协议 供电电压:44-57V 供电电流:10-350mA POE,802.3at供电协议 供电电压:50-57V 供电电流:10-600 ...

  • 【原创】云计算中的三种存储技术

    本文适合云计算入门和深入学习云计算的伙伴,讲解了集中式存储.分布式存储.虚拟化存储三种存储技术. 概述:在云计算的领域离不开存储,那么云计算使用的存储包括三种类型:虚拟化的存储(虚拟化存储.非虚拟化存 ...

  • 10kV配网自适应综合型馈线自动化技术测试问题及解决措施

    点击下面标题,了解通知详情 2020第九届电工技术前沿问题学术论坛暨第十三届中国电工装备创新与发展论坛 馈线自动化技术作为10kV配网线路中最重要的技术之一,它有效提高配电网的供电质量,保证供电的可靠 ...

  • 一种三维可视化技术在电力监控系统中的运用

    点击下面标题,了解通知详情 第九届电工技术前沿问题学术论坛征文通知 许昌许继软件技术有限公司的研究人员贾亚楠.张延辉.霍智超.王少鹏.贺博,在2020年第4期<电气技术>杂志上撰文,阐述了 ...

  • 基于协调控制 SVG的低压配网三相负荷不平衡治理技术

    2017第四届轨道交通供电系统技术大会 会议由中国电工技术学会主办,将于2017年11月28日在北京铁道大厦召开,研讨电工科技最新研究成果对轨道交通供电领域所带来的革新影响和应用前景,推进协同创新.浏 ...

  • 技术︱配网小电阻接地改造二次常见问题分析

    中国电工技术学会将于2016年12月23日(周五)在北京铁道大厦举办"2016第三届轨道交通供电系统技术大会". 请感兴趣的读者扫描下方的二维码,或关注微信公众号"电气技 ...