一种灰度发布方法、装置、电子设备及存储介质与流程

文档序号:35971949发布日期:2023-11-09 12:56阅读:27来源:国知局
一种灰度发布方法、装置、电子设备及存储介质与流程

本技术实施例涉及计算机,尤其涉及一种灰度发布方法、装置、电子设备及存储介质。


背景技术:

1、近年来,随着网络技术的快速发展,基于互联网实现的业务服务越来越多,为了更好向对象提供服务,与这些业务服务相关的应用软件通常需要不停的升级更新。然而,应用软件的每一次的版本发布,都会影响到大量对象的使用,导致无法满足对象的实际需求,因此,通常采用灰度发布的方式进行应用软件版本的发布。灰度发布是在黑与白之间能够平滑过渡的一种发布方式,即:在一部分对象继续使用应用软件旧版本a的同时,另一部分对象开始使用升级后的新版本b,若对象对新版本无反对意见,则逐步扩大新版本b的使用范围,直到所有对象都使用新版本b,从而实现应用软件版本的全部更新。

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、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1