一种具有开放式流水线架构的应用创建系统技术方案

技术编号:23932142 阅读:18 留言:0更新日期:2020-04-25 01:51
本发明专利技术公开了一种具有开放式流水线架构的应用创建系统,包括任务创建单元、多个一级任务执行单元和二级任务执行单元;多个二级任务执行单元依次耦合构成任务队列,每个一级任务执行单元对应一个任务队列;任务创建单元接收客户端发送的创建应用请求,将待创建应用拆分为多个子任务并分别下发给一级任务执行单元;一级任务执行单元监听任务创建单元分发的子任务,根据子任务的执行逻辑将该子任务拆分为多个阶段任务,并通过任务队列将阶段任务依次发送给各二级任务执行单元;多个二级任务执行单元之间通过链式传递触发下一阶段任务的执行;本发明专利技术支持用户根据自身的业务特色扩展自身的特色应用,无需更改现有流水线架构,减小了业务扩展的工作量。

An application creation system with open pipeline architecture

【技术实现步骤摘要】
一种具有开放式流水线架构的应用创建系统
本专利技术属于计算机软件
,更具体地,涉及一种具有开放式流水线架构的应用创建系统。
技术介绍
开发运维一体化(DevOps)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,使得构建、测试、发布软件能够更加地快捷、频繁和可靠,可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。随着互联网新经济的发展,云计算、物联网、大数据、区块链、AI、5G等新技术的不断演进,如何轻松应对快速变化的业务需求,充分利用现有的IT资源并降低运营成本,如何将沉淀的解决方案集中、规范的管理并快速复制等问题成为企业亟待解决的严峻问题。DORA与GoogleCloud合作发布的2018年《DevOps现状报告》指出:在2014年时,只有16%的调查参与者表示自己在DevOps团队。而在2018,这个数字已经增长到27%。DORA的研究强调了对技术转型至关重要的实践,这些重要的实践包括版本控制、自动化部署、持续集成(CI)、基于主干的开发以及松散耦合的架构。Gartner魔力象限报告在多个领域(如:自动化测试、自动化运维)将DevOps提到重要地位,并归纳IT信息化架构的发展趋势为逐渐解耦的过程。主流的运维一体化平台的流水线设计,比较常见的有采用动态拼接流水线脚本的方式,即将流水线任务分为多个stage,每个stage通过串行或者并行的方式执行task,整个流水线称为pipelinejob,通过终端用户勾选编排自定义的stage来动态拼装出最终的pipelinejob,这种方式有如下几点弊端:1、Pipelinejob语法的复杂决定了最终拼装的流水线任务执行出错的高概率,且需要综合考虑可能引进的stage中的前置条件对pipeline结构的影响,比如:某个stage中需要基础环境要在pipeline头中定义,但其他的stage又不需要这个定义,这个stage是可选的;2、整体pipeline执行的方式出现错误回滚的复杂度是stage的指数倍,由于流水线中的多个stage是通过脚本动态拼接形成的,即相邻stage之间紧密关联,一旦某一stage出错进行回滚,则影响流水线上其他stage的正常运行;3、由于Pipelinejob动态拼接流水线脚本以及错误回滚的复杂度较高,导致Pipelinejob的扩展性较差,后期维护成本高。
技术实现思路
针对现有技术的至少一个缺陷或改进需求,本专利技术提供了一种具有开放式流水线架构的应用创建系统及方法,支持客户根据自身的业务特色灵活定制和自由扩展应用功能,提升了产品的并发研发效率和第三方产品对接集成的能力。为实现上述目的,按照本专利技术的一个方面,提供了一种具有开放式流水线架构的应用创建系统,包括任务创建单元、多个一级任务执行单元和二级任务执行单元;多个二级任务执行单元依次耦合构成任务队列,每个一级任务执行单元对应一个所述任务队列;所述任务创建单元用于接收客户端发送的创建应用请求,根据所述创建应用请求将待创建应用拆分为多个子任务并分别下发给一级任务执行单元;所述一级任务执行单元通过注册的行为接口监听任务创建单元分发的子任务,每个一级任务执行单元根据所述子任务的执行逻辑将该子任务拆分为多个阶段任务,并通过任务队列将多个阶段任务依次发送给各二级任务执行单元;每个所述二级任务执行单元对应执行一个阶段任务,多个二级任务执行单元之间通过链式传递触发下一阶段任务的执行。优选的,上述应用创建系统,当接收到客户端发送的应用扩展请求时,所述任务创建单元根据所述应用扩展请求创建新的一级任务执行单元并将待扩展应用作为一个子任务下发给新建的一级任务执行单元。优选的,上述应用创建系统,当接收到客户端发送的子任务扩展请求时,所述任务创建单元根据所述子任务扩展请求将待扩展子任务下发给对应的一级任务执行单元;所述一级任务执行单元在任务队列中插入新的二级任务执行单元并将所述待扩展子任务作为一个阶段任务下发给新建的二级任务执行单元。优选的,上述应用创建系统,其一级任务执行单元的行为接口包括第一执行接口;二级任务执行单元的行为接口包括第二执行接口和撤回接口。优选的,上述应用创建系统,其任务创建单元基于多线程的方式通过所述第一执行接口调用一级任务执行单元以使其执行子任务;所述一级任务执行单元通过所述第二执行接口调用二级任务执行单元以使其执行阶段任务。优选的,上述应用创建系统,当任一子任务执行过程中出现错误时,与所述子任务对应的一级任务执行单元根据任务队列中二级任务执行单元的耦合顺序逆向撤回各阶段任务,阶段任务的撤回基于上述撤回接口实现。优选的,上述应用创建系统,阶段任务撤回过程中,各二级任务执行单元之间通过链式传递触发上一阶段任务的回滚。优选的,上述应用创建系统,多个所述一级任务执行单元可通过串行或并行方式执行各自对应的子任务。优选的,上述应用创建系统,其创建应用请求中包括应用名称、应用的执行参数集合。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本专利技术提供的一种具有开放式流水线架构的应用创建系统,通过任务创建单元的集中式事件委派实现任务的统一下发和回滚,每个一级任务执行单元通过任务队列定制自己的子流程,一级任务执行单元之间各自独立接收任务创建单元广播的子任务并进行处理;一级任务执行单元对应的任务队列支持插入、移除操作,用户可根据自身的业务特色在现有的任务队列中插入二级任务执行单元来扩展自身的特色应用,定制化能力强。(2)本专利技术提供的一种具有开放式流水线架构的应用创建系统,将客户端发送的创建应用请求分解成为了每个独立闭包的、可由多个分步单元执行的子任务,子任务的并发能力可通过增加一级任务执行单元进行分布式方式水平扩展,子任务的业务逻辑性可通过插入二级任务执行单元进行纵向伸缩,扩展性好,便于后期维护,有利于降低维护成本。(3)本专利技术提供的一种具有开放式流水线架构的应用创建系统,任务创建单元、多个一级任务执行单元和二级任务执行单元之间是一种松耦合的开放式流水线架构,开放式流水线架构保证了每个一级任务执行单元的独立性、可插拔性,以及二级任务执行单元的闭环完整性,从而保证了子任务的并行、串行的灵活性;相较传统的流水线架构既可以提升流水线执行的周期效率,又可以保证在异常情况下的子任务独立回滚以及可选择性的全量回滚。(4)本专利技术提供的一种具有开放式流水线架构的应用创建系统,实现了流水线各环节的可并行、可串行化控制,一方面保证了流水线环节间依赖的可控性,另一方面提高了产品的并发性能。附图说明图1是本专利技术实施例提供的具有开放式流水线架构的应用创建系统的组成示意图;图2是本专利技术实施例提供的应用创建过程的任务分解及下发的拓扑图。具体实施方式为了使本专利技术本文档来自技高网
...

【技术保护点】
1.一种具有开放式流水线架构的应用创建系统,其特征在于,包括任务创建单元、多个一级任务执行单元和二级任务执行单元;多个二级任务执行单元依次耦合构成任务队列,每个一级任务执行单元对应一个所述任务队列;/n所述任务创建单元用于接收客户端发送的创建应用请求,根据所述创建应用请求将待创建应用拆分为多个子任务并分别下发给一级任务执行单元;/n所述一级任务执行单元通过注册的行为接口监听任务创建单元分发的子任务,每个一级任务执行单元根据所述子任务的执行逻辑将该子任务拆分为多个阶段任务,并通过任务队列将多个阶段任务依次发送给各二级任务执行单元;/n每个所述二级任务执行单元对应执行一个阶段任务,多个二级任务执行单元之间通过链式传递触发下一阶段任务的执行。/n

【技术特征摘要】
1.一种具有开放式流水线架构的应用创建系统,其特征在于,包括任务创建单元、多个一级任务执行单元和二级任务执行单元;多个二级任务执行单元依次耦合构成任务队列,每个一级任务执行单元对应一个所述任务队列;
所述任务创建单元用于接收客户端发送的创建应用请求,根据所述创建应用请求将待创建应用拆分为多个子任务并分别下发给一级任务执行单元;
所述一级任务执行单元通过注册的行为接口监听任务创建单元分发的子任务,每个一级任务执行单元根据所述子任务的执行逻辑将该子任务拆分为多个阶段任务,并通过任务队列将多个阶段任务依次发送给各二级任务执行单元;
每个所述二级任务执行单元对应执行一个阶段任务,多个二级任务执行单元之间通过链式传递触发下一阶段任务的执行。


2.如权利要求1所述的应用创建系统,其特征在于,当接收到客户端发送的应用扩展请求时,所述任务创建单元根据所述应用扩展请求创建新的一级任务执行单元并将待扩展应用作为一个子任务下发给新建的一级任务执行单元。


3.如权利要求2所述的应用创建系统,其特征在于,当接收到客户端发送的子任务扩展请求时,所述任务创建单元根据所述子任务扩展请求将待扩展子任务下发给对应的一级任务执行单元;
所述一级任务执行单元在任务队列中插入新的二级任务...

【专利技术属性】
技术研发人员:陈烈军董喆秦威
申请(专利权)人:武汉烽火信息集成技术有限公司
类型:发明
国别省市:湖北;42

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

1