代码持续交付方法及装置制造方法及图纸

技术编号:36905844 阅读:12 留言:0更新日期:2023-03-18 09:25
本发明专利技术提出了一种代码持续交付方法及装置,涉及分布式技术领域,该方法包括:根据主策略选取第一应用节点分组,当版本发布时间开始时,发送子策略到初始应用节点,从代码仓库中获取新版本代码,根据版本发布时间推送新版本代码到初始应用节点;在接收到用户的交易请求时,根据子策略分配运行新版本代码的初始交易量,按照初始交易量在初始应用节点上运行新版本代码,当交易成功率大于成功率阈值时,按照子策略递增运行新版本代码的交易量,直至交易请求全部使用新版本代码运行;在初始应用节点的新版本代码发布完成后,根据主策略递增在第一应用节点分组中选取的应用节点数量,按照以上步骤对选取的应用节点进行版本发布。上步骤对选取的应用节点进行版本发布。上步骤对选取的应用节点进行版本发布。

【技术实现步骤摘要】
代码持续交付方法及装置


[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]图1是本专利技术实施例中代码持续交付方法的流程示意图;
[0030]图2是本专利技术实施例中代码持续交付方法的具体实施例图一;
[0031]图3是本专利技术实施例中代码持续交付方法的具体实施例图二;
[0032]图4是本专利技术实施例中代码持续交付方法的具体实施例图三;
[0033]图5是本专利技术实施例中代码持续交付方法的具体实施例图四;
[0034]图6是本专利技术实施例中代码持续交付方法的具体实施例图五;
[0035]图7是本专利技术实施例中代码持续交付装置的示意图;
[0036]图8是本专利技术实施例中代码持续交付装置的具体实施例图一;
[0037]图9是本专利技术实施例中代码持续交付装置的具体实施例图二;
[0038]图10是本专利技术实施例中计算机设备的示意图。
具体实施方式
[0039]下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码持续交付方法,其特征在于,包括:当接收到用户发送的配置请求时,将用户配置的新版本代码提交到代码仓库中;将用户配置的新版本代码发布策略发送到版本发布策略集中;其中,所述新版本代码发布策略包括作用于持续交付控制平面的主策略和作用于应用节点的子策略;根据所述主策略选取第一应用节点分组,当所述主策略的版本发布时间开始时,按照主策略在所述第一应用节点分组中选取初始应用节点;读取所述版本发布策略集中的代码版本发布策略,发送所述子策略到所述初始应用节点;从所述代码仓库中获取新版本代码,根据所述主策略的版本发布时间推送所述新版本代码到所述初始应用节点;在接收到用户的交易请求时,根据所述子策略分配运行新版本代码的初始交易量,按照所述初始交易量在所述初始应用节点上运行新版本代码,当交易成功率大于所述子策略的成功率阈值时,按照所述子策略递增运行新版本代码的交易量,直至所述交易请求全部使用新版本代码运行;其中,所述成功率阈值根据实际交易场景进行设定;在初始应用节点的新版本代码发布完成后,根据所述主策略递增在所述第一应用节点分组中选取的应用节点数量,按照以上步骤对选取的应用节点进行版本发布;在所述第一应用节点分组的新版本代码发布完成后,依次对其他应用节点分组进行新版本代码发布。2.根据权利要求1所述的方法,其特征在于,当接收到用户发送的配置请求时,将用户配置的新版本代码提交到代码仓库中,包括:当接收到用户发送的配置请求时,通过持续集成的方式将用户配置的新版本代码提交到代码仓库中。3.根据权利要求1所述的方法,其特征在于,还包括:将推送到应用节点的新版本代码部署到新版本运行代码库中;其中,所述运行代码库分为新版本运行代码库和旧版本运行代码库。4.根据权利要求3所述的方法,其特征在于,在接收到用户的交易请求时,根据所述子策略分配运行新版本代码的初始交易量,按照所述初始交易量在所述初始应用节点上运行新版本代码,当交易成功率大于所述子策略的成功率阈值时,按照所述子策略递增运行新版本代码的交易量,直至所述交易请求全部使用新版本代码运行,包括:在接收到用户的交易请求时,获取交易请求方代码和请求交易码,根据所述交易请求方代码和所述请求交易码,从所述子策略中查找相应交易请求的发布子策略;根据所述发布子策略的初始比例分配运行新版本代码的交易量,初始应用节点从新版本运行代码库中调用新版本代码,执行使用新版本代码运行的交易;不使用新版本代码运行的交易的应用节点保持旧版本代码运行;经过所述发布子策略的递增间隔时间后,统计交易成功率;如果交易成功率大于成功率阈值,则按子策略的递增比例增加运行新版本代码的交易量,直至比例达到100%,等待所述发布子策略的递增间隔时间,统计交易成功率;如果交易成功率小于或等于成功率阈值,将所有已发布新版本代码的应用节点回退至旧版本,并删除新版本运行代码库中的新版本代码。
5.根据权利要求4所述的方法,其特征在于,还包括:实时监控交易运行情况,汇总交易成功率,将交易成功率反馈至持续交付控制平面。6.根据权利要求5所述的方法,其特征在于,在初始应用节点的新版本代码发布完成后,根据所述主策略递增在所述第一应用节点分组中选取的应用节点数量,按照以上步骤对选取的应用节点进行版本发布,还包括:当交易成功率大于所述主策略的成功率阈值时,如果在第一应用节点分组中选取的应用节点比例未达到100%,则继续按主策略的递增比例选取第一应用节点分组内的其他应用节点,直至在第一应用节点分组中选取的应用节点比例达到100%;当交易成功率小于或等于所述主策略的成功率阈值时,将所有已发布新版本代码的应用节点回退版本,并删除新版本运行代码库中的新版本代码。7.根据权利要求6所述的方法,其特征在于,在所述第一应用节点分组的新版本代码发布完成后,依次对其他应用节点分组进行新版本代码发布,包括:在所述第一应用节点分组的新版本代码发布完成后,依次对其他应用节点分组按照所述主策略进行新版本代码发布;在所有应用节点都发布新版本代码,并满足成功率阈值的要求后,删除旧版本运行代码库中的旧版本代码,新版本代码调整为旧版本代码。8.一种代码持续交付装置,其特征在于,包括:接收模块,用于当接收到用户发送的配置请求时,将用户配置的新版本...

【专利技术属性】
技术研发人员:黄新福张兴华武岳王硕郭晨郭雪莎
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1