一种版本回退方法、系统、介质和电子设备技术方案

技术编号:35282473 阅读:12 留言:0更新日期:2022-10-22 12:25
本发明专利技术涉及计算机技术领域,具体涉及一种版本回退方法、系统、介质和电子设备;所述方法包括构建记录模块;所述构建记录模块记录构建历史及关联的构建版本文件包;在发布的过程中识别版本是否稳定并进行标记,在回退时通过查询稳定版本记录设置回退操作,并执行操作映射稳定版本;本发明专利技术解决了系统中存在非代码文件上线回退过程中重复构建发布问题,减少了构建发布次数,缩短了用户访问故障系统的时间,提升了用户体验度。升了用户体验度。升了用户体验度。

【技术实现步骤摘要】
一种版本回退方法、系统、介质和电子设备


[0001]本专利技术涉及计算机
,具体涉及一种版本回退方法、系统、介质和电子设备。

技术介绍

[0002]正常开发模式下,一个完整的系统上线需要无数次迭代开发、验证和上线的操作,特别是系统的前端部分在整个系统的应用中是离用户最近的一环,其变化也是最容易被用户感知的,因此整个上线的流程就显得非常重要。传统的构建和发布方法是:每一次上线都会从指定分支上拉取代码、构建、发布,遇到问题回滚时重复上述操作。
[0003]然而随着线上数据的日趋多元化和各种不确定性因素的存在,在最后的生产环节依然会出现各种各样的问题。传统的做法是一边到其他环境(开发环境)中紧急修复bug,一方面赶紧回滚刚刚发布的代码,通常做法是找到上一次发布的分支,再一次构建、发布、重启。随着项目规模的增大,构建的时间也越来越久,用户在新一轮构建完成之前访问的是故障系统,影响用户体验。
[0004]参照图1,传统的发布(上线)方法即:(1)在不同的环境进行开发、测试工作;(2)模拟一个生产环境试运行;(3)投入到正式环境使用;(4)如有问题,一边重复前三个步骤,一边选择一个稳定版本重新构建、发布。
[0005]对于可以通过git、svn管理的代码文件来说,每次发布只需要通过构建发布工具进行操作,大部分都是自动化的方式,简单易操作。但是对于集成类项目,有些文件无法通过代码管理工具进行管理,需要其他非自动化方式操作,每一次的构建流程就会变得复杂,易出错。
[0006]对于规模较大的项目,回退过程中构建和发布的过程耗时久,效率低。
[0007]系统回退过程需要重新构建发布,在此过程中用户会访问到故障系统,用户体验度不高。

技术实现思路

[0008]本专利技术所要解决的技术问题是:提供一种减少系统上线文件回退过程中重复构建发布问题,减少在系统回退过程中用户访问故障系统的时间,提升用户体验度的版本回退方法、系统、介质和电子设备。
[0009]为了解决上述技术问题,本专利技术采用的第一种技术方案为:
[0010]一种版本回退方法,包括构建记录模块;
[0011]所述构建记录模块记录构建历史及关联的构建版本文件包;
[0012]在发布的过程中识别版本是否稳定并进行标记,在回退时通过查询稳定版本记录设置回退操作,并执行操作映射稳定版本。
[0013]优选的,所述构建记录模块包括key值生成器和key值存储器;
[0014]所述key值生成器在每一次构建成功时生成一个key值,key值与构建文件包名存
在映射关系。key值为一次成功构建结果的记录。
[0015]所述查询时选择key值存储器内稳定版本的key值。
[0016]优选的,所述key值存储器内包含与key值关联的状态关系,所述状态关系包括status值、time值以及stable值;
[0017]所述status值代表当前key值所映射的文件版本是否为当前用户访问的文件版本,1代表



,0代表




[0018]所述time值为文件包构建的时间;
[0019]所述stable值表示当前版本是否为稳定版本。
[0020]优选的,所述key值与状态关系生成keyDB表格;
[0021]所述构建的状态关系在该表中进行更新、维护。
[0022]优选的,若构建失败或者发布失败则不生成key值。
[0023]优选的,所述设置回退操作包括:
[0024]当出现不稳定版本,需要回退,同时备份当前版本;
[0025]根据keyDB查询稳定版本;
[0026]在应用包仓库中定位稳定版本;
[0027]激活稳定版本,使其成为网关映射版本。
[0028]优选的,所述“识别版本是否稳定并进行标记”,其中识别版本过程为人为识别。
[0029]为了解决上述技术问题,本专利技术采用的第二种技术方案为:
[0030]一种版本回退系统,包括
[0031]存储器,用于存储一个或多个程序;
[0032]处理器;
[0033]当所述一个或多个程序被所述处理器执行时,实现如上述任意一项所述的版本回退方法。
[0034]为了解决上述技术问题,本专利技术采用的第三种技术方案为:
[0035]一种介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的版本回退方法。
[0036]为了解决上述技术问题,本专利技术采用的第四种技术方案为:
[0037]一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述版本回退方法。
[0038]本专利技术的有益效果在于:本申请相比传统构建发布方法,本专利技术解决了系统中存在非代码文件上线回退过程中重复构建发布问题,减少了构建发布次数,缩短了用户访问故障系统的时间,提升了用户体验度。
附图说明
[0039]图1为现有技术代码发布方法;
[0040]图2为本专利技术具体实施方式的一种版本回退方法。
具体实施方式
[0041]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附
图予以说明。
[0042]本专利技术在每一次构建、发布产生一个新的版本时,根据运行稳定与否,可以去判定该版本是否为稳定版本,而且每一次构建的历史文件都会被保存下来,根据失效方法进行失效操作。根据这一特点,在每一次上线遇到问题时,可以利用历史构建记录来实现系统的快速回滚,而不再进行重复的构建发布过程。
[0043]本申请基于指针戳的系统无痕版本回退方法,是在现有系统构建发布基础上改进而来,主要通过钩子机制,记录每次构建历史及关联的构建版本文件包,在发布的过程中人为识别版本是否稳定并进行标记,最终在需要回退的时候通过查询稳定版本记录来设置回退操作。
[0044]每一次构建及发布的历史文件都会被保存在历史记录中,在所有的构建发布记录中,永远只有一个构建生成的文档为当前激活的文档,即用户可见的版本。对于外部请求,网关(nginx)永远指向被激活的文件,也就是当前最新一次被构建的文件,文件夹目录不变,但文件的内容随每次构建和发布过程变化。新的回退方法基于旧的发布基础改进而来,改进过程如图2所示。
[0045]新的构建发布策略添加了构建记录模块,该模块包括两个部分:一是key值生成器,二是key值存储器。在每一次构建的时候为每一个构建包生成一个key值,该值被存放在数据表中,每一个key与构建后生成的包相互关联,这样在回滚的时候,不需要重新构建,只需要根据key值的存储表即可找到上一次稳定版本的构建记录,通过设置的操作实现重新发布操作即可。
[0046]在设置操作中需要用户选择回滚的版本,执行发布操作,使得nginx指向的为历本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种版本回退方法,其特征在于,包括构建记录模块;所述构建记录模块记录构建历史及关联的构建版本文件包;在发布的过程中识别版本是否稳定并进行标记,在回退时通过查询稳定版本记录设置回退操作,映射稳定版本。2.根据权利要求1所述的版本回退方法,其特征在于,所述构建记录模块包括key值生成器和key值存储器;所述key值生成器在每一次构建成功时生成一个key值,所述key值与构建文件包名存在映射关系;所述查询时选择key值存储器内稳定版本的key值。3.根据权利要求2所述的版本回退方法,其特征在于,所述key值存储器内包含与key值关联的状态关系,所述状态关系包括status值、time值以及stable值;所述status值代表当前key值所映射的文件版本是否为当前用户访问的文件版本;所述time值为文件包构建的时间;所述stable值表示当前版本是否为稳定版本。4.根据权利要求3所述的版本回退方法,其特征在于,所述key值与状态关系生成keyDB表格;所述构建的状态关系在该表中进行更新、维护。5.根据权利要求4所述的版本回退方法,其特征在于,若...

【专利技术属性】
技术研发人员:郑彩云
申请(专利权)人:中国人寿资产管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1