本技术涉及计算机,尤其涉及一种应用回滚方法、装置、电子设备及存储介质。
背景技术:
1、随着互联网的发展,在应用升级发布的过程中,如果新版本出现问题,常常需要回滚来降低新版本发布带来的影响。
2、目前,回滚时常常要面临多种选择,一是允许逐渐地用旧版本代替新版本,此时可以保障线上实例的整体数量,但是新版本下线时间慢;二是不要求整体实例数量,立即下线所有新版本;三是配合流量侧同步调度到没有问题的版本上(如:蓝绿发布,只要流量全部切回旧的没有问题的版本即可;再例如:灰度发布时,网关也需要分对应的比例流量到新的版本),在以上三种情况下回滚时,中间可能会有很多中间状态可以选择,以作为回滚的最终状态。
3、然而,由人工选择回滚至哪个状态,比如人工通过页面操作进行选择时,一旦回滚的最终状态选择错误,即回滚到问题较多的状态,可能会导致升级异常。
技术实现思路
1、为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种应用回滚方法、装置、电子设备及存储介质。
2、第一方面,本技术提供了一种应用回滚方法,包括:
3、获取所述应用在升级过程中针对每个中间状态记录的状态记录信息;
4、根据每个所述状态记录信息确定各所述中间状态对应的状态分数;
5、根据多个所述状态分数在多个中间状态中确定目标状态;
6、将所述应用回滚到所述目标状态。
7、可选地,根据每个所述状态记录信息确定各所述中间状态对应的状态分数,包括:
8、在每个所述状态记录信息中分别提取与所述中间状态的状态参数对应的参数数据,得到各所述中间状态对应的参数数据组,多个所述状态参数包括:为了升级至新版本从上一中间状态升级到当前中间状态增加的实例数量,为了删除旧版本从上一中间状态升级到当前中间状态减少的实例数量,从上一中间状态升级到当前中间状态成功完成的请求或操作的成功率,当前中间状态相对于升级前各状态参数的参数数据的最小差异情况和当前中间状态对应的响应时延;
9、基于各所述参数数据组及预设的状态分数计算公式,计算每个所述中间状态对应的状态分数。
10、可选地,基于各所述参数数据组及预设的状态分数计算公式,计算每个所述中间状态对应的状态分数,包括:
11、针对每个所述中间状态对应的所述参数数据组,获取每个所述状态参数对应的参数权重;
12、计算每个所述参数数据和与其对应的参数权重的乘积,得到每个所述状态参数所对应的参数分数;
13、计算多个所述状态参数所对应的参数分数的和,得到每个所述中间状态对应的状态分数。
14、可选地,所述方法还包括:
15、在所述状态记录信息中提取异常判定指标所对应的指标数据;
16、根据所述异常判定指标所对应的指标数据确定所述应用升级过程是否出现异常;
17、若所述应用升级过程出现异常,执行根据每个所述状态记录信息确定各所述中间状态对应的状态分数的步骤。
18、可选地,根据所述异常判定指标所对应的指标数据确定所述应用升级过程是否出现异常,包括:
19、获取每个所述异常判定指标所对应的参数范围;
20、针对每个异常判定指标,若所述异常判定指标所对应的指标数据位于对应的参数范围外,确定所述应用升级过程出现异常。
21、可选地,获取所述应用在升级过程中针对每个中间状态记录的状态记录信息,包括:
22、在每个中间状态对应的状态记录信息中提取成功率和响应时延;
23、根据所述成功率和所述响应时延确定新的信息获取周期;
24、在当前时刻之后,按照所述信息获取周期获取所述应用在升级过程中针对每个中间状态记录的状态记录信息。
25、可选地,根据所述成功率和所述响应时延确定新的信息获取周期,包括:
26、若连续预设数量个所述中间状态对应的所述成功率和所述响应时延均位于对应的参数范围内,则缩短原始信息获取周期,得到所述新的信息获取周期;
27、若连续预设数量个所述中间状态对应的所述成功率或者所述响应时延位于对应的参数范围外,则延长原始信息获取周期,得到所述新的信息获取周期。
28、第二方面,本技术提供了一种应用回滚装置,包括:
29、获取模块,用于获取所述应用在升级过程中针对每个中间状态记录的状态记录信息;
30、第一确定模块,用于根据每个所述状态记录信息确定各所述中间状态对应的状态分数;
31、第二确定模块,用于根据多个所述状态分数在多个中间状态中确定目标状态;
32、回滚模块,用于将所述应用回滚到所述目标状态。
33、可选地,所述第一确定模块包括:
34、第一提取单元,用于在每个所述状态记录信息中分别提取与所述中间状态的状态参数对应的参数数据,得到各所述中间状态对应的参数数据组,多个所述状态参数包括:为了升级至新版本从上一中间状态升级到当前中间状态增加的实例数量,为了删除旧版本从上一中间状态升级到当前中间状态减少的实例数量,从上一中间状态升级到当前中间状态成功完成的请求或操作的成功率,当前中间状态相对于升级前各状态参数的参数数据的最小差异情况和当前中间状态对应的响应时延;
35、第一计算单元,用于基于各所述参数数据组及预设的状态分数计算公式,计算每个所述中间状态对应的状态分数。
36、可选地,所述第一计算单元包括:
37、获取子单元,用于针对每个所述中间状态对应的所述参数数据组,获取每个所述状态参数对应的参数权重;
38、第一计算子单元,用于计算每个所述参数数据和与其对应的参数权重的乘积,得到每个所述状态参数所对应的参数分数;
39、第二计算子单元,用于计算多个所述状态参数所对应的参数分数的和,得到每个所述中间状态对应的状态分数。
40、可选地,所述装置还包括:
41、提取模块,用于在所述状态记录信息中提取异常判定指标所对应的指标数据;
42、第三确定模块,用于根据所述异常判定指标所对应的指标数据确定所述应用升级过程是否出现异常;
43、执行模块,用于若所述应用升级过程出现异常,执行根据每个所述状态记录信息确定各所述中间状态对应的状态分数的步骤。
44、可选地,所述第三确定模块包括:
45、第一获取单元,用于获取每个所述异常判定指标所对应的参数范围;
46、第一确定单元,用于针对每个异常判定指标,若所述异常判定指标所对应的指标数据位于对应的参数范围外,确定所述应用升级过程出现异常。
47、可选地,所述获取模块包括:
48、第一计算单元,用于在每个中间状态对应的状态记录信息中提取成功率和响应时延;
49、第二确定单元,用于根据所述成功率和所述响应时延确定新的信息获取周期;
50、第二获取单元,用于在当前时刻之后,按照所述信息获取周期获取所述应用在升级过程中针对每个中间状态记录的状态记录信息。
51、可选地,所述第二确定单元还用于:
52、若连续预设数量个所述中间状态对应的所述成功率和所述响应时延均位于对应的参数范围内,则缩短原始信息获取周期,得到所述新的信息获取周期;
53、若连续预设数量个所述中间状态对应的所述成功率或者所述响应时延位于对应的参数范围外,则延长原始信息获取周期,得到所述新的信息获取周期。
54、第三方面,本技术提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
55、存储器,用于存放计算机程序;
56、处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的应用回滚方法。
57、第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有应用回滚方法的程序,所述应用回滚方法的程序被处理器执行时实现第一方面任一所述的应用回滚方法的步骤。
58、本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
59、本技术实施例通过根据各升级过程中的中间状态对应的状态记录信息确定各中间状态对应的状态分数,并依据状态分数在多个中间状态中确定应用回滚的目标状态,并进行应用回滚,实现在升级出现异常时,系统可以自动做出最佳的回滚选择,快速地止损,也减少了人工介入可能带来的误操作情况,提高应用升级回滚的效率。
1.一种应用回滚方法,其特征在于,包括:
2.根据权利要求1所述的应用回滚方法,其特征在于,根据每个所述状态记录信息确定各所述中间状态对应的状态分数,包括:
3.根据权利要求2所述的应用回滚方法,其特征在于,基于各所述参数数据组及预设的状态分数计算公式,计算每个所述中间状态对应的状态分数,包括:
4.根据权利要求1所述的应用回滚方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的应用回滚方法,其特征在于,根据所述异常判定指标所对应的指标数据确定所述应用升级过程是否出现异常,包括:
6.根据权利要求1所述的应用回滚方法,其特征在于,获取所述应用在升级过程中针对每个中间状态记录的状态记录信息,包括:
7.根据权利要求6所述的应用回滚方法,其特征在于,根据所述成功率和所述响应时延确定新的信息获取周期,包括:
8.一种应用回滚装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有应用回滚方法的程序,所述应用回滚方法的程序被处理器执行时实现权利要求1-7任一所述的应用回滚方法的步骤。