CN110333895B - 一种面向电力调控云的自动化运维平台 - Google Patents

一种面向电力调控云的自动化运维平台 Download PDF

Info

Publication number
CN110333895B
CN110333895B CN201910459720.7A CN201910459720A CN110333895B CN 110333895 B CN110333895 B CN 110333895B CN 201910459720 A CN201910459720 A CN 201910459720A CN 110333895 B CN110333895 B CN 110333895B
Authority
CN
China
Prior art keywords
time
unit
environment
test
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910459720.7A
Other languages
English (en)
Other versions
CN110333895A (zh
Inventor
刘�东
陈振宇
李大鹏
黄运豪
郭凌旭
张�杰
狄方春
夏文岳
李立新
王梓
张志君
康宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Tianjin Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Tianjin Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI, State Grid Tianjin Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201910459720.7A priority Critical patent/CN110333895B/zh
Publication of CN110333895A publication Critical patent/CN110333895A/zh
Application granted granted Critical
Publication of CN110333895B publication Critical patent/CN110333895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种面向电力调控云的自动化运维平台,包括开发环境、测试环境、运维环境、镜像仓库;开发环境具体包括持续构建单元;运维环境具体包括版本控制单元、版本发布管理单元、项目管理单元、代码质量管理单元、配置单元以及版本发布单元。本发明将持续集成、持续部署工具与Docker技术友好的进行结合,通过设计不同的Docker镜像,实现持续集成的公共环节都在容器中进行,使用Docker容器技术高效率的完成项目编译、部署及测试任务。

Description

一种面向电力调控云的自动化运维平台
技术领域
本发明属于电力调控云领域,具体涉及一种面向电力调控云的自动化运维平台。
背景技术
在电力系统管理中,随着互联网新技术(云计算、大数据、人工智能等)不断发展于成熟,依托其构建的电力调控云应用规模不断扩大,相应的电力调控云应用服务数量也随之成倍增加。而目前调控云基于人工的运维模式效率低下、出错率较高,很难保障电网安全优质运行和调度管理精益高效运转。持续集成、持续部署(CI/CD)平台可对调控云进行高效、精准的自动化维护。
因此,急需利用Docker容器技术通过的CI/CD平台完成电力调控云应用服务的自动化构建、版本控制、批量部署等运维任务,来减轻运维任务量,提升工作效率。
发明内容
为了提高智能电网的管理和使用水平,本发明提供了一种面向电力调控云的自动化运维平台,包括:
开发环境:用于调控云产品的代码的开发、复查、集成、编译和版本控制,编译完成的代码自动存入所述镜像仓库中;
测试环境:用于从所述镜像仓库拉取需要测试的Docker镜像,并启动为Docker容器,代码测试通过后打上Tag标注并自动存入镜像仓库;
运维环境:用于从所述镜像仓库拉取已打上Tag标注的Docker镜像,并运行为容器应用;
镜像仓库:用于以Docker镜像的形式存储调控云产品的计算机代码;
所述开发环境具体包括:持续构建单元,所述持续构建单元基于Jenkins平台实现,用于自动拉取代码仓库中的代码,自动编译后存储至镜像仓库,在代码测试失败的情况下通过回滚机制回滚到失败前的状态;
所述运维环境具体包括,版本控制单元、版本发布管理单元、项目管理单元、代码质量管理单元、配置单元以及版本发布单元;
其中,所述版本控制单元,用于采用控制发布的应用版本;
所述版本发布管理单元,用于监控持续进行的应用版本发布工作;
所述项目管理单元,用于控制和管理应用版本的发布过程;
所述代码质量管理单元,用于全面管理调控云产品的代码质量;
所述配置单元,用于在调控云产品新版本开发测试完成后,对环境的自动配置和控制以及进行调控云产品的预部署;
版本发布单元,用于在电力调控云产品通过测试及预部署的情况下进行生产环境发布。
本发明的有益效果包括:首先,本发明将持续集成、持续部署工具与Docker技术友好的进行结合,通过设计不同的Docker镜像,实现持续集成的公共环节都在容器中进行,使用Docker容器技术高效率的完成项目编译、部署及测试任务。其次,本发明设计了一种一体化的持续集成、持续部署平台,可以实现自动化构建、批量部署、版本控制等功能,极大的提高了调控云的维护效率和运维质量,同时也减轻了运维工作人员的工作压力,降低人工干预的失误率,提高工作效率,节省了大量的运维工作时间。再次,本发明实现了开发、测试和运维环境的统一化和标准化,利用Docker镜像实现存储和备份功能,确保电力调控云产品从开发环境和生产环境的一致性,解决版本兼容问题,从而为软件的部署提供了极大的便利条件。最后,在通常情况下,在为调控云软件产品编写代码之后,软件工程师必须构建合适的测试环境以测试代码,并为构建测试环境提供适合的资源,由于环境的复杂性,构建可能需要几个小时才能完成,软件测试环境构建之后才能开始测试。而本发明可以及时识别用户的编码任务的开始执行,及时计算测试环境构建的构建时间,并基于该时间进行测试环境的构建,及时完成环境构建,为软件工程师节约宝贵时间。
附图说明
图1本发明的平台框架图
具体实施方式
为了更好地理解本发明,下面结合附图参考实施例的描述,对本发明的系统进行进一步的说明。
为了全面理解本发明,在以下详细描述中提到了众多具体细节。但是本领域技术人员应该理解,本发明可以无需这些具体细节而实现。在实施例中,不详细描述公知的方法、过程、组件,以免不必要地使实施例繁琐。
参见图1所示,本发明提供了一种面向电力调控云的自动化运维平台,包括:
开发环境:用于调控云产品的代码的开发、复查、集成、编译和版本控制,编译完成的代码自动存入所述镜像仓库中;
测试环境:用于从所述镜像仓库拉取需要测试的Docker镜像,并启动为Docker容器,代码测试通过后打上Tag标注并自动存入镜像仓库;
运维环境:用于从所述镜像仓库拉取已打上Tag标注的Docker镜像,并运行为容器应用;
镜像仓库:用于以Docker镜像的形式存储调控云产品的计算机代码;
所述开发环境具体包括:持续构建单元,所述持续构建单元基于Jenkins平台实现,用于自动拉取代码仓库中的代码,自动编译后存储至镜像仓库,在代码测试失败的情况下通过回滚机制回滚到失败前的状态;
所述运维环境具体包括,版本控制单元、版本发布管理单元、项目管理单元、代码质量管理单元、配置单元以及版本发布单元;
其中,所述版本控制单元,用于采用控制发布的应用版本;
所述版本发布管理单元,用于监控持续进行的应用版本发布工作;
所述项目管理单元,用于控制和管理应用版本的发布过程;
所述代码质量管理单元,用于全面管理调控云产品的代码质量;
所述配置单元,用于在调控云产品新版本开发测试完成后,对环境的自动配置和控制以及进行调控云产品的预部署;
版本发布单元,用于在电力调控云产品通过测试及预部署的情况下进行生产环境发布。
优选地,其中,所述镜像仓库中的Docker镜像包括数据库镜像、应用系统镜像、定时任务系统镜像、分布式管理镜像和其他镜像。
优选地,其中,所述测试环境中的Docker容器包括数据库测试容器、应用系统测试容器和定时任务系统测试容器。
优选地,其中,所述开发环境中还包括代码质量分析单元,所述持续构建平台自动编译代码后,调用代码质量分析单元,生成代码质量分析报告。
优选地,其中,所述测试环境的构建通过测试环境建立单元来实现,所述测试环境建立单元用于确定第一时间,所述第一时间为开始构建测试环境的时间点,并从所述第一时间开始构建测试环境,使得用户在需要进行代码测试时测试环境已构建完成;
所述测试环境建立单元具体包括:第一时间计算单元和构建单元;
所述第一时间计算单元,用于确定开始构建所述测试环境的第一时间,
确定所述第一时间包括:计算实施代码构建所需的第一时间长度、计算用户完成编码任务所需的第二时间长度、计算用户开始编码任务的第二时间、以及计算第三时间长度;
其中,所述第三时间长度包括从资源池确定分配的资源并将这些资源配置到编码任务环境中所需的总时间长度;
构建单元,用于从所述确定的第一时间开始构建测试环境;
其中,第一时间计算单元具体包括:
第三时间计算单元,用于计算第三时间,所述第三时间为初步确定的开始构建测试环境的时间点;所述计算第三时间具体包括:在用户开始编码任务的所述第二时间基础之上,加上实施代码构建所需的所述第一时间长度以及为用户完成编码任务所需的所述第二时间长度,并减去所述第三时间长度;
需求判断单元,用于确定第四时间是否符合用户需求,所述第四时间为所述第三时间加上建构测试环境所需的时间,所述用户需求为用户需要使用测试环境来测试代码的时间;
调整单元,用于当所述第四时间不符合所述用户需求时,将当前第三时间调整为下一个可用时间,所述下一个可用时间为在所述第三时间之后可供用户在测试环境中测试代码的时间,并使用调整后的所述下一个可用时间作为开始构建所述测试环境的第一时间;
符合单元,用于当所述第四时间符合所述用户需求时,使用所述第三时间作为开始构建所述测试环境的第一时间。
优选地,其中,测试环境建立单元还包括:
预留单元,用于当用户准备测试代码时,确定当前测试环境是否可用于当前编码任务的代码测试,当所述当前测试环境可用时,为当前编码任务预留当前测试环境。
优选地,其中,测试环境建立单元还包括:
识别单元,用于访问存储有与编码任务相关联的任务信息的任务储存库;识别并确定用户已经开始执行编码任务。
本发明与现有技术相比,其显著优点为:首先,本发明将持续集成、持续部署工具与Docker技术友好的进行结合,通过设计不同的Docker镜像,实现持续集成的公共环节都在容器中进行,使用Docker容器技术高效率的完成项目编译、部署及测试任务。其次,本发明设计了一种一体化的持续集成、持续部署平台,可以实现自动化构建、批量部署、版本控制等功能,极大的提高了调控云的维护效率和运维质量,同时也减轻了运维工作人员的工作压力,降低人工干预的失误率,提高工作效率,节省了大量的运维工作时间。再次,本发明实现了开发、测试和运维环境的统一化和标准化,利用Docker镜像实现存储和备份功能,确保电力调控云产品从开发环境和生产环境的一致性,解决版本兼容问题,从而为软件的部署提供了极大的便利条件。最后,在通常情况下,在为调控云软件产品编写代码之后,软件工程师必须构建合适的测试环境以测试代码,并为构建测试环境提供适合的资源,由于环境的复杂性,构建可能需要几个小时才能完成,软件测试环境构建之后才能开始测试。而本发明可以及时识别用户的编码任务的开始执行,及时计算测试环境构建的构建时间,并基于该时间进行测试环境的构建,及时完成环境构建,为软件工程师节约宝贵时间。
这里只说明了本发明的优选实施例,但其意并非限制本发明的范围、适用性和配置。相反,对实施例的详细说明可使本领域技术人员得以实施。应能理解,在不偏离所附权利要求书确定的本发明精神和范围情况下,可对一些细节做适当变更和修改。

Claims (6)

1.一种面向电力调控云的自动化运维平台,其特征在于,包括:
开发环境:用于调控云产品的代码的开发、复查、集成、编译和版本控制,编译完成的代码自动存入镜像仓库中;
测试环境:用于从所述镜像仓库拉取需要测试的Docker镜像,并启动为Docker容器,代码测试通过后打上Tag标注并自动存入镜像仓库;
运维环境:用于从所述镜像仓库拉取已打上Tag标注的Docker镜像,并运行为容器应用;
镜像仓库:用于以Docker镜像的形式存储调控云产品的计算机代码;
所述开发环境具体包括:持续构建单元,所述持续构建单元基于Jenkins平台实现,用于自动拉取代码仓库中的代码,自动编译后存储至镜像仓库,在代码测试失败的情况下通过回滚机制回滚到失败前的状态;
所述运维环境具体包括,版本控制单元、版本发布管理单元、项目管理单元、代码质量管理单元、配置单元以及版本发布单元;
其中,所述版本控制单元,用于采用控制发布的应用版本;
所述版本发布管理单元,用于监控持续进行的应用版本发布工作;
所述项目管理单元,用于控制和管理应用版本的发布过程;
所述代码质量管理单元,用于全面管理调控云产品的代码质量;
所述配置单元,用于在调控云产品新版本开发测试完成后,对环境的自动配置和控制以及进行调控云产品的预部署;
版本发布单元,用于在电力调控云产品通过测试及预部署的情况下进行生产环境发布;
所述测试环境的构建通过测试环境建立单元来实现,所述测试环境建立单元用于确定第一时间,所述第一时间为开始构建测试环境的时间点,并从所述第一时间开始构建测试环境,使得用户在需要进行代码测试时测试环境已构建完成;
所述测试环境建立单元具体包括:第一时间计算单元和构建单元;
所述第一时间计算单元,用于确定开始构建所述测试环境的第一时间,
确定所述第一时间包括:计算实施代码构建所需的第一时间长度、计算用户完成编码任务所需的第二时间长度、计算用户开始编码任务的第二时间、以及计算第三时间长度;
其中,所述第三时间长度包括从资源池确定分配的资源并将这些资源配置到编码任务环境中所需的总时间长度;
构建单元,用于从所述确定的第一时间开始构建测试环境;
其中,第一时间计算单元具体包括:
第三时间计算单元,用于计算第三时间,所述第三时间为初步确定的开始构建测试环境的时间点;所述计算第三时间具体包括:在用户开始编码任务的所述第二时间基础之上,加上实施代码构建所需的所述第一时间长度以及为用户完成编码任务所需的所述第二时间长度,并减去所述第三时间长度;
需求判断单元,用于确定第四时间是否符合用户需求,所述第四时间为所述第三时间加上建构测试环境所需的时间,所述用户需求为用户需要使用测试环境来测试代码的时间;
调整单元,用于当所述第四时间不符合所述用户需求时,将当前第三时间调整为下一个可用时间,所述下一个可用时间为在所述第三时间之后可供用户在测试环境中测试代码的时间,并使用调整后的所述下一个可用时间作为开始构建所述测试环境的第一时间;
符合单元,用于当所述第四时间符合所述用户需求时,使用所述第三时间作为开始构建所述测试环境的第一时间。
2.根据权利要求1所述的平台,其中,所述镜像仓库中的Docker镜像包括数据库镜像、应用系统镜像、定时任务系统镜像和分布式管理镜像。
3.根据权利要求1所述的平台,其中,所述测试环境中的Docker容器包括数据库测试容器、应用系统测试容器和定时任务系统测试容器。
4.根据权利要求1所述的平台,其中,所述开发环境中还包括代码质量分析单元,所述持续构建单元自动编译代码后,调用代码质量分析单元,生成代码质量分析报告。
5.根据权利要求1所述的平台,其中,测试环境建立单元还包括:
预留单元,用于当用户准备测试代码时,确定当前测试环境是否可用于当前编码任务的代码测试,当所述当前测试环境可用时,为当前编码任务预留当前测试环境。
6.根据权利要求1所述的平台,其中,测试环境建立单元还包括:
识别单元,用于访问存储有与编码任务相关联的任务信息的任务储存库;识别并确定用户已经开始执行编码任务。
CN201910459720.7A 2019-05-30 2019-05-30 一种面向电力调控云的自动化运维平台 Active CN110333895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910459720.7A CN110333895B (zh) 2019-05-30 2019-05-30 一种面向电力调控云的自动化运维平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910459720.7A CN110333895B (zh) 2019-05-30 2019-05-30 一种面向电力调控云的自动化运维平台

Publications (2)

Publication Number Publication Date
CN110333895A CN110333895A (zh) 2019-10-15
CN110333895B true CN110333895B (zh) 2021-09-03

Family

ID=68140482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910459720.7A Active CN110333895B (zh) 2019-05-30 2019-05-30 一种面向电力调控云的自动化运维平台

Country Status (1)

Country Link
CN (1) CN110333895B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064633B (zh) * 2019-11-28 2021-09-24 国网甘肃省电力公司电力科学研究院 一种云边协同电力信息通信设备自动化测试资源分配方法
CN111694553B (zh) * 2020-06-11 2023-07-07 广州力挚网络科技有限公司 一种代码处理系统及方法
CN112162761A (zh) * 2020-10-14 2021-01-01 广州欢网科技有限责任公司 自动化部署项目至公有云容器化平台的方法、系统及设备
CN113778486B (zh) * 2021-09-09 2024-06-07 上海浦东发展银行股份有限公司 一种代码流水线的容器化处理方法、装置、介质及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092749A (zh) * 2011-11-08 2013-05-08 苏州中茵泰格科技有限公司 测试环境部署的方法及系统
CN106649085A (zh) * 2016-09-23 2017-05-10 郑州云海信息技术有限公司 一种基于云计算的软件测试系统
CN106873975A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 基于Docker的devops持续交付与自动化系统及方法
CN107621944A (zh) * 2017-09-22 2018-01-23 天翼电子商务有限公司 基于自动化运维的持续集成流水线系统及其方法
CN107797912A (zh) * 2016-09-05 2018-03-13 百度在线网络技术(北京)有限公司 应用测试方法和装置
CN108763072A (zh) * 2018-05-18 2018-11-06 郑州云海信息技术有限公司 一种高效的自动化测试环境搭建方法
US10289539B1 (en) * 2013-09-18 2019-05-14 Amazon Technologies, Inc. Performance testing in a software deployment pipeline

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044531A1 (en) * 2003-06-09 2005-02-24 Erc-Ip, Llc Methods and systems for deploying computer source code

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092749A (zh) * 2011-11-08 2013-05-08 苏州中茵泰格科技有限公司 测试环境部署的方法及系统
US10289539B1 (en) * 2013-09-18 2019-05-14 Amazon Technologies, Inc. Performance testing in a software deployment pipeline
CN107797912A (zh) * 2016-09-05 2018-03-13 百度在线网络技术(北京)有限公司 应用测试方法和装置
CN106649085A (zh) * 2016-09-23 2017-05-10 郑州云海信息技术有限公司 一种基于云计算的软件测试系统
CN106873975A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 基于Docker的devops持续交付与自动化系统及方法
CN107621944A (zh) * 2017-09-22 2018-01-23 天翼电子商务有限公司 基于自动化运维的持续集成流水线系统及其方法
CN108763072A (zh) * 2018-05-18 2018-11-06 郑州云海信息技术有限公司 一种高效的自动化测试环境搭建方法

Also Published As

Publication number Publication date
CN110333895A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110333895B (zh) 一种面向电力调控云的自动化运维平台
Heindl et al. A case study on value-based requirements tracing
Bellomo et al. Toward agile architecture: Insights from 15 years of ATAM data
US20210294307A1 (en) Assisted engineering design and development management system
US8694487B2 (en) Project management system
CN112101803A (zh) 业务流程监控方法、装置、系统、设备和介质
CN113741958A (zh) 一种基于云原生的软件开发交付方法及系统
CN113778486A (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN114911492A (zh) 推理服务部署方法、装置、设备以及存储介质
US20120203587A1 (en) Integrated engineering and workflow system for engineering and executing workflows of mechatronic objects
Sellami et al. Towards an Assessment Tool for Controlling Functional Changes in Scrum Process.
CN113535560B (zh) 测试执行方法、装置、存储介质和计算设备
CN115674198A (zh) 一种对机器人进行部署的方法、装置、设备及存储介质
CN113112181A (zh) 一种项目管理方法及相关装置
KR100976420B1 (ko) 형상관리 시스템 및 방법
CN114723080A (zh) 一种设备检修管理方法、系统、装置及存储介质
Parkhomenko Complex requirements analysis for the high-level design of Embedded Systems
Bellomo et al. Insights from 15 Years of ATAM Data: Towards Agile Architecture
Guan et al. Estimation of reliability and cost relationship for architecture-based software
Bicevskis et al. A Practitioners Approach to Achieve Autonomic Computing Goals
CN116225441B (zh) 一种在线编码系统的代码托管方法及系统
CN116452069B (zh) 产品质量跟踪方法、装置及电子设备
KR102251743B1 (ko) 정보 제공 장치의 보수 관리 방법 및 시스템
CN112559157B (zh) 基于Kubernetes的轨道交通软件应用调度方法
Adedjouma et al. Process model tailoring and assessment for automotive certification objectives

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant