一种灰度发布方法、装置、系统、电子设备及存储介质制造方法及图纸

技术编号:35021708 阅读:20 留言:0更新日期:2022-09-24 22:51
本公开关于一种灰度发布方法、装置、系统、电子设备及存储介质,该方法应用于灰度发布系统,该方法包括:发布管理子系统生成第一基础库和第二基础库,并向灰度发布子系统发送添加灰度发布任务请求;灰度发布子系统发送更新编译依赖请求;编译依赖管理子系统生成不同基础库对应的编译依赖版本关系,基于基础库使用账户对应的账户类型,确定基础库使用账户对应的目标编译依赖版本关系,并向基础库使用账户发送目标编译依赖版本关系;发布管理子系统向基础库使用账户发送目标编译依赖版本关系对应的基础库。实现了智能地对基础库进行灰度发布,保证基础库使用账户可以尽快地使用到新版本基础库的情况下,也能保证基础库发布的稳定性。性。性。

【技术实现步骤摘要】
一种灰度发布方法、装置、系统、电子设备及存储介质


[0001]本申请涉及计算机应用
,特别是涉及一种灰度发布方法、装置、系统、电子设备及存储介质。

技术介绍

[0002]基础库用于处理数据绑定、组件系统、事件系统、通信系统等一系列框架逻辑,以使得程序有序运行。基础库通常由基础架构团队进行维护,且这些基础库是提供给业务团队来使用的。当基础架构团队对基础库进行版本更新后,需要将更新版本后的基础库发布出去以供业务团队使用。
[0003]相关技术中,为了对更新版本后的基础库进行推广,基础架构团队直接强制业务团队一直使用更新版本后的基础库。一旦更新版本后的基础库出现问题,将会影响业务团队中的大量用户。而且需要回滚更新版本后的基础库,还要推动用户重新编译老版本的基础库来重新上线,大大降低了用户体验。

技术实现思路

[0004]为了解决相关技术中存在的技术问题,本公开实施例提供一种灰度发布方法、装置、系统、电子设备及存储介质,本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供了一种灰度发布方法,应用于灰度发布系统,所述灰度发布系统包括发布管理子系统,灰度发布子系统和编译依赖管理子系统,所述方法包括:
[0006]在所述发布管理子系统接收到基础库发布账户的基础库灰度发布指令时,生成第一基础库和第二基础库,并向所述灰度发布子系统发送添加灰度发布任务请求;所述第二基础库为所述第一基础库更新版本后的基础库;
[0007]所述灰度发布子系统接收到添加灰度发布任务请求时,向所述编译依赖管理子系统发送更新编译依赖请求;
[0008]在所述编译依赖管理子系统接收到发送更新编译依赖请求时,生成所述第一基础库对应的第一编译依赖版本关系,以及所述第二基础库对应的第二编译依赖版本关系;所述第一编译依赖版本关系用于表征所述第一基础库所依赖的各个基础库的版本之间的关系,所述第二编译依赖版本关系用于表征所述第二基础库所依赖的各个基础库的版本之间的关系;
[0009]在所述编译依赖管理子系统接收到基础库使用账户的基础库编译请求时,基于所述基础库使用账户对应的账户类型,确定所述基础库使用账户对应的目标编译依赖版本关系;在所述账户类型为灰度账户时,所述目标基础库版本依赖关系为第一编译依赖版本关系,在所述账户类型为非灰度账户时,所述目标基础库版本依赖关系为第二编译依赖版本关系;
[0010]所述编译依赖管理子系统向所述基础库使用账户发送所述目标编译依赖版本关
系;
[0011]所述发布管理子系统向所述基础库使用账户发送目标编译依赖版本关系对应的基础库。
[0012]可选的,所述方法还包括:
[0013]所述编译依赖管理子系统获取所述基础库使用账户的账户名;
[0014]所述编译依赖管理子系统通过目标哈希算法确定所述账户名对应的第一哈希值;
[0015]所述编译依赖管理子系统对所述第一哈希值进行预设处理,得到所述账户名对应的第二哈希值;
[0016]所述编译依赖管理子系统将所述第二哈希值与第一灰度比例进行比较;
[0017]所述编译依赖管理子系统基于所述第二哈希值与所述第一灰度比例的大小关系,确定所述基础库使用账户的账户类型。
[0018]可选的,所述编译依赖管理子系统基于所述第二哈希值与所述第一灰度比例的大小关系,确定所述基础库使用账户的账户类型,包括:
[0019]在所述第二哈希值小于所述第一灰度比例时,所述编译依赖管理子系统确定所述基础库使用账户的账户类型为灰度账户;
[0020]在所述第二哈希值大于所述第一灰度比例时,所述编译依赖管理子系统确定所述基础库使用账户的账户类型为非灰度账户。
[0021]可选的,所述方法还包括:
[0022]在所述灰度发布子系统接收到所述基础库的灰度发布指令时,确定第二灰度比例,每隔预设时间间隔增加所述第二灰度比例;
[0023]在所述编译依赖管理子系统将所述第二哈希值与第一灰度比例进行比较之前,所述编译依赖管理子系统从所述灰度发布子系统获取第二灰度比例,并将所获取到的第二灰度比例确定为所述第一灰度比例。
[0024]可选的,所述方法还包括:
[0025]在所述基础库使用账户对基础库编译出现异常时,所述发布管理子系统生成编译基础库出现异常的异常信息;
[0026]所述发布管理子系统向所述基础库发布账户发送所述异常信息,并向所述灰度发布子系统发送停止灰度发布请求;
[0027]所述灰度发布子系统在接收到所述停止灰度发布请求时,停止对所述第二基础库进行灰度发布。
[0028]根据本公开实施例的第二方面,提供了一种灰度发布装置,应用于灰度发布系统,所述灰度发布系统包括发布管理子系统,灰度发布子系统和编译依赖管理子系统;所述发布管理子系统包括基础库生成模块和基础库发送模块,所述灰度发布子系统包括编译依赖更新请求发送模块,所述编译依赖管理子系统包括编译依赖版本关系生成模块、编译依赖版本关系确定模块和目标编译依赖版本关系发送模块:
[0029]所述基础库生成模块,被配置为执行在所述发布管理子系统接收到基础库发布账户的基础库灰度发布指令时,生成第一基础库和第二基础库,并向所述灰度发布子系统发送添加灰度发布任务请求;所述第二基础库为所述第一基础库更新版本后的基础库;
[0030]所述编译依赖更新请求发送模块,被配置为执行在所述灰度发布子系统接收到添
加灰度发布任务请求时,向所述编译依赖管理子系统发送更新编译依赖请求;
[0031]所述编译依赖版本关系生成模块,被配置为执行在所述编译依赖管理子系统接收到发送更新编译依赖请求时,生成所述第一基础库对应的第一编译依赖版本关系,以及所述第二基础库对应的第二编译依赖版本关系;所述第一编译依赖版本关系用于表征所述第一基础库所依赖的各个基础库的版本之间的关系,所述第二编译依赖版本关系用于表征所述第二基础库所依赖的各个基础库的版本之间的关系;
[0032]所述编译依赖版本关系确定模块,被配置为执行在所述编译依赖管理子系统接收到基础库使用账户的基础库编译请求时,基于所述基础库使用账户对应的账户类型,确定所述基础库使用账户对应的目标编译依赖版本关系;在所述账户类型为灰度账户时,所述目标基础库版本依赖关系为第一编译依赖版本关系,在所述账户类型为非灰度账户时,所述目标基础库版本依赖关系为第二编译依赖版本关系;
[0033]所述目标编译依赖版本关系发送模块,被配置为执行向所述基础库使用账户发送所述目标编译依赖版本关系;
[0034]所述基础库发送模块,被配置为执行向所述基础库使用账户发送目标编译依赖版本关系对应的基础库。
[0035]可选的,所述编译依赖管理子系统还包括账户名获取模块、第一哈希值确定模块、第二哈希值确定模块、数据比较模块和账户类型确定模块;
[0036]所述账户名获取模块,被配置为执行获取所述基础库使用账户的账户名;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种灰度发布方法,其特征在于,应用于灰度发布系统,所述灰度发布系统包括发布管理子系统,灰度发布子系统和编译依赖管理子系统,所述方法包括:在所述发布管理子系统接收到基础库发布账户的基础库灰度发布指令时,生成第一基础库和第二基础库,并向所述灰度发布子系统发送添加灰度发布任务请求;所述第二基础库为所述第一基础库更新版本后的基础库;所述灰度发布子系统接收到添加灰度发布任务请求时,向所述编译依赖管理子系统发送更新编译依赖请求;在所述编译依赖管理子系统接收到发送更新编译依赖请求时,生成所述第一基础库对应的第一编译依赖版本关系,以及所述第二基础库对应的第二编译依赖版本关系;所述第一编译依赖版本关系用于表征所述第一基础库所依赖的各个基础库的版本之间的关系,所述第二编译依赖版本关系用于表征所述第二基础库所依赖的各个基础库的版本之间的关系;在所述编译依赖管理子系统接收到基础库使用账户的基础库编译请求时,基于所述基础库使用账户对应的账户类型,确定所述基础库使用账户对应的目标编译依赖版本关系;在所述账户类型为灰度账户时,所述目标基础库版本依赖关系为第一编译依赖版本关系,在所述账户类型为非灰度账户时,所述目标基础库版本依赖关系为第二编译依赖版本关系;所述编译依赖管理子系统向所述基础库使用账户发送所述目标编译依赖版本关系;所述发布管理子系统向所述基础库使用账户发送目标编译依赖版本关系对应的基础库。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述编译依赖管理子系统获取所述基础库使用账户的账户名;所述编译依赖管理子系统通过目标哈希算法确定所述账户名对应的第一哈希值;所述编译依赖管理子系统对所述第一哈希值进行预设处理,得到所述账户名对应的第二哈希值;所述编译依赖管理子系统将所述第二哈希值与第一灰度比例进行比较;所述编译依赖管理子系统基于所述第二哈希值与所述第一灰度比例的大小关系,确定所述基础库使用账户的账户类型。3.根据权利要求2所述的方法,其特征在于,所述编译依赖管理子系统基于所述第二哈希值与所述第一灰度比例的大小关系,确定所述基础库使用账户的账户类型,包括:在所述第二哈希值小于所述第一灰度比例时,所述编译依赖管理子系统确定所述基础库使用账户的账户类型为灰度账户;在所述第二哈希值大于所述第一灰度比例时,所述编译依赖管理子系统确定所述基础库使用账户的账户类型为非灰度账户。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:在所述灰度发布子系统接收到所述基础库的灰度发布指令时,确定第二灰度比例,且每隔预设时间间隔增加所述第二灰度比例;在所述编译依赖管理子系统将所述第二哈希值与第一灰度比例进行比较之前,所述编译依赖管理子系统从所述灰度发布子系统获取第二灰度比例,并将所获取到的第二灰度比
例确定为所述第一灰度比例。5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:在所述基础库使用账户对基础库编译出现异常时,所述发布管理子系统生成编译基础库出现异常的异常信息;所述发布管理子系统向所述基础库发布账户发送所述异常信息,并向所述灰度发布子系统发送停止灰度发布请求;所述灰度发布子系统在接收到所述停止灰度发布请求时,停止对所述第二基础库进行灰度发布。6.一种灰度发布装置,其特征在于,应用于灰度发布系统,所述灰度发布系统包括发布管理子系统,灰度发布子系统和编译依赖管理子系统;所述发布管理子系统包括基础库生成模块和基础库发送模块,所述灰度发布子系统包括编译依赖更新请求发送模块,所述编译依赖管理子系统包括编译依赖版本关系生成模块、编译依赖版本关系确定模块和目...

【专利技术属性】
技术研发人员:陶善文
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1