CN115373699B - 自动化部署方法和系统 - Google Patents
自动化部署方法和系统 Download PDFInfo
- Publication number
- CN115373699B CN115373699B CN202210801863.3A CN202210801863A CN115373699B CN 115373699 B CN115373699 B CN 115373699B CN 202210801863 A CN202210801863 A CN 202210801863A CN 115373699 B CN115373699 B CN 115373699B
- Authority
- CN
- China
- Prior art keywords
- deployment
- deployed
- log
- contained
- sub
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 164
- 238000004458 analytical method Methods 0.000 claims abstract description 38
- 238000012216 screening Methods 0.000 claims abstract description 34
- 238000005457 optimization Methods 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims description 56
- 238000012360 testing method Methods 0.000 claims description 30
- 238000012512 characterization method Methods 0.000 claims description 27
- 238000010276 construction Methods 0.000 claims description 18
- 230000001419 dependent effect Effects 0.000 claims description 17
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 13
- 230000000750 progressive effect Effects 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 5
- 230000002441 reversible effect Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了自动化部署方法和系统,其方法包括:S1:记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合;S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;S3:对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务;用以对记录执行待部署任务的过程的日志进行筛选和共性分析,确定出初始部署流程中的可优化步骤,实现了对部署失败的原因的定位分析,实现了在部署过程中不断优化学习,提高了自动化部署的效率,减少了由于部署失败而产生的大量冗余文件。
Description
技术领域
本发明涉及技术领域,特别涉及自动化部署方法和系统。
背景技术
目前,随着敏捷开发与敏捷运维一体化时代的到来,像过去那样简单的将软件交付给客户,然后手动在单独的服务器上部署已不能满足生产要求。而且面对成百上千台机器,几十个模块,应用程序又变得越来越复杂,部署包含多个组件的应用程序更是极具挑战性。手动部署既慢又容易出错,并且无法跟上我们的部署环境中不断增加的部署目标数量。部署到不同的环境,分散在不同的数据中心,使用不同的流程,这些都带来了更多风险。依赖关系比以往任何时候都更复杂,更难以跟踪,部署脚本难以维护。增加更多人员并不能解决这方面的问题,甚至可能会适得其反。
自动化部署可以解决以上传统手动部署存在的问题;但是,采用自动化部署时,在部署过程中也会出现由于接口不稳定或者部署任务的改变或者依赖环境和配置文件的生成误差等其他原因导致部署失败,当在同一目标主机执行不同的部署任务时,由于现存的自动化部署没有优化学习和问题定位分析的能力上述问题可能会频繁出现,进而导致自动化部署过程效率低下,也会因为部署失败产生大量冗余文件。
因此,本发明提出了自动化部署方法和系统。
发明内容
本发明提供自动化部署方法和系统,用以在执行部署任务时,对记录执行待部署任务的过程的日志进行筛选和共性分析,可以确定出初始部署流程中的可优化步骤,并实现了对部署过程中部署失败的原因的定位分析,也实现了在部署过程中不断优化学习,提高了自动化部署的效率,减少了由于部署失败而产生的大量冗余文件。
本发明提供一种自动化部署方法,包括:
S1:基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合;
S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;
对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务。
优选的,所述的自动化部署方法,S1:基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合,包括:
S101:基于用户的部署请求生成部署任务列表;
S102:基于所述部署任务列表和初始部署流程,执行所述部署任务列表中包含的待部署任务;
S103:记录每个待部署任务的部署过程生成每个待部署任务的部署日志;
S104:当部署日志的个数不小于可分析阈值时,则将当前生成的所有部署日志汇总获得部署日志集合。
优选的,所述的自动化部署方法,S102:基于所述部署任务列表和初始部署流程,执行所述部署任务列表中包含的待部署任务,包括:
基于所述部署任务列表中包含的待部署任务在预设软件库中调取待部署源代码;
对所述待部署源代码进行编译生成待部署编译文件;
基于所述待部署任务确定出待部署主机和依赖环境,基于所述待部署主机和所述依赖环境生成待部署配置文件;
将所述待部署编译文件和所述待部署配置文件打包生成待部署文件;
基于所述待部署文件执行所述部署任务列表中包含的待部署任务,同时,接收用户输入的实时修改指令。
优选的,所述的自动化部署方法,基于所述待部署主机和所述依赖环境生成待部署配置文件,包括:
基于所述待部署主机和所述依赖环境在配置模板库中匹配出待配置模板,并设置所述配置模板的配置参数;
基于参数设置后的待部署模板生成待部署配置文件。
优选的,所述的自动化部署方法,基于所述待部署文件执行所述部署任务列表中包含的待部署任务,包括:
将所述待部署文件解压至所述待部署主机的目标目录,判断所述目标目录中包含的文件是否存在所述待部署文件对应的待部署软件的历史部署文件;
若是,则基于所述待部署文件中包含的待部署子文件中的文件属性确定出对应待部署子文件的第一关键字符串列表,基于所述第一关键字符串列表确定出所述待部署文件中的第一关键字符串;
确定出所述第一关键字符串的内码,基于所述待部署子文件中包含的所有第一关键字符串的内码计算出内码复杂度表征值,基于所述内码复杂度表征值确定出对应待部署子文件的第一表征值函数构造方法;
确定出所述第一关键字符串在对应待部署子文件中的行序数,基于所述第一表征值函数构造方法和所述第一关键字符串的行序数确定出对应第一关键字符串的第一表征值;
将所述待部署子文件中相邻第一关键字符串之间包含的所有字符串排序并划分为所述相邻第一关键字符串中较前第一关键字符串的字符串序列,并将所述待部署子文件中包含的最后一个第一关键字符串之后的所有字符串划分为最后一个第一关键字符串的字符串序列;
基于所述第一表征值函数构造方法确定出所述字符串序列中每个字符串的第二表征值,获得第二表征值序列;
基于第一表征值对第一关键字符串进行排序,获得第一关键字符串序列,将所述第一关键字符串对应的第二表征值序列作为所述第一关键字符串的行数据,基于所述第一关键字符串序列将对应第一关键字符串的行数据进行排序,获得所述待部署子文件的待部署表征矩阵;
确定出所述历史部署文件中历史部署子文件的历史部署表征矩阵,确定出所述历史部署表征矩阵和所述待部署表征矩阵之间的差异矩阵,基于所述差异矩阵中的差异数据对所述待部署表征矩阵进行字符串反向定位,获得差异定位结果,对所述差异定位结果对应的差异字符段和所述差异矩阵中的差异数据进行关联存储,获得存储结果,基于所述存储结果在所述目标目录中进行部署测试;
当所述目标目录中包含的文件中不存在所述待部署文件对应的待部署软件的历史部署文件时,则基于所述待部署文件在所述目标目录中进行部署测试;
当所述部署测试通过时,则判定对应待部署任务部署完成,否则,基于所述待部署任务的源代码进行重新部署。
优选的,所述的自动化部署方法,S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合,包括:
在所述部署日志集合中筛选出初次部署测试未通过或接收到用户输入的实时修改指令的待分析部署日志;
将所有待分析部署日志汇总获得待分析部署日志集合。
优选的,所述的自动化部署方法,对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,包括:
对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息;
基于所述可优化步骤和所述优化信息对所述初始部署流程进行优化,获得优化部署流程;
将所述初始部署流程更新为所述优化部署流程;
基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务。
优选的,所述的自动化部署方法,对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息,包括:
在所述待分析部署日志中确定出每次部署测试过程对应的子部署日志,将所述待分析部署日志中包含的所有子部署日志汇总,获得子部署日志集合;
将所述子部署日志转换成对应的子部署线程,并将所述子部署线程中包含的每个执行步骤获得的执行结果标记于所述子部署线程中,获得标记线程;
将所有子部署日志对应的标记线程中包含的相同执行步骤进行对齐,获得对齐标记线程;
将所述对齐标记线程中包含的第一个执行步骤对应的执行结果相同的第一标记线程划分为同一集合,获得至少一个第一划分线程集合,将所述第一划分线程集合中包含的第二个执行步骤对应的执行结果相同的第二标记线程划分为同一集合,获得至少一个第二划分线程集合,对所述第二划分线程集合继续进行划分,直至判断完所有执行步骤的执行结果后,获得每次划分过程对应的划分结果;
基于每次划分过程的划分结果确定出划分递进关系,基于所述划分递进关系构建出对应的划分框架树,确定出所述划分框架树中每层划分结果中包含的相同执行结果集合,确定出所述相同执行结果集合中包含的每个执行结果对应的标记线程中在对应执行步骤之前的第一子线程,获得所述划分框架树每层的第一子线程集合;
在所述第一子线程集合中包含的每个第一子线程对应的第一部分日志信息中提取出每个追溯原因的第一相关信息,对每个追溯原因对应的第一相关信息进行共性提取,获得每个追溯原因对应的共性特征信息;
确定出每层划分结果中包含的除所述相同执行结果集合以外剩余的执行结果对应的第二子线程,提取出所述第二子线程对应的第二部分日志信息中包含的对应追溯原因的第二相关信息,将所述第二相关信息和对应追溯原因的共性特征信息进行匹配,获得对应追溯原因的匹配度,将最小匹配度对应的追溯原因作为所述第二子线程对应的标记线程在所述划分框架树中对应层的部署失败原因;
将所述标记线程中包含的每个部署失败原因和对应执行步骤关联,获得原因关联结果,基于所述原因关联结果确定出所述初始部署流程中的可优化步骤和优化信息。
优选的,所述的自动化部署方法,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,包括:
基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,获得新的部署日志集合;
在新的部署日志集合中筛选出新的待分析部署日志集合;
对新的待分析部署日志集合进行共性分析,确定出新的可优化步骤,基于所述可优化步骤继续优化最新的初始部署流程,直至执行完所述待部署任务。
本发明提供一种自动化部署系统,包括:
日志生成模块,用于基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程生成每个待部署任务的部署日志,获得部署日志集合;
日志筛选模块,用于基于所述部署日志和筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;
部署优化模块,用于对所述待分析部署日志集合进行共性分析,确定出可优化步骤,基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行所述待部署任务。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中自动化部署方法流程图;
图2为本发明实施例中另一种自动化部署方法流程图;
图3为本发明实施例中自动化部署示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:
本发明提供了一种自动化部署方法,参考图1,包括:
S1:基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合;
S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;
对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务。
该实施例中,部署请求即为用户发出的包含待部署任务的请求。
该实施例中,初始部署流程即为初始默认的部署流程。
该实施例中,待部署任务即为部署请求中包含的用户想部署的软件的部署任务。
该实施例中,部署日志即为记录每个待部署任务的部署过程的日志。
该实施例中,部署日志集合即为包含部署日志的集合。
该实施例中,待分析部署日志集合即为基于预设筛选条件在部署日志集合中筛选出的待分析部署日志构成的集合。
该实施例中,预设筛选条件即为:初次部署测试未通过或接收到用户输入的实时修改指令的部署日志。
该实施例中,可优化步骤即为对待分析部署日志集合进行共性分析后确定出的初始部署流程中包含的可优化的执行步骤。
以上技术的有益效果为:在执行部署任务时,对记录执行待部署任务的过程的日志进行筛选和共性分析,可以确定出初始部署流程中的可优化步骤,并实现了对部署过程中部署失败的原因的定位分析,也实现了在部署过程中不断优化学习,提高了自动化部署的效率,减少了由于部署失败而产生的大量冗余文件。
实施例2:
在实施例1的基础上,所述的自动化部署方法,S1:基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合,参考图2,包括:
S101:基于用户的部署请求生成部署任务列表;
S102:基于所述部署任务列表和初始部署流程,执行所述部署任务列表中包含的待部署任务;
S103:记录每个待部署任务的部署过程生成每个待部署任务的部署日志;
S104:当部署日志的个数不小于可分析阈值时,则将当前生成的所有部署日志汇总获得部署日志集合。
该实施例中,部署任务列表即为部署请求中包含的所有待部署任务构成的列表。
该实施例中,可分析阈值即为可以汇总构成部署日志集合时对应的最小部署日志总个数。
以上技术的有益效果为:基于部署任务列表和初始部署流程执行待部署任务,并记录获得部署日志,通过实时统计生成的部署日志总个数,可以及时生成部署日志集合,确保了共性分析的样本含量,不仅包含智能了共性分析结果的准确性,也为启动对初始部署流程的优化过程提供了启动判别依据。
实施例3:
在实施例2的基础上,所述的自动化部署方法,S102:基于所述部署任务列表和初始部署流程,执行所述部署任务列表中包含的待部署任务,包括:
基于所述部署任务列表中包含的待部署任务在预设软件库中调取待部署源代码;
对所述待部署源代码进行编译生成待部署编译文件;
基于所述待部署任务确定出待部署主机和依赖环境,基于所述待部署主机和所述依赖环境生成待部署配置文件;
将所述待部署编译文件和所述待部署配置文件打包生成待部署文件;
基于所述待部署文件执行所述部署任务列表中包含的待部署任务,同时,接收用户输入的实时修改指令。
该实施例中,预设软件库即为预先准备的包含可部署软件的源代码的数据库。
该实施例中,待部署源代码即为待部署软件的源代码。
该实施例中,待部署编译文件即为对待部署源代码进行编译后生成的编译文件。
该实施例中,待部署主机即为基于待部署任务确定出的软件部署的主机。
该实施例中,依赖环境即为部署软件所需的依赖环境,例如:Redis环境。
该实施例中,待部署配置文件即为基于待部署主机和依赖环境生成的需要被部署的软件在部署过程中所需的配置文件。
该实施例中,待部署文件即为将待部署编译文件和待部署配置文件打包生成的需要部署至待部署主机的文件。
该实施例中,实时修改指令即为用户实时发出的对待部署任务进行修改的指令。
以上技术的有益效果为:通过基于待部署任务实现源代码的提取、编译、配置文件的生成。待部署文件的生成,进而实现基于初始部署流程执行完成对应的待部署任务。
实施例4:
在实施例3的基础上,所述的自动化部署方法,基于所述待部署主机和所述依赖环境生成待部署配置文件,包括:
基于所述待部署主机和所述依赖环境在配置模板库中匹配出待配置模板,并设置所述配置模板的配置参数;
基于参数设置后的待部署模板生成待部署配置文件。
该实施例中,配置模板库即为用于存储配置模板的数据库。
该实施例中,待配置模板即为基于待部署主机和依赖环境在配置模板库中匹配出的在本次生成配置文件的过程中所使用的配置文件模板。
该实施例中,配置参数即为配置模板中可设置的参数,例如:访问端口、访问密码、安装位置,访问端口例如依赖环境Redis服务的启动端口为6379。
以上技术的有益效果为:通过对配置模板库中匹配的待配置模板进行参数设置,比直接生成配置文件更加方便,且减少了文件冗余,提高了配置文件的生成效率。
实施例5:
在实施例3的基础上,所述的自动化部署方法,基于所述待部署文件执行所述部署任务列表中包含的待部署任务,包括:
将所述待部署文件解压至所述待部署主机的目标目录,判断所述目标目录中包含的文件是否存在所述待部署文件对应的待部署软件的历史部署文件;
若是,则基于所述待部署文件中包含的待部署子文件中的文件属性确定出对应待部署子文件的第一关键字符串列表,基于所述第一关键字符串列表确定出所述待部署文件中的第一关键字符串;
确定出所述第一关键字符串的内码,基于所述待部署子文件中包含的所有第一关键字符串的内码计算出内码复杂度表征值,基于所述内码复杂度表征值确定出对应待部署子文件的第一表征值函数构造方法;
确定出所述第一关键字符串在对应待部署子文件中的行序数,基于所述第一表征值函数构造方法和所述第一关键字符串的行序数确定出对应第一关键字符串的第一表征值;
将所述待部署子文件中相邻第一关键字符串之间包含的所有字符串排序并划分为所述相邻第一关键字符串中较前第一关键字符串的字符串序列,并将所述待部署子文件中包含的最后一个第一关键字符串之后的所有字符串划分为最后一个第一关键字符串的字符串序列;
基于所述第一表征值函数构造方法确定出所述字符串序列中每个字符串的第二表征值,获得第二表征值序列;
基于第一表征值对第一关键字符串进行排序,获得第一关键字符串序列,将所述第一关键字符串对应的第二表征值序列作为所述第一关键字符串的行数据,基于所述第一关键字符串序列将对应第一关键字符串的行数据进行排序,获得所述待部署子文件的待部署表征矩阵;
确定出所述历史部署文件中历史部署子文件的历史部署表征矩阵,确定出所述历史部署表征矩阵和所述待部署表征矩阵之间的差异矩阵,基于所述差异矩阵中的差异数据对所述待部署表征矩阵进行字符串反向定位,获得差异定位结果,对所述差异定位结果对应的差异字符段和所述差异矩阵中的差异数据进行关联存储,获得存储结果,基于所述存储结果在所述目标目录中进行部署测试;
当所述目标目录中包含的文件中不存在所述待部署文件对应的待部署软件的历史部署文件时,则基于所述待部署文件在所述目标目录中进行部署测试;
当所述部署测试通过时,则判定对应待部署任务部署完成,否则,基于所述待部署任务的源代码进行重新部署。
该实施例中,目标目录即为待部署主机中存储待部署文件的文件存储目录。
该实施例中,待部署软件即为待部署文件部署的软件。
该实施例中,历史部署文件即为待部署软件在待部署主机中曾经部署过的软件版本对应的部署文件。
该实施例中,待部署子文件即为待部署文件中包含的子文件。
该实施例中,文件属性即为例如应用程序(.exe)、动态库(.dll)、静态库(.lib)。
该实施例中,第一关键字符串列表即为包含对应文件属性的待部署子文件中应该包含的关键字符串的列表。
该实施例中,第一关键字符串即为基于对应文件属性对应的关键字符串列表,在对应待部署子文件中筛选出的关键字符串。
该实施例中,基于所述待部署子文件中包含的所有第一关键字符串的内码计算出内码复杂度表征值,包括:
基于第一关键字符串的内码的总位数以及内码中包含的重复数字的总位数,计算出内码复杂度表征值:
式中,α为内码复杂度表征值,m为第一关键字符串的内码中包含的重复数字的种类个数(例如:011100中的包含的重复数字的种类个数为2,重复数字为1和0),n为待部署子文件中包含的第一关键字符串的总个数,i为待部署子文件中包含的当前计算的第一关键字符串,j为第一关键字符串的内码中包含的当前计算的重复数字,cij为待部署子文件中包含的第i个第一关键字符串的内码中的第j种重复数字的总位数,Mi为待部署子文件中包含的第i个第一关键字符串的内码的总位数;
例如,待部署子文件中包含的第一关键字符串的内码依次为:010110、033111,则待部署子文件的内码复杂度表征值为0.54。
该实施例中,第一表征值函数构造方法即为基于对应内码复杂度表征值和表征值函数构造方法列表(即为包含表征值函数构造方法的列表,例如:以关键字符串的内码的某个线性函数值为对应的表征值,此表征值函数构造方法会导致空间复杂度较高,所以适用于内码复杂度表征值较小的待部署子文件;又例如:用关键字符串的内码除以某个常数后得到的余数作为对应的表征值,此表征值函数构造方法适用于内码复杂度表征值较大的待部署子文件)确定出的表征值函数构造方法。
该实施例中,行序数即为第一关键字符串在对应待部署子文件中的所在行序数。
该实施例中,第一表征值即为基于第一表征值函数构造方法和第一关键字符串的行序数确定出的第一关键字符串的表征值。
该实施例中,字符串序列即为待部署子文件中相邻第一关键字符串之间包含的所有字符串按照在待部署子文件中的所处位置排序后获得的字符串的序列。
该实施例中,第二表征值即为基于字符串序列中每个字符串的内码和第一表征值函数构造方法确定出的对应字符串的表征值。
该实施例中,第二表征值序列即为由字符串序列中每个字符串的表征值构成的序列。
该实施例中,第一关键字符串序列即为基于第一表征值从小到大的顺序对第一关键字符串进行排序后获得的第一关键字符串的排序序列。
该实施例中,行数据即为第一关键字符串对应的第二表征值序列。
该实施例中,待部署表征矩阵即为基于第一关键字符串序列将对应第一关键字符串的行数据进行排序后获得的待部署子文件的行数据排序序列,以所有行数据中最大数据容量作为待部署保证矩阵的行数据总容量,基于行数据排序序列构建出待部署保证矩阵,其中,待部署表征矩阵中行数据中未满的数据位置的数据设置为0。
该实施例中,历史部署表征矩阵即为历史部署文件的部署表征矩阵,即与待部署表征矩阵的构造原理同理。
该实施例中,差异矩阵即为将历史部署表征矩阵和待部署表征矩阵进行容量统一处理,(确定出历史表征矩阵和待部署表征矩阵中的最大行容量和最大咧容量,行容量即为矩阵行数据中包含的数据总个数,列容量即为矩阵列矩阵中包含的数据总个数,将历史部署表征矩阵和待部署表征矩阵的行容量和列容量都扩充至对应最大行容量和对应最大列容量,矩阵中扩充的位置处的数据设置为0),将容量统一处理后的历史部署表征矩阵和待部署表征矩阵中对应位置处的数据进行做差处理后获得的数据构成的矩阵,其中,差异矩阵的行容量为对应最大行容量,列容量为对应最大列容量。
该实施例中,差异数据即为即为差异矩阵中包含的数据。
该实施例中,字符串反向定位即为基于差异矩阵中的差异数据在历史部署子文件中确定出差异数据对应的位置的过程。
该实施例中,差异定位结果即为基于差异矩阵中的差异数据对待部署子文件进行字符串反向定位后获得的结果。
该实施例中,差异字符段即为差异定位结果中包含的待部署表征矩阵中与历史部署矩阵差异的字符段。
该实施例中,存储结果即为对差异定位结果对应的差异字符段和差异矩阵中的差异数据进行关联存储后获得的结果。
该实施例中,部署测试即为基于存储结果在目标目录中进行下载部署,并测试是否部署成功的过程。
该实施例中,基于所述待部署任务的源代码进行重新部署,即为:基于待部署任务的源代码进行重新编译后生成的编译文件和配置文件进行重新部署。
以上技术的有益效果为:基于对待部署子文件的关键字符串的提取,并基于关键字符串的内码计算出的内码复杂度表征值确定出对应的表征值函数构造方法,使得确定出的表征值函数构造方法可以为每个关键字符串确定出唯一的且能表征关键字符串在待部署子文件中所处位置的表征值,基于每个关键字符号串对待部署子文件中的字符串进行划分,实现了对待部署子文件的结构划分,为后续构建出待部署表征值矩阵提供了基础,使得后续构建出待部署表征矩阵充分体现了待部署子文件中每个字符串的位置以及待部署子文件的代码结构,再利用待部署表征矩阵和历史部署子文件的历史部署表征矩阵进行求差,可以准确地确定出待部署子文件和历史部署子文件中的差异数据以及差异数据的位置,简化了历史部署文件和待部署子文件之间的差异拷贝过程,提高了部署效率。
实施例6:
在实施例1的基础上,所述的自动化部署方法,S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合,包括:
在所述部署日志集合中筛选出初次部署测试未通过或接收到用户输入的实时修改指令的待分析部署日志;
将所有待分析部署日志汇总获得待分析部署日志集合。
该实施例中,待分析部署日志即为部署日志集合中筛选出的初次部署测试未通过或接收到用户输入的实时修改指令的部署日志。
以上技术的有益效果为:在部署日志集合中筛选出初次部署测试未通过或接收到用户输入的实时修改指令的待分析部署日志,可以筛选出部署测试未通过的可优化的部署过程对应的部署日志以及存在人工干扰的部署过程对应的部署日志,考虑到可能由于人工干扰导致部署测试结果产生改变的情况,进而使得后续分析出的初始部署流程中的可优化步骤更加全面。
实施例7:
在实施例1的基础上,所述的自动化部署方法,对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,包括:
对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息;
基于所述可优化步骤和所述优化信息对所述初始部署流程进行优化,获得优化部署流程;
将所述初始部署流程更新为所述优化部署流程;
基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务。
该实施例中,优化信息即为对待分析部署日志集合进行共性分析后确定出的可优化步骤中可优化的部署流程信息,例如接口信息、配置文件误差信息等。
该实施例中,优化部署流程即为基于可优化步骤和优化信息对初始部署流程进行优化后获得的部署流程。
该实施例中,部署任务列表即为部署请求中包含的所有待部署任务构成的列表。
以上技术的有益效果为:基于对待分析部署日志集合的共性分析获得的可优化步骤和优化信息对初始部署流程进行优化,并基于优化后的部署流程继续执行待部署任务,实现了自动化部署过程中的自动优化学习。
实施例8:
在实施例7的基础上,所述的自动化部署方法,对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息,包括:
在所述待分析部署日志中确定出每次部署测试过程对应的子部署日志,将所述待分析部署日志中包含的所有子部署日志汇总,获得子部署日志集合;
将所述子部署日志转换成对应的子部署线程,并将所述子部署线程中包含的每个执行步骤获得的执行结果标记于所述子部署线程中,获得标记线程;
将所有子部署日志对应的标记线程中包含的相同执行步骤进行对齐,获得对齐标记线程;
将所述对齐标记线程中包含的第一个执行步骤对应的执行结果相同的第一标记线程划分为同一集合,获得至少一个第一划分线程集合,将所述第一划分线程集合中包含的第二个执行步骤对应的执行结果相同的第二标记线程划分为同一集合,获得至少一个第二划分线程集合,对所述第二划分线程集合继续进行划分,直至判断完所有执行步骤的执行结果后,获得每次划分过程对应的划分结果;
基于每次划分过程的划分结果确定出划分递进关系,基于所述划分递进关系构建出对应的划分框架树,确定出所述划分框架树中每层划分结果中包含的相同执行结果集合,确定出所述相同执行结果集合中包含的每个执行结果对应的标记线程中在对应执行步骤之前的第一子线程,获得所述划分框架树每层的第一子线程集合;
在所述第一子线程集合中包含的每个第一子线程对应的第一部分日志信息中提取出每个追溯原因的第一相关信息,对每个追溯原因对应的第一相关信息进行共性提取,获得每个追溯原因对应的共性特征信息;
确定出每层划分结果中包含的除所述相同执行结果集合以外剩余的执行结果对应的第二子线程,提取出所述第二子线程对应的第二部分日志信息中包含的对应追溯原因的第二相关信息,将所述第二相关信息和对应追溯原因的共性特征信息进行匹配,获得对应追溯原因的匹配度,将最小匹配度对应的追溯原因作为所述第二子线程对应的标记线程在所述划分框架树中对应层的部署失败原因;
将所述标记线程中包含的每个部署失败原因和对应执行步骤关联,获得原因关联结果,基于所述原因关联结果确定出所述初始部署流程中的可优化步骤和优化信息。
该实施例中,部署测试过程即为从源代码编译开始至最近一次部署测试过程结束的过程。
该实施例中,子部署日志即为在待分析部署日志中确定出的部署测试过程对应的部分部署日志。
该实施例中,子部署日志集合即为待分析部署日志中包含的所有子部署日志汇总后获得的集合。
该实施例中,子部署线程即为基于子部署日志转换成的用于记录对应次部署测试过程的线程。
该实施例中,标记线程即为将子部署线程中包含的每个执行步骤获得的执行结果标记于子部署线程后获得的线程。
该实施例中,对齐标记线程即为将所有子部署日志对应的标记线程中包含的相同执行步骤进行对齐后获得的线程。
该实施例中,第一标记线程即为第一个执行步骤对应的执行结果相同的标记线程。
该实施例中,第一划分线程集合即为将对齐标记线程中包含的第一个执行步骤对应的执行结果相同的第一标记线程划分为同一集合后获得的第一标记线程构成的集合。
该实施例中,第二标记线程即为第一划分线程集合中包含的第二个执行步骤对应的执行结果相同的线程。
该实施例中,第二划分线程集合即为将第一划分线程集合中包含的第二个执行步骤对应的执行结果相同的第二标记线程划分为同一集合后获得的第二划分线程构成的集合。
该实施例中,划分结果即为对应次划分过程获得的结果。
该实施例中,划分递进关系即为将对齐标记线程按照执行步骤不断划分后获得的划分结果不断变化的结果。
该实施例中,划分框架树即为基于划分递进关系搭建出的保证所有划分过程对应的划分结果的框架树。
该实施例中,相同执行结果集合即为划分框架树中每层划分结果中包含相同执行结果的集合。
该实施例中,第一子线程即为确定出相同执行结果集合中包含的每个执行结果对应的标记线程中在对应执行步骤之前的部分子线程。
该实施例中,第一子线程集合即为标记线程在划分框架树对应层对应的执行步骤之前的部分子线程。
该实施例中,第一相关信息即为在第一子线程集合中包含的每个第一子线程对应的第一部分日志信息中提取出的与对应追溯原因相关的信息。
该实施例中,第一部分日志信息即为第一子线程集合中包含的第一子线程对应的部分日志中包含的信息。
该实施例中,追溯原因例如有配置文件生成误差或接口不稳定等。
该实施例中,共性特征信息即为对每个追溯原因对应的第一相关信息进行共性提取后获得的表征与对应追溯原因相关的共性特征,例如:共性特征信息为端口为22(Linux默认端口)。
该实施例中,第二子线程即为划分框架树中每层划分结果中包含的除所述相同执行结果集合以外剩余的执行结果对应的标记线程中在对应执行步骤之前的部分子线程。
该实施例中,第二部分日志信息即为第一子线程对应的部分日志中包含的信息。
该实施例中,第二相关信息即为第二部分日志信息中包含的与对应追溯原因相关的信息。
该实施例中,将所述第二相关信息和对应追溯原因的共性特征信息进行匹配,获得对应追溯原因的匹配度,包括:
对第二相关信息进行词段划分获得多个第一词段,确定出每个第一词段对应的第一词段属性,对共性特征信息进行词段划分获得多个第二词段,确定出第二词段对应的第二词段属性,将第二相关信息和共性特征信息按照词段进行对齐后获得词段对齐信息,基于词段对齐信息和属性匹配值列表(包含不同词段属性之间的属性匹配值的列表)确定出第一词段属性和对应第二词段属性之间的属性匹配值,基于属性匹配值和第二相关信息中包含的第一词段总数以及共性特征信息中包含的第二词段信息,计算出对应追溯原因的匹配度;
式中,γ为对应追溯原因的匹配度,p为词段对齐信息中包含的第p组对应的第一词段和第二词段,q为词段对齐信息中包含的对齐的第一词段和第二词段总组数,sp为词段对齐信息中包含的第p组对应的第一词段和第二词段之间的属性匹配值,a为第二相关信息中包含的第一词段总数,b为共性特征信息中包含的第二词段总数;
例如:q为2,属性匹配值依次为0.6、0.9,a为3,b为2,则γ为0.9。
该实施例中,部署失败原因即为最小匹配度对应的追溯原因。
该实施例中,原因关联结果即为将标记线程中包含的每个部署失败原因和对应执行步骤关联后获得的结果。
以上技术的有益效果为:基于待分析部署日志中包含的每次部署测试过程划分获得的子部署日志中在每个执行步骤中获得的执行结果对标记线程进行依次划分,进而搭建出划分框架树,使得子部署日志的划分过程更加直观,再基于对划分框架树每层包含的相同划分结果按照对应追溯原因进行共性分析,确定出与对应追溯原因相关的共性特征信息,将对应执行步骤中除相同执行结果以外剩余执行结果中包含的相关信息与共性特征信息比对,可以确定出其他执行结果对应的标记线程在本执行步骤中出现的导致部署测试未通过的原因,进而实现对部署测试过程的分步骤分析,通过此方法,可以确定出部署测试过程每个执行步骤中可能出现的导致部署测试未通过的原因,比对标记线程或部署日志进行单向直接分析确定出的原因更加全面,使得原因定位效果更好。
实施例9:
在实施例7的基础上,所述的自动化部署方法,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,包括:
基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,获得新的部署日志集合;
在新的部署日志集合中筛选出新的待分析部署日志集合;
对新的待分析部署日志集合进行共性分析,确定出新的可优化步骤,基于所述可优化步骤继续优化最新的初始部署流程,直至执行完所述待部署任务。
该实施例中,剩余部署任务即为部署任务列表中包含的当前未执行的部署任务。
以上技术的有益效果为:基于更新后的初始部署流程继续执行待部署任务中包含的剩余部署任务,并基于生成新的部署日志集合、筛选出新的待分析部署日志集合并进行共性分析,确定出新的可优化步骤,实现了自动部署过程中的不断优化学习。
实施例10:
本发明提供了一种自动化部署系统,参考图3,包括:
日志生成模块,用于基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程生成每个待部署任务的部署日志,获得部署日志集合;
日志筛选模块,用于基于所述部署日志和筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;
部署优化模块,用于对所述待分析部署日志集合进行共性分析,确定出可优化步骤,基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行所述待部署任务。
以上技术的有益效果为:在执行部署任务时,对记录执行待部署任务的过程的日志进行筛选和共性分析,可以确定出初始部署流程中的可优化步骤,并实现了对部署过程中部署失败的原因的定位分析,也实现了在部署过程中不断优化学习,提高了自动化部署的效率,减少了由于部署失败而产生的大量冗余文件。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种自动化部署方法,其特征在于,包括:
S1:基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合;
S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;
S3:对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务;
对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息,包括:
在所述待分析部署日志中确定出每次部署测试过程对应的子部署日志,将所述待分析部署日志中包含的所有子部署日志汇总,获得子部署日志集合;
将所述子部署日志转换成对应的子部署线程,并将所述子部署线程中包含的每个执行步骤获得的执行结果标记于所述子部署线程中,获得标记线程;
将所有子部署日志对应的标记线程中包含的相同执行步骤进行对齐,获得对齐标记线程;
将所述对齐标记线程中包含的第一个执行步骤对应的执行结果相同的第一标记线程划分为同一集合,获得至少一个第一划分线程集合,将所述第一划分线程集合中包含的第二个执行步骤对应的执行结果相同的第二标记线程划分为同一集合,获得至少一个第二划分线程集合,对所述第二划分线程集合继续进行划分,直至判断完所有执行步骤的执行结果后,获得每次划分过程对应的划分结果;
基于每次划分过程的划分结果确定出划分递进关系,基于所述划分递进关系构建出对应的划分框架树,确定出所述划分框架树中每层划分结果中包含的相同执行结果集合,确定出所述相同执行结果集合中包含的每个执行结果对应的标记线程中在对应执行步骤之前的第一子线程,获得所述划分框架树每层的第一子线程集合;
在所述第一子线程集合中包含的每个第一子线程对应的第一部分日志信息中提取出每个追溯原因的第一相关信息,对每个追溯原因对应的第一相关信息进行共性提取,获得每个追溯原因对应的共性特征信息;
确定出每层划分结果中包含的除所述相同执行结果集合以外剩余的执行结果对应的第二子线程,提取出所述第二子线程对应的第二部分日志信息中包含的对应追溯原因的第二相关信息,将所述第二相关信息和对应追溯原因的共性特征信息进行匹配,获得对应追溯原因的匹配度,将最小匹配度对应的追溯原因作为所述第二子线程对应的标记线程在所述划分框架树中对应层的部署失败原因;
将所述标记线程中包含的每个部署失败原因和对应执行步骤关联,获得原因关联结果,基于所述原因关联结果确定出所述初始部署流程中的可优化步骤和优化信息。
2.根据权利要求1所述的自动化部署方法,其特征在于,S1:基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程,并生成每个待部署任务的部署日志,获得部署日志集合,包括:
S101:基于用户的部署请求生成部署任务列表;
S102:基于所述部署任务列表和初始部署流程,执行所述部署任务列表中包含的待部署任务;
S103:记录每个待部署任务的部署过程生成每个待部署任务的部署日志;
S104:当部署日志的个数不小于可分析阈值时,则将当前生成的所有部署日志汇总获得部署日志集合。
3.根据权利要求2所述的自动化部署方法,其特征在于,S102:基于所述部署任务列表和初始部署流程,执行所述部署任务列表中包含的待部署任务,包括:
基于所述部署任务列表中包含的待部署任务在预设软件库中调取待部署源代码;
对所述待部署源代码进行编译生成待部署编译文件;
基于所述待部署任务确定出待部署主机和依赖环境,基于所述待部署主机和所述依赖环境生成待部署配置文件;
将所述待部署编译文件和所述待部署配置文件打包生成待部署文件;
基于所述待部署文件执行所述部署任务列表中包含的待部署任务,同时,接收用户输入的实时修改指令。
4.根据权利要求3所述的自动化部署方法,其特征在于,基于所述待部署主机和所述依赖环境生成待部署配置文件,包括:
基于所述待部署主机和所述依赖环境在配置模板库中匹配出待配置模板,并设置所述配置模板的配置参数;
基于参数设置后的待部署模板生成待部署配置文件。
5.根据权利要求3所述的自动化部署方法,其特征在于,基于所述待部署文件执行所述部署任务列表中包含的待部署任务,包括:
将所述待部署文件解压至所述待部署主机的目标目录,判断所述目标目录中包含的文件是否存在所述待部署文件对应的待部署软件的历史部署文件;
若是,则基于所述待部署文件中包含的待部署子文件中的文件属性确定出对应待部署子文件的第一关键字符串列表,基于所述第一关键字符串列表确定出所述待部署文件中的第一关键字符串;
确定出所述第一关键字符串的内码,基于所述待部署子文件中包含的所有第一关键字符串的内码计算出内码复杂度表征值,基于所述内码复杂度表征值确定出对应待部署子文件的第一表征值函数构造方法;
确定出所述第一关键字符串在对应待部署子文件中的行序数,基于所述第一表征值函数构造方法和所述第一关键字符串的行序数确定出对应第一关键字符串的第一表征值;
将所述待部署子文件中相邻第一关键字符串之间包含的所有字符串排序并划分为所述相邻第一关键字符串中较前第一关键字符串的字符串序列,并将所述待部署子文件中包含的最后一个第一关键字符串之后的所有字符串划分为最后一个第一关键字符串的字符串序列;
基于所述第一表征值函数构造方法确定出所述字符串序列中每个字符串的第二表征值,获得第二表征值序列;
基于第一表征值对第一关键字符串进行排序,获得第一关键字符串序列,将所述第一关键字符串对应的第二表征值序列作为所述第一关键字符串的行数据,基于所述第一关键字符串序列将对应第一关键字符串的行数据进行排序,获得所述待部署子文件的待部署表征矩阵;
确定出所述历史部署文件中历史部署子文件的历史部署表征矩阵,确定出所述历史部署表征矩阵和所述待部署表征矩阵之间的差异矩阵,基于所述差异矩阵中的差异数据对所述待部署表征矩阵进行字符串反向定位,获得差异定位结果,对所述差异定位结果对应的差异字符段和所述差异矩阵中的差异数据进行关联存储,获得存储结果,基于所述存储结果在所述目标目录中进行部署测试;
当所述目标目录中包含的文件中不存在所述待部署文件对应的待部署软件的历史部署文件时,则基于所述待部署文件在所述目标目录中进行部署测试;
当所述部署测试通过时,则判定对应待部署任务部署完成,否则,基于所述待部署任务的源代码进行重新部署。
6.根据权利要求1所述的自动化部署方法,其特征在于,S2:基于预设筛选条件,在所述部署日志集合中筛选出待分析部署日志集合,包括:
在所述部署日志集合中筛选出初次部署测试未通过或接收到用户输入的实时修改指令的待分析部署日志;
将所有待分析部署日志汇总获得待分析部署日志集合。
7.根据权利要求1所述的自动化部署方法,其特征在于,对所述待分析部署日志集合进行共性分析,确定可优化步骤;基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,包括:
对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息;
基于所述可优化步骤和所述优化信息对所述初始部署流程进行优化,获得优化部署流程;
将所述初始部署流程更新为所述优化部署流程;
基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务。
8.根据权利要求7所述的自动化部署方法,其特征在于,基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,包括:
基于更新后的初始部署流程继续执行部署任务列表中包含的剩余部署任务,获得新的部署日志集合;
在新的部署日志集合中筛选出新的待分析部署日志集合;
对新的待分析部署日志集合进行共性分析,确定出新的可优化步骤,基于所述可优化步骤继续优化最新的初始部署流程,直至执行完所述待部署任务。
9.一种自动化部署系统,其特征在于,包括:
日志生成模块,用于基于用户的部署请求和初始部署流程执行待部署任务,记录每个待部署任务的部署过程生成每个待部署任务的部署日志,获得部署日志集合;
日志筛选模块,用于基于所述部署日志和筛选条件,在所述部署日志集合中筛选出待分析部署日志集合;
部署优化模块,用于对所述待分析部署日志集合进行共性分析,确定出可优化步骤,基于所述可优化步骤更新所述初始部署流程,基于更新后的初始部署流程继续执行所述待部署任务;
对所述待分析部署日志集合进行共性分析,确定出可优化步骤和优化信息,包括:
在所述待分析部署日志中确定出每次部署测试过程对应的子部署日志,将所述待分析部署日志中包含的所有子部署日志汇总,获得子部署日志集合;
将所述子部署日志转换成对应的子部署线程,并将所述子部署线程中包含的每个执行步骤获得的执行结果标记于所述子部署线程中,获得标记线程;
将所有子部署日志对应的标记线程中包含的相同执行步骤进行对齐,获得对齐标记线程;
将所述对齐标记线程中包含的第一个执行步骤对应的执行结果相同的第一标记线程划分为同一集合,获得至少一个第一划分线程集合,将所述第一划分线程集合中包含的第二个执行步骤对应的执行结果相同的第二标记线程划分为同一集合,获得至少一个第二划分线程集合,对所述第二划分线程集合继续进行划分,直至判断完所有执行步骤的执行结果后,获得每次划分过程对应的划分结果;
基于每次划分过程的划分结果确定出划分递进关系,基于所述划分递进关系构建出对应的划分框架树,确定出所述划分框架树中每层划分结果中包含的相同执行结果集合,确定出所述相同执行结果集合中包含的每个执行结果对应的标记线程中在对应执行步骤之前的第一子线程,获得所述划分框架树每层的第一子线程集合;
在所述第一子线程集合中包含的每个第一子线程对应的第一部分日志信息中提取出每个追溯原因的第一相关信息,对每个追溯原因对应的第一相关信息进行共性提取,获得每个追溯原因对应的共性特征信息;
确定出每层划分结果中包含的除所述相同执行结果集合以外剩余的执行结果对应的第二子线程,提取出所述第二子线程对应的第二部分日志信息中包含的对应追溯原因的第二相关信息,将所述第二相关信息和对应追溯原因的共性特征信息进行匹配,获得对应追溯原因的匹配度,将最小匹配度对应的追溯原因作为所述第二子线程对应的标记线程在所述划分框架树中对应层的部署失败原因;
将所述标记线程中包含的每个部署失败原因和对应执行步骤关联,获得原因关联结果,基于所述原因关联结果确定出所述初始部署流程中的可优化步骤和优化信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210801863.3A CN115373699B (zh) | 2022-07-07 | 2022-07-07 | 自动化部署方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210801863.3A CN115373699B (zh) | 2022-07-07 | 2022-07-07 | 自动化部署方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115373699A CN115373699A (zh) | 2022-11-22 |
CN115373699B true CN115373699B (zh) | 2023-03-31 |
Family
ID=84061641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210801863.3A Active CN115373699B (zh) | 2022-07-07 | 2022-07-07 | 自动化部署方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373699B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578300B (zh) * | 2023-07-13 | 2023-11-10 | 江西云眼视界科技股份有限公司 | 一种基于可视化组件的应用创建方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073400A (zh) * | 2017-12-07 | 2018-05-25 | 湖北三新文化传媒有限公司 | 软件自动化构建方法、服务器及存储介质 |
CN108153532A (zh) * | 2017-12-26 | 2018-06-12 | 江苏润和软件股份有限公司 | 一种基于日志挖掘的云应用部署方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902590B (zh) * | 2012-09-03 | 2014-12-10 | 南京师范大学 | 面向并行数字地形分析海量dem部署与调度方法 |
US9680708B2 (en) * | 2014-03-14 | 2017-06-13 | Veritas Technologies | Method and apparatus for cloud resource delivery |
CN104007994B (zh) * | 2014-06-11 | 2015-04-01 | 焦点科技股份有限公司 | 一种基于策略库交互的更新方法、升级方法与升级系统 |
US10831463B2 (en) * | 2017-03-08 | 2020-11-10 | International Business Machines Corporation | Intelligent software deployment on an IaaS platform |
US10606573B2 (en) * | 2017-06-07 | 2020-03-31 | Syntel, Inc. | System and method for computer language migration using a re-architecture tool for decomposing a legacy system and recomposing a modernized system |
CN109756364B (zh) * | 2018-12-07 | 2021-12-14 | 成都四方伟业软件股份有限公司 | 一种基于日志分析的微服务性能优化系统和分析方法 |
CN112181443B (zh) * | 2019-07-01 | 2023-04-07 | 中国移动通信集团浙江有限公司 | 服务的自动化部署方法、装置及电子设备 |
-
2022
- 2022-07-07 CN CN202210801863.3A patent/CN115373699B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073400A (zh) * | 2017-12-07 | 2018-05-25 | 湖北三新文化传媒有限公司 | 软件自动化构建方法、服务器及存储介质 |
CN108153532A (zh) * | 2017-12-26 | 2018-06-12 | 江苏润和软件股份有限公司 | 一种基于日志挖掘的云应用部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115373699A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675691B2 (en) | System and method for performing automated API tests | |
US20160019049A1 (en) | System and method for resilient automation upgrade | |
US8898635B2 (en) | System and method for automatic impact variable analysis and field expansion in mainframe systems | |
CN112882751B (zh) | Cuda程序移植方法、装置、电子设备及存储介质 | |
CN114385491B (zh) | 一种基于深度学习的js转译器缺陷检测方法 | |
CN115373699B (zh) | 自动化部署方法和系统 | |
Peter et al. | Sisyphus, a workflow manager designed for machine translation and automatic speech recognition | |
CN113553309B (zh) | 一种日志模板的确定方法、装置、电子设备及存储介质 | |
CN119440539A (zh) | 一种工业软件代码的多轮推理与反馈优化方法及系统 | |
CN118963772A (zh) | 一种代码编译检测方法及自动编译平台 | |
CN118151941A (zh) | 电力物联操作系统的编译优化方法、装置、设备和介质 | |
US20230418792A1 (en) | Method to track and clone data artifacts associated with distributed data processing pipelines | |
CN117348907A (zh) | 系统总线的固件升级方法、装置、设备及存储介质 | |
CN117493169A (zh) | 一种Java依赖库版本间API行为不兼容性检测方法、装置、设备及介质 | |
US20240249195A1 (en) | System and method of providing correction assistance on machine learning workflow predictions | |
CN118897668B (zh) | 一种公共代码库管理方法、系统、设备及介质 | |
CN114610320B (zh) | 一种基于llvm的变量类型信息修复与比较方法及系统 | |
US20240427692A1 (en) | Graphical Neural Network for Error Identification | |
Shetty | X-MAP: A Performance Prediction Tool for Porting Algorithms and Applications to Accelerators | |
CN119829448A (zh) | 基于环境虚拟化和分布式行为仿真驱动的代码测试方法 | |
Dai et al. | Autoperf: Workflow support for performance experiments | |
CN119917409A (zh) | 接口的测试方法、系统、电子设备、存储介质和程序产品 | |
Dabić et al. | SEART Data Hub: Streamlining Large-Scale Source Code Mining and Pre-Processing | |
CN119621529A (zh) | 动态内存缺陷的检测方法、系统、设备、介质及程序产品 | |
CN120029904A (zh) | 面向多平台算子的兼容性自动测试方法及其系统 |
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 |