CN116010241A - 一种可扩展的DevOps持续交付系统及其方法 - Google Patents
一种可扩展的DevOps持续交付系统及其方法 Download PDFInfo
- Publication number
- CN116010241A CN116010241A CN202211461471.3A CN202211461471A CN116010241A CN 116010241 A CN116010241 A CN 116010241A CN 202211461471 A CN202211461471 A CN 202211461471A CN 116010241 A CN116010241 A CN 116010241A
- Authority
- CN
- China
- Prior art keywords
- delivery
- devops
- fault
- generating
- test data
- 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.)
- Granted
Links
- 238000012384 transportation and delivery Methods 0.000 title claims abstract description 272
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 170
- 238000012544 monitoring process Methods 0.000 claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000010801 machine learning Methods 0.000 claims abstract description 27
- 230000002159 abnormal effect Effects 0.000 claims abstract description 19
- 238000007726 management method Methods 0.000 claims abstract description 9
- 238000004519 manufacturing process Methods 0.000 claims abstract description 9
- 230000002459 sustained effect Effects 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims description 56
- 230000005856 abnormality Effects 0.000 claims description 26
- 238000011161 development Methods 0.000 claims description 24
- 230000018109 developmental process Effects 0.000 claims description 24
- 238000002372 labelling Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 10
- 238000002716 delivery method Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000002085 persistent effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种可扩展的DevOps持续交付系统及其方法,其系统包括:交付测试模块,用于基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;备案生成模块,用于基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;监控管理模块,用于利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;备案包调用模块,用于根据交付异常信息调用备案包替换故障代码包。本发明通过实施监控持续交付流水线的交付过程,采取利用备用代码包替换故障代码包的方法,扩展交付流水线的功能,及时解决交付流水线故障,可保证持续交付的质量。
Description
技术领域
本发明涉及数字化业务技术领域,尤其涉及一种可扩展的DevOps持续交付系统及其方法。
背景技术
DevOps即透过自动化“软件交付”和“构建变更”的流程,来使得构建、测试、发布软件能够更加快捷、频繁和可靠;持续交付可以让软件交付变得更快更频繁,即随时都可以发布,它的目标是让软件的构建、测试与发布变得更快、更频繁。
软件交付的过程本身,意味着线上变更,变更就意味着有风险。交付最大的挑战是上线过程中遇到失败,失败的话肯定会引发线上故障;要确保效率,就只能交付得更快,但交付更快的前提是确保质量;当前在持续交付过程中不可避免会遇到交付过程中出现线上故障的情况,还存在对线上故障预案不充分、处理不及时、解决没有效果的问题。
因此,有必要提供一种可扩展的DevOps持续交付系统及其方法。
发明内容
本发明提供了一种可扩展的DevOps持续交付系统及其方法,通过实施监控持续交付流水线的交付过程,采取利用备用代码包替换故障代码包的方法,扩展交付流水线的功能,及时解决交付流水线故障,可保证持续交付的质量。
本发明提供了一种可扩展的DevOps持续交付系统,包括:
交付测试模块,用于基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
备案生成模块,用于基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
监控管理模块,用于利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
备案包调用模块,用于根据交付异常信息调用备案包替换故障代码包。
进一步地,交付测试模块包括测试数据获取单元和测试数据筛选单元;
测试数据获取单元,用于基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
测试数据筛选单元,用于将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
进一步地,备案生成模块包括测试数据特征获取单元、故障预测单元和备案包生成单元;
测试数据特征获取单元,用于从测试数据中提取特征并进行标注,生成标注特征数据集;
故障预测单元,用于基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
备案包生成单元,用于根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包。
进一步地,监控管理模块,用于基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种。
进一步地,备案包调用模块包括模板生成单元、调用匹配关系库构建单元和模板调用单元;
模板生成单元,用于基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
调用匹配关系库构建单元,用于根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
模板调用单元,用于根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
本发明提供一种可扩展的DevOps持续交付方法,包括:
S1:基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
S2:基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
S3:利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
S4:根据交付异常信息调用备案包替换故障代码包。
进一步地,S1包括:
S101:基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
S102:将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
进一步地,S2包括:
S201:从测试数据中提取特征并进行标注,生成标注特征数据集;
S202:基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
S203:根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包;
S3包括:基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种;
S4包括:
S401:基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
S402:根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
S403:根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
进一步地,S403还包括对替换后的可替换模板进行衔接检测,具体步骤为:
S4031:将交付流水线切换到解析状态;解析状态用于按照预设的周期对交付流水线进行中断操作,并读取开发代码;
S4032:获取与故障代码包前后相邻的第一开发代码组;
S4033:利用预设的开发工具将可替换模板中的代码与第一开发代码组衔接,并按照预设的检测指标检测衔接后的代码执行结果;若代码执行结果符合检测要求,则生成检测通过指令;若不符合检测要求,则生成检测待查指令;
S4034:根据检测通过指令,将交付流水线切换回交付执行状态;根据检测待查指令,按照预设的周期延长解析状态时间。
进一步地,还包括S5,根据机器学习预测模型预测获得交付流程故障数据的故障率的大小,采取相对应的备案策略,具体步骤为:
S501:获取机器学习预测模型预测获得交付流程故障数据的第一故障率;
S502:若第一故障率大于预设的第一故障率阈值时,则根据交付流程故障数据,生成针对交付流程区间分段的整段解决方案,根据整段解决方案生成整段备案包;
S503:若第一故障率大于预设的第二故障率阈值时,则利用备用测试方案测试DevOps持续交付流水线,获得备用测试数据;根据备用测试数据获得交付流程故障数据的第二故障率,若第二故障率仍大于第二故障率阈值时,则中断交付;第二故障率阈值大于第一故障率阈值。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明的可扩展的DevOps持续交付系统结构示意图;
图2为本发明的可扩展的DevOps持续交付系统备案生成模块的结构示意图;
图3为本发明的可扩展的DevOps持续交付方法步骤示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种可扩展的DevOps持续交付系统,如图1所示,包括:
交付测试模块,用于基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
备案生成模块,用于基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
监控管理模块,用于利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
备案包调用模块,用于根据交付异常信息调用备案包替换故障代码包。
上述技术方案的工作原理为:交付测试模块,用于基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
备案生成模块,用于基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
监控管理模块,用于利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
备案包调用模块,用于根据交付异常信息调用备案包替换故障代码包。
上述技术方案的有益效果为:采用本实施例提供的方案,通过实施监控持续交付流水线的交付过程,采取利用备用代码包替换故障代码包的方法,扩展交付流水线的功能,及时解决交付流水线故障,可保证持续交付的质量。
在一个实施例中,交付测试模块包括测试数据获取单元和测试数据筛选单元;
测试数据获取单元,用于基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
测试数据筛选单元,用于将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
上述技术方案的工作原理为:交付测试模块包括测试数据获取单元和测试数据筛选单元;
测试数据获取单元,用于基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
测试数据筛选单元,用于将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对测试数据的严格筛选,可保证测试数据的质量。
在一个实施例中,如图2所示,备案生成模块包括测试数据特征获取单元、故障预测单元和备案包生成单元;
测试数据特征获取单元,用于从测试数据中提取特征并进行标注,生成标注特征数据集;
故障预测单元,用于基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
备案包生成单元,用于根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包。
上述技术方案的工作原理为:备案生成模块包括测试数据特征获取单元、故障预测单元和备案包生成单元;
测试数据特征获取单元,用于从测试数据中提取特征并进行标注,生成标注特征数据集;
故障预测单元,用于基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
备案包生成单元,用于根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包。
上述技术方案的有益效果为:采用本实施例提供的方案,根据机器学习预测模型预测获得的故障数据,生成故障解决方案,可保证故障解决方案的精确性和科学性。
在一个实施例中,监控管理模块,用于基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种。
上述技术方案的工作原理为:监控管理模块,用于基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对持续交付流水线的监控管理,可及时发现交付异常,采取应对方案进行解决。
在一个实施例中,备案包调用模块包括模板生成单元、调用匹配关系库构建单元和模板调用单元;
模板生成单元,用于基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
调用匹配关系库构建单元,用于根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
模板调用单元,用于根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
上述技术方案的工作原理为:备案包调用模块包括模板生成单元、调用匹配关系库构建单元和模板调用单元;
模板生成单元,用于基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
调用匹配关系库构建单元,用于根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
模板调用单元,用于根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
上述技术方案的有益效果为:采用本实施例提供的方案,通过建立异常信息中的特征值与可替换模板的标识符的匹配关系库,提供了调用目标关联关系,可精确地调用可替换模板进行故障的替换。
本发明提供一种可扩展的DevOps持续交付方法,如图3所示,包括:
S1:基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
S2:基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
S3:利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
S4:根据交付异常信息调用备案包替换故障代码包。
上述技术方案的工作原理为:S1:基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
S2:基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
S3:利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
S4:根据交付异常信息调用备案包替换故障代码包。
上述技术方案的有益效果为:采用本实施例提供的方案,通过实施监控持续交付流水线的交付过程,采取利用备用代码包替换故障代码包的方法,扩展交付流水线的功能,及时解决交付流水线故障,可保证持续交付的质量。
在一个实施例中,S1包括:
S101:基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
S102:将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
上述技术方案的工作原理为:S101:基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
S102:将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对测试数据的严格筛选,可保证测试数据的质量。
在一个实施例中,S2包括:
S201:从测试数据中提取特征并进行标注,生成标注特征数据集;
S202:基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
S203:根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包;
S3包括:基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种;
S4包括:
S401:基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
S402:根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
S403:根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
上述技术方案的工作原理为:S2包括:
S201:从测试数据中提取特征并进行标注,生成标注特征数据集;
S202:基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
S203:根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包;
S3包括:基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种;
S4包括:
S401:基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
S402:根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
S403:根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
上述技术方案的有益效果为:采用本实施例提供的方案,根据机器学习预测模型预测获得的故障数据,生成故障解决方案,可保证故障解决方案的精确性和科学性;通过对持续交付流水线的监控管理,可及时发现交付异常,采取应对方案进行解决;通过建立异常信息中的特征值与可替换模板的标识符的匹配关系库,提供了调用目标关联关系,可精确地调用可替换模板进行故障的替换。
在一个实施例中,S403还包括对替换后的可替换模板进行衔接检测,具体步骤为:
S4031:将交付流水线切换到解析状态;解析状态用于按照预设的周期对交付流水线进行中断操作,并读取开发代码;
S4032:获取与故障代码包前后相邻的第一开发代码组;
S4033:利用预设的开发工具将可替换模板中的代码与第一开发代码组衔接,并按照预设的检测指标检测衔接后的代码执行结果;若代码执行结果符合检测要求,则生成检测通过指令;若不符合检测要求,则生成检测待查指令;
S4034:根据检测通过指令,将交付流水线切换回交付执行状态;根据检测待查指令,按照预设的周期延长解析状态时间。
上述技术方案的工作原理为:S403还包括对替换后的可替换模板进行衔接检测,具体步骤为:
S4031:将交付流水线切换到解析状态;解析状态用于按照预设的周期对交付流水线进行中断操作,并读取开发代码;
S4032:获取与故障代码包前后相邻的第一开发代码组;
S4033:利用预设的开发工具将可替换模板中的代码与第一开发代码组衔接,并按照预设的检测指标检测衔接后的代码执行结果;若代码执行结果符合检测要求,则生成检测通过指令;若不符合检测要求,则生成检测待查指令;
S4034:根据检测通过指令,将交付流水线切换回交付执行状态;根据检测待查指令,按照预设的周期延长解析状态时间。
上述技术方案的有益效果为:采用本实施例提供的方案,通过对替换后的可替换模板进行衔接检测,可及时发现衔接过程中的错误,保证衔接的成功以及交付的顺畅执行。
在一个实施例中,还包括S5,根据机器学习预测模型预测获得交付流程故障数据的故障率的大小,采取相对应的备案策略,具体步骤为:
S501:获取机器学习预测模型预测获得交付流程故障数据的第一故障率;
S502:若第一故障率大于预设的第一故障率阈值时,则根据交付流程故障数据,生成针对交付流程区间分段的整段解决方案,根据整段解决方案生成整段备案包;
S503:若第一故障率大于预设的第二故障率阈值时,则利用备用测试方案测试DevOps持续交付流水线,获得备用测试数据;根据备用测试数据获得交付流程故障数据的第二故障率,若第二故障率仍大于第二故障率阈值时,则中断交付;第二故障率阈值大于第一故障率阈值。
上述技术方案的工作原理为:还包括S5,根据机器学习预测模型预测获得交付流程故障数据的故障率的大小,采取相对应的备案策略,具体步骤为:
S501:获取机器学习预测模型预测获得交付流程故障数据的第一故障率;
S502:若第一故障率大于预设的第一故障率阈值时,则根据交付流程故障数据,生成针对交付流程区间分段的整段解决方案,根据整段解决方案生成整段备案包;
S503:若第一故障率大于预设的第二故障率阈值时,则利用备用测试方案测试DevOps持续交付流水线,获得备用测试数据;根据备用测试数据获得交付流程故障数据的第二故障率,若第二故障率仍大于第二故障率阈值时,则中断交付;第二故障率阈值大于第一故障率阈值。
在实施例中,通过区分备案包和整段备案包对交付流程进行故障解决;两种方式实施后,交付流水线的可靠性得到了提升,通过计算可靠性,可为交付的顺利进行提供数据支持;可靠性的计算公式为:
上式中,Mi表示第i次持续交付的可靠度,Mi α表示第i次运用备案包对交付流程进行故障解决后的交付可靠度,表示第i次运用备案包对交付流程进行故障解决前的交付可靠度,表示第i-1次运用备案包对交付流程进行故障解决后的交付可靠度,表示最近一次运用整段备案包对整个交付流程进行故障解决的交付可靠度,p、q分别表示解决故障的总次数。
上述技术方案的有益效果为:采用本实施例提供的方案,根据预测出的不同的故障率,制定相应的应对策略,可拓展应对交付故障的广度,在发现故障较多的情况下,及时停止交付工作,提高DevOps持续交付的科学性;通过计算交付流水线的可靠性,可为交付顺利进行提供数据支持。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种可扩展的DevOps持续交付系统,其特征在于,包括:
交付测试模块,用于基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
备案生成模块,用于基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
监控管理模块,用于利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
备案包调用模块,用于根据交付异常信息调用备案包替换故障代码包。
2.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,交付测试模块包括测试数据获取单元和测试数据筛选单元;
测试数据获取单元,用于基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
测试数据筛选单元,用于将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
3.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,备案生成模块包括测试数据特征获取单元、故障预测单元和备案包生成单元;
测试数据特征获取单元,用于从测试数据中提取特征并进行标注,生成标注特征数据集;
故障预测单元,用于基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
备案包生成单元,用于根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包。
4.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,监控管理模块,用于基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种。
5.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,备案包调用模块包括模板生成单元、调用匹配关系库构建单元和模板调用单元;
模板生成单元,用于基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
调用匹配关系库构建单元,用于根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
模板调用单元,用于根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
6.一种可扩展的DevOps持续交付方法,其特征在于,包括:
S1:基于云平台测试环境,测试DevOps持续交付流水线,获得测试数据;
S2:基于测试数据,采用机器学习预测模型预测交付流程故障,基于交付流程故障生成故障解决方案,根据故障解决方案制作备案包;
S3:利用软件交付监控工具监控DevOps持续交付进程,获取交付异常信息;
S4:根据交付异常信息调用备案包替换故障代码包。
7.根据权利要求6所述的一种可扩展的DevOps持续交付方法,其特征在于,S1包括:
S101:基于预设的测试脚本对DevOps持续交付流水线进行流程测试,获得第一测试数据集;
S102:将第一测试数据集与理论测试结果数据集进行对比,保留对比差值小于预设对比差值阈值的测试数据,生成第二测试数据集;基于预设的数据完整性检测工具,对第二测试数据集进行完整性检测,保留符合完整性检测要求的数据,生成测试数据。
8.根据权利要求6所述的一种可扩展的DevOps持续交付方法,其特征在于,S2包括:
S201:从测试数据中提取特征并进行标注,生成标注特征数据集;
S202:基于标注特征数据集中的标注数据,利用机器学习预测模型预测获得交付流程故障数据;
S203:根据交付流程故障数据生成故障解决方案,根据故障解决方案生成备案包;
S3包括:基于预设的监控预警条件,利用软件交付监控工具对DevOps持续交付流水线进行区间分段监控;当交付流水线达到监控预警条件时进行预警,并获得交付异常信息;监控预警条件包括流水线区间分段中的开发代码出现交付进程错误、或交付进程中断、或交付结果错误中的一种或多种;
S4包括:
S401:基于备案包生成标有标识符的可替换模板;并利用云平台存储可替换模板;
S402:根据交付流水线中的交付异常,生成交付异常信息;提取交付异常信息中的特征值;建立特征值与可替换模板的标识符的匹配关系库,并将匹配关系库存储到云平台中;
S403:根据交付异常信息,向云平台发送调用请求,在云平台匹配关系库中,调取可替换模板,替换故障代码包。
9.根据权利要求8所述的一种可扩展的DevOps持续交付方法,其特征在于,S403还包括对替换后的可替换模板进行衔接检测,具体步骤为:
S4031:将交付流水线切换到解析状态;解析状态用于按照预设的周期对交付流水线进行中断操作,并读取开发代码;
S4032:获取与故障代码包前后相邻的第一开发代码组;
S4033:利用预设的开发工具将可替换模板中的代码与第一开发代码组衔接,并按照预设的检测指标检测衔接后的代码执行结果;若代码执行结果符合检测要求,则生成检测通过指令;若不符合检测要求,则生成检测待查指令;
S4034:根据检测通过指令,将交付流水线切换回交付执行状态;根据检测待查指令,按照预设的周期延长解析状态时间。
10.根据权利要求8所述的一种可扩展的DevOps持续交付方法,其特征在于,还包括S5,根据机器学习预测模型预测获得交付流程故障数据的故障率的大小,采取相对应的备案策略,具体步骤为:
S501:获取机器学习预测模型预测获得交付流程故障数据的第一故障率;
S502:若第一故障率大于预设的第一故障率阈值时,则根据交付流程故障数据,生成针对交付流程区间分段的整段解决方案,根据整段解决方案生成整段备案包;
S503:若第一故障率大于预设的第二故障率阈值时,则利用备用测试方案测试DevOps持续交付流水线,获得备用测试数据;根据备用测试数据获得交付流程故障数据的第二故障率,若第二故障率仍大于第二故障率阈值时,则中断交付;第二故障率阈值大于第一故障率阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211461471.3A CN116010241B (zh) | 2022-11-17 | 2022-11-17 | 一种可扩展的DevOps持续交付系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211461471.3A CN116010241B (zh) | 2022-11-17 | 2022-11-17 | 一种可扩展的DevOps持续交付系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116010241A true CN116010241A (zh) | 2023-04-25 |
CN116010241B CN116010241B (zh) | 2023-09-22 |
Family
ID=86023757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211461471.3A Active CN116010241B (zh) | 2022-11-17 | 2022-11-17 | 一种可扩展的DevOps持续交付系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010241B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170237778A1 (en) * | 2016-02-11 | 2017-08-17 | CYBRIC Inc. | Continuous security delivery fabric |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN111133409A (zh) * | 2017-10-19 | 2020-05-08 | 净睿存储股份有限公司 | 确保人工智能基础设施中的再现性 |
CN112424750A (zh) * | 2018-07-19 | 2021-02-26 | 纳木技术株式会社 | 云平台上的多集群供应及管理办法 |
CN113742029A (zh) * | 2020-05-30 | 2021-12-03 | 山东汉鑫科技股份有限公司 | 一种基于Docker的DevOps的持续交付系统 |
-
2022
- 2022-11-17 CN CN202211461471.3A patent/CN116010241B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170237778A1 (en) * | 2016-02-11 | 2017-08-17 | CYBRIC Inc. | Continuous security delivery fabric |
CN111133409A (zh) * | 2017-10-19 | 2020-05-08 | 净睿存储股份有限公司 | 确保人工智能基础设施中的再现性 |
CN112424750A (zh) * | 2018-07-19 | 2021-02-26 | 纳木技术株式会社 | 云平台上的多集群供应及管理办法 |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN113742029A (zh) * | 2020-05-30 | 2021-12-03 | 山东汉鑫科技股份有限公司 | 一种基于Docker的DevOps的持续交付系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116010241B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621545B2 (en) | Inventory management system having functions of performing inventory management and preventive maintenance | |
Zhang et al. | Optimal maintenance policy considering imperfect repairs and non-constant probabilities of inspection errors | |
US6532426B1 (en) | System and method for analyzing different scenarios for operating and designing equipment | |
KR101044744B1 (ko) | 신뢰도 기반 배전기자재 유지보수 시스템과 방법 | |
US8448025B2 (en) | Fault analysis apparatus, fault analysis method, and recording medium | |
CN113946499A (zh) | 一种微服务链路跟踪及性能分析方法、系统、设备及应用 | |
KR20190021560A (ko) | 빅데이터를 활용한 고장예지보전시스템 및 고장예지보전방법 | |
US20160209838A1 (en) | Abnormality Diagnosis Method and Device Therefor | |
CN101308387A (zh) | 用于监视设备状态的装置和方法以及计算机可读介质 | |
CN111796959A (zh) | 宿主机容器自愈方法、装置及系统 | |
CN116010241B (zh) | 一种可扩展的DevOps持续交付系统及其方法 | |
CN116345690A (zh) | 基于供电系统bom的pscada虚警识别方法及系统 | |
CN106875018B (zh) | 一种超大规模机器自动化维修的方法和装置 | |
CN114462650A (zh) | 设备故障处理方法、装置、电子设备和存储介质 | |
US11645631B2 (en) | Method and system for automatic maintenance of a machine | |
CN117114211A (zh) | 一种应急供电评估优化方法及系统 | |
CN117313019A (zh) | 一种基于深度强化学习的数据异常检测方法 | |
US20170132579A1 (en) | Offshore plant preventive maintenance system and offshore plant preventing maintenance method using the same | |
KR20210134466A (ko) | 발전설비용 정비전략수립을 위한 의사결정 방법 및 시스템 | |
CN111404715B (zh) | 一种网络服务实例化方法、装置、电子设备及存储介质 | |
CN106354635A (zh) | 一种嵌入式设备的程序代码段自检方法及装置 | |
CN111694715A (zh) | 一种异常告警方法、装置、设备及机器可读存储介质 | |
CN105913226A (zh) | 基于智能语音提示的核电厂运行支持系统 | |
JPH06244935A (ja) | 電子交換機構成装置の故障診断システム | |
JP2020122729A (ja) | 洗浄液交換予測分析システム |
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 |