一种服务的发布方法和发布系统与流程

文档序号:37158773发布日期:2024-02-26 17:24阅读:14来源:国知局
一种服务的发布方法和发布系统与流程

本发明涉及电数字数据处理,具体涉及一种服务的发布方法和发布系统。


背景技术:

1、随着信息化技术的深入发展,以及微服务架构的广泛使用,对服务发布带来了巨大挑战。一个完整的客户服务产品可能存在数十个或更多的子系统,而一个子系统通常包含多个模块化的单元。同一个集群的子系统间存在依赖关系,同时这数十个子系统因为高可用部署到在该集群中进行多单元部署。

2、在更加复杂的部署中,子系统同时又会部署到不同的集群,整个部署过程非常庞杂。

3、传统的生产发布方式为:运维人员手动创建发布流水线,按照服务产品的版本和环境手动修改发布或上线需要的环境和参数,然后按照子系统的子单元逐个集群和逐个环境的部署流水线完成部署。这种发布方式存在较多问题:首先是配置的人为操作参与过多,较多的人为参与会引入不确定性,不满足生产部署的确定性、稳定性的要求;服务发布过程的效率低、时效性无法满足生产的需要;而且只能查看到流水线整体部署状态,不能准确地把握多子系统、多单元、多环境部署中各个集群环境的部署情况,配置文件与上机单基于分支关联,存在手动篡改上机配置的风险,也不方便部署追溯和归档。

4、随着敏捷式开发的流行,应用更新上云频率越来越快,迫切需要一种灵活、快速又安全的服务发布方法。


技术实现思路

1、针对现有技术中存在的上述技术问题,本发明提供一种服务的发布方法和发布系统,可快速和安全地发布服务。

2、本发明公开了一种服务的发布方法,所述服务包括一个或多个子系统,所述子系统包括多个单元,所述发布方法包括:根据子系统各个单元的依赖性,获得所述子系统发布的阶段;根据单元的部署环境,将同一阶段的单元分为一个或多个子阶段,获得子阶段的任务集;按照所述阶段和子阶段的顺序,依次发布所述任务集。

3、优选的,并行发布所述任务集中的多个部署任务;所述部署环境包括目标集群或目标节点。

4、优选的,划分子阶段的方法包括:

5、获得所述阶段中各个单元的部署环境,所述部署环境包括目标部署集群;

6、根据目标部署集群或目标节点,将单元的部署任务进行分类,获得多个单元集;

7、分别为所述单元集的部署任务赋予优先级,同一单元集的部署任务的优先级各不相同;

8、根据所述优先级,将所述阶段的单元部署任务分为一个或多个子阶段。

9、优选的,根据目标集群的顺序或目标节点的位置,赋予优选级。

10、优选的,所述阶段的发布任务用父任务tp表示,子阶段的发布任务用子任务tpsub表示,任务集用系统任务tsys表示,单元部署任务用tsysdeploy表示;父任务间串行执行,子任务间串行执行,系统任务并行执行。

11、优选的,发布相应的任务集的方法包括:

12、步骤301:根据任务集的发布顺序,生成执行记录表;

13、步骤302:判断执行记录表中是否有待执行的父任务;

14、若是,执行步骤303:按照阶段的发布顺序执行父任务,进入子任务列表,执行步骤305;

15、若否,步骤304:结束服务发布;

16、步骤305:根据优先级,从子任务列表中依次读取系统任务队列;

17、步骤306:消费系统任务队列,执行系统任务队列中的单元部署任务,生成系统任务和单元部署任务的部署记录,执行步骤305,直到子任务列表消费完,执行步骤302。

18、优选的,跳过部署的方法:

19、判断第一子系统的第一单元是否部署失败;

20、若是,标记所述第一子系统;

21、判断待发布的第二单元是否归属于第一子系统;

22、若归属于第一子系统,跳过所述第二单元的发布;

23、所述服务包括第一版本和第二版本,版本回滚的方法:

24、判断所述第二版本是否存在逻辑性问题,

25、若存在,从所述部署记录中,获得所述第二版本的已部署单元以及部署环境;

26、根据所述部署环境,将已部署单元,回滚到第一版本的相应单元。

27、优选的,为所述单元设置配置管理信息,所述配置管理信息包括:子系统发布版本、版本提交记录、部署包地址、以及部署集群;

28、根据单元的环境配置执行任务集的单元部署任务。

29、本发明还提供一种用于实现上述发布方法的系统,包括阶段编排模块、子阶段编排模块和发布模块,所述阶段编排模块用于根据子系统各个单元的依赖性,获得所述子系统发布的阶段;所述子阶段编排模块用于根据单元的部署环境,将同一阶段的单元分为一个或多个子阶段,获得子阶段的任务集;所述发布模块用于按照所述阶段和子阶段的顺序,依次发布相应的任务集。

30、优选的,所述发布系统还包括版本控制模块,所述版本控制模块用于服务版本、以及子系统和单元的配置管理。

31、与现有技术相比,本发明的有益效果为:同一子阶段的不同单元之间不存在依赖性、且部署环境不同,可并行发步;并行发步时,不会造成单元之间的相互干扰,可提高单元部署的效率;通过所述发布列表,支持多系统、多单元和多环境的服务发布,以及多服务的发布;避免单一发布任务造成的效率慢、出错高的问题,同时减少了从上机单到发布的中间操作步骤,增强了发布的安全性。



技术特征:

1.一种服务的发布方法,其特征在于,所述服务包括一个或多个子系统,所述子系统包括多个单元,所述发布方法包括:

2.根据权利要求1所述的发布方法,其特征在于,并行发布所述任务集中的多个部署任务;

3.根据权利要求1所述的发布方法,其特征在于,划分子阶段的方法包括:

4.根据权利要求3所述的发布方法,其特征在于,根据目标集群的顺序或目标节点的位置,赋予优选级。

5.根据权利要求1所述的发布方法,其特征在于,所述阶段的发布任务用父任务表示,子阶段的发布任务用子任务表示,子阶段的任务集用系统任务表示;

6.根据权利要求5所述的发布方法,其特征在于,发布相应的任务集的方法包括:

7.根据权利要求5所述的发布方法,其特征在于,还包括跳过部署的方法:

8.根据权利要求1所述的发布方法,其特征在于,为所述单元设置配置管理信息,所述配置管理信息包括:子系统发布版本、版本提交记录、部署包地址、以及部署集群;

9.一种服务的发布系统,其特征在于,用于实现如权利要求1-8任一项所述的发布方法,所述发布系统包括阶段编排模块、子阶段编排模块和发布模块,

10.根据权利要求9所述的发布系统,其特征在于,还包括版本控制模块,所述版本控制模块用于服务版本、以及子系统和单元的配置管理。


技术总结
本发明公开了提供一种服务的发布方法和发布系统,属于电数字数据处理技术领域,所述发布方法包括:根据子系统各个单元的依赖性,获得子系统发布的阶段;根据单元的部署环境,将同一阶段的单元分为一个或多个子阶段,子阶段的任务集包括一个或多个单元的部署任务;按照阶段和子阶段的顺序,依次发布相应的任务集。同一子阶段的不同单元之间不存在依赖性、且部署环境不同,可并行发步;并行发步时,不会造成单元之间的相互干扰,可提高单元部署的效率,减少了从上机单到发布的中间操作步骤,增强了发布的安全性。

技术研发人员:蒋玉芳,高家祺,龚琦,王翱宇
受保护的技术使用者:杭州谐云科技有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1