System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于软件测试,更具体地,本专利技术涉及一种基于深度强化学习的全链路灰度发布方法。
技术介绍
1、在互联网金融时代,金融产品和服务模式不断创新,金融服务应用软件需求急剧增长、变化不断加快、版本急速迭代,这就导致整个系统日趋复杂,另一方面系统的研发时间一再压缩,产品质量、用户体验越来越难以保障。建设灰度发布能力,是解决这一日益激化矛盾的方式之一。
2、灰度发布是一种用于软件开发和部署技术,可以在不影响正常用户的情况下,将新的软件版本逐步推送给一小部分用户进行测试和评估。通过灰度发布可以在新版本软件规模上线前发现并解决问题,以减少线上故障,提高软件质量和稳定性。首先,新版本软件系统发布可能会出现未知的错误、性能问题或不兼容性,灰度发布只影响一小部分用户,降低了问题对整个系统的影响。其次,灰度发布中逐步引入新版本,允许开发团队在每个阶段都有时间观察系统的行为,并在问题出现时迅速做出调整,从而提高整体稳定性和可靠性。再次,灰度发布能力可通过逐步推出新功能或变更,使用户有时间适应并提供反馈,有助于开发团队更好地了解用户对新功能的反应,以便根据反馈进行改进。最后,如果在灰度发布过程中发现了严重问题,可以相对容易地回滚到旧版本以避免影响大多数用户,同时可以在发布过程中实施紧急修复而不必中断整个系统。
3、随着软件系统规模不断扩大、复杂度不断增加,全链路灰度发布逐渐引起产业界的关注。全链路灰度发布不仅仅关注单个应用程序的灰度发布,而是将整个系统链路中的所有组件和服务都纳入考虑范围,从而确保新版本应用程序包括多个层
4、全链路灰度发布需要部署多个版本的服务,对每个服务进行实时监控和评估,根据监控数据的分析结果,决策是否需要准确、及时的调整其灰度比例。当前,全链路灰度发布技术主要采用人工调整灰度比例的方法,当操作人员发现服务的新版本表现良好,可以逐步增加灰度比例以最终实现新版本服务完全替代现有版本服务,相反则通过回滚操作降低灰度比例或暂停灰度发布。面向批处理应用发布任务,采用人工调整灰度比例的全链路灰度发布方法存在以下问题:
5、操作人员需要面向众多执行不同任务的服务实时分析各服务的运行状态,因而要求具有较深入且广泛的专业知识进行故障的检测与根因诊断,对操作人员要求较高且易于遗漏故障。
技术实现思路
1、本专利技术提供一种基于深度强化学习的全链路灰度发布方法,旨在改善上述问题。
2、本专利技术是这样实现的,一种基于深度强化学习的全链路灰度发布方法,其特征在于,所述方法包括如下步骤:
3、将各个服务当前的运行状态mt输入对应服务的决策模型,格决策模型决策出对应服务最大收益的灰度调整动作at;
4、评价模型监测灰度调整动作执行后的服务运行状态mt+1,基于服务运行状态mt+1对应的收益更新评价模型、决策模型的神经网络参数。
5、进一步的,第i个服务在第t个灰度调整周期执行灰度调整动作所得到的收益的计算公式具体如下:
6、
7、其中,为资源使用量下降的成本收益、为性能提升的收益、为可靠性提升的收益,wper、wrsc和wreb分别表示收益收益和收益的权重。
8、进一步的,资源指标包括求处理所需的计算资源rc1、请求处理所需的缓存资源rc2、请求处理所需的持久化资源rc3、请求处理所需的网络资源使用量rc4,收益的计算公式具体如下:
9、
10、其中,pj表示单位监测指标j所获得的单位收益,表示第i个服务在第t个灰度调整周期执行灰度调整动作后监测指标j的变化率,
11、进一步的,性能指标包括处理请求所需的时间rc5以及服务单位时间处理请求的数量rc6,性能提升的收益
12、其中,表示处理请求所需要的时间rc5产生的收益,表示服务单位时间处理请求的数量rc6产生的收益,
13、进一步的,可靠性指标包括任务失败率rc7以及服务可用率rc8,可靠性提升的收益
14、其中,表示任务执行的失败率rc7产生的收益,表示服务可用率rc8产生的收益,
15、进一步的,监测指标j的变化率计算公式具体如下:
16、
17、其中,分别为第i个服务的监测指标j在灰度调整动作前、后的指标值。
18、进一步的,每个服务对应一个决策模型,决策模型为:
19、
20、其中,μ(rcj)第j个监测指标rcj的均值,σ(rcj)为第j个监测指标rcj的标准差,β为模型系数。
21、将服务当前的运行状态m={rc1,rc2,...,rcj,...,rc8}输入对应的决策模型,策模型决策对应服务的灰度调整动作a。
22、进一步的,为每个服务的决策模型创建相应的评价模型,用于评价对应决策模型的优劣;
23、将构成灰度发布的n个服务的新旧实例的运行状态{m1,m2,...,mj,...,mn}、对应的灰度调整动作{a1,a2,...,ai,...,an},以及相应动作所产生的收益值{r1,r2,...,ri,...,rn}构建成样本,分别用来训练n个服务的评价模型。
24、进一步的,基于评价模型的输出优化调整决策模型的深度神经网络参数,决策模型及评价模型的更新过程具体如下:
25、1)监测当前的运行状态mt;
26、2)根据决策模型随机选择灰度调整动作at,灰度调整动作at执行,转换为新的运行状态mt+1;
27、3)计算运行状态mt+1下的收益rt+1,根据概率模型at~π(·|mt;θt)通过采样随机产生动作at,得到状态转换序列(mt,at,rt+1,mt+1);
28、4)根据状态转换序列(mt,at,rt+1,mt+1),使用深度确定性策略梯度算法更新决策模型及评价模型。
29、本专利技术针对向多样化的复杂批处理应用发布任务,提出一种基于深度强化学习的动态自适应批处理全链路灰度发布方法,改善了现有技术无法满足差异化批处理全链路灰度发布任务需求的技术问题,达到无需人工参与和专业知识,能够在运行时根据对灰度发布任务运行状态的自动评估,自适应动态调整全链路灰度发布动作,从而提升批处理全链路灰度发布任务的执行效率与可靠性。
本文档来自技高网...【技术保护点】
1.一种基于深度强化学习的全链路灰度发布方法,其特征在于,所述方法包括如下步骤:
2.如权利要求1所述基于深度强化学习的全链路灰度发布方法,其特征在于,第i个服务在第t个灰度调整周期执行灰度调整动作所得到的收益rti的计算公式具体如下:
3.如权利要求2所述基于深度强化学习的全链路灰度发布方法,其特征在于,资源指标包括求处理所需的计算资源rc1、请求处理所需的缓存资源rc2、请求处理所需的持久化资源rc3、请求处理所需的网络资源使用量rc4,收益的计算公式具体如下:
4.如权利要求2所述基于深度强化学习的全链路灰度发布方法,其特征在于,性能指标包括处理请求所需的时间rc5以及服务单位时间处理请求的数量rc6,性能提升的收益
5.如权利要求2所述基于深度强化学习的全链路灰度发布方法,其特征在于,可靠性指标包括任务失败率rc7以及服务可用率rc8,可靠性提升的收益
6.如权利要求3至5任一项所述基于深度强化学习的全链路灰度发布方法,其特征在于,监测指标j的变化率计算公式具体如下:
7.如权利要求1所述基于深度强化
8.如权利要求1所述基于深度强化学习的全链路灰度发布方法,其特征在于,为每个服务的决策模型创建相应的评价模型,用于评价对应决策模型的优劣;
9.如权利要求1所述基于深度强化学习的全链路灰度发布方法,其特征在于,决策模型及评价模型的更新过程具体如下:
...【技术特征摘要】
1.一种基于深度强化学习的全链路灰度发布方法,其特征在于,所述方法包括如下步骤:
2.如权利要求1所述基于深度强化学习的全链路灰度发布方法,其特征在于,第i个服务在第t个灰度调整周期执行灰度调整动作所得到的收益rti的计算公式具体如下:
3.如权利要求2所述基于深度强化学习的全链路灰度发布方法,其特征在于,资源指标包括求处理所需的计算资源rc1、请求处理所需的缓存资源rc2、请求处理所需的持久化资源rc3、请求处理所需的网络资源使用量rc4,收益的计算公式具体如下:
4.如权利要求2所述基于深度强化学习的全链路灰度发布方法,其特征在于,性能指标包括处理请求所需的时间rc5以及服务单位时间处理请求的数量rc6,性能提升的收益
【专利技术属性】
技术研发人员:王延松,张磊,黄转转,李明,芮阳阳,
申请(专利权)人:奇瑞徽银汽车金融股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。