CN114398115A - 可视化流水线生成方法和装置、存储介质及电子设备 - Google Patents
可视化流水线生成方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114398115A CN114398115A CN202111470802.5A CN202111470802A CN114398115A CN 114398115 A CN114398115 A CN 114398115A CN 202111470802 A CN202111470802 A CN 202111470802A CN 114398115 A CN114398115 A CN 114398115A
- Authority
- CN
- China
- Prior art keywords
- deployed
- node
- nodes
- pipeline
- topological graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000000007 visual effect Effects 0.000 title claims abstract description 9
- 230000010354 integration Effects 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004519 manufacturing process Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 230000002085 persistent effect Effects 0.000 claims description 4
- 230000002688 persistence Effects 0.000 claims description 3
- 238000012800 visualization Methods 0.000 abstract description 36
- 230000008569 process Effects 0.000 abstract description 14
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种可视化流水线生成方法和装置、存储介质及电子设备。其中,该方法包括:响应用户在流水线编排界面的节点选取操作,获取待部署的节点;根据所述用户针对所述待部署的节点的依赖关系的编辑操作,对所述待部署的节点根据所述依赖关系进行编排,形成编排拓扑图;通过应用持续集成工具基于所述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;所述节点流水线用于指示所述待部署的节点按照所述编排拓扑图执行任务。本发明解决了相关技术中,在开发运维一体化的环境下生成应用节点的工作流水线过程中效率较低,可视化程度不高的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种可视化流水线生成方法和装置、存储介质及电子设备。
背景技术
相关技术中,对于通过DevOps系统(Development和Operations的组合),即开发运维一体化系统,来快速构建软件产品环境,通常采用将应用信息逐个排列出来,依赖人工判断将多个应用组成软件产品环境构建完成,并生成多个应用节点的工作流水线,应用信息呈现的是一个简单表格列表,不能直观的显示多个应用之间的拓扑图,在软件产品环境构建完成之后,才能从软件运行环境中导出应用拓扑图,获取各应用之间的依赖关系。这种方式在软件产品环境构建和生成应用节点的工作流水线过程中效率较低,而且可视化程度不高。
发明内容
本发明实施例提供了一种可视化流水线生成方法和装置、存储介质及电子设备,以至少解决相关技术中,在开发运维一体化的环境下生成应用节点的工作流水线过程中效率较低,可视化程度不高的技术问题。
根据本发明实施例的一个方面,提供了一种可视化流水线生成方法,包括:响应用户在流水线编排界面的节点选取操作,获取待部署的节点;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
根据本发明实施例的另一方面,还提供了一种可视化流水线生成装置,包括:获取单元,用于响应用户在流水线编排界面的节点选取操作,获取待部署的节点;编排单元,用于根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;生成单元,用于通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述可视化流水线生成方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的可视化流水线生成方法。
在本发明实施例中,通过响应用户在流水线编排界面的节点选取操作,获取待部署的节点;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务;由于通过图形化编排多个节点对应的应用依赖关系,通过编排拓扑图展示应用之间的关系,不仅能够提高构建软件产品环境和生成应用节点的工作流水线过程中的效率的技术效果,而且能够提高可视化程度,进而解决了相关技术中,在开发运维一体化的环境下生成应用节点的工作流水线过程中效率较低,可视化程度不高的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本发明实施例的一种可选的可视化流水线生成方法的应用环境的示意图;
图2是根据本发明实施例的另一种可选的可视化流水线生成方法的应用环境的示意图;
图3是根据相关技术中的一种可选的流水线生成方法的界面示意图;
图4是根据本申请实施例的一种可选的可视化流水线生成方法的流程图;
图5是根据本申请实施例的一种可选的可视化流水线生成方法的界面示意图;
图6是根据本申请实施例的一种可选的可视化流水线生成方法的编排拓扑图的示意图;
图7是根据本申请实施例的另一种可选的可视化流水线生成方法的界面示意图;
图8是根据本申请实施例的一种可选的可视化流水线生成装置的结构示意图;
图9是根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种可视化流水线生成上述方法,可选地,作为一种可选的实施方式,上述可视化流水线生成上述方法可以但不限于应用于如图1所示的硬件环境中。该硬件环境中包括:与用户进行人机交互的终端设备102、网络104、服务器106。用户108与终端设备102之间可以进行人机交互,终端设备102中运行有可视化流水线生成应用客户端。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于呈现编排拓扑图,和待部署的节点的配置信息的界面;处理器1024用于响应用户在流水线编排界面的节点选取操作,获取待部署的节点。存储器1026用于存储编排拓扑图,和待部署的节点的配置信息。
此外,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储编排拓扑图,和待部署的节点的配置信息。处理引擎1064用于:响应用户在流水线编排界面的节点选取操作,获取待部署的节点;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
作为另一种可选的实施方式,本申请上述可视化流水线生成上述方法可以应用于图2中。如图2所示,用户202与用户设备204之间可以进行人机交互。用户设备204中包含有存储器206和处理器208。本实施例中用户设备204可以但不限于参考执行上述终端设备102所执行的操作,以生成节点流水线。
可选地,上述终端设备102和用户设备204包括但不限于为手机、平板电脑、笔记本电脑、PC机等终端,上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器106可以包括但不限于任何可以进行计算的硬件设备。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
相关技术中,对于通过DevOps系统(Development和Operations的组合)快速构建软件产品环境,通常采用将应用信息逐个排列出来,依赖人工判断将多个应用组成软件产品环境构建完成,并生成多个应用节点的工作流水线,如图3所示,应用信息呈现的是一个简单表格列表,不能直观的显示多个应用之间的拓扑图,在软件产品环境构建完成之后,才能从软件运行环境中导出应用拓扑图,获取各应用之间的依赖关系。这种方式在软件产品环境构建和生成应用节点的工作流水线过程中效率较低,而且可视化程度不高。
为了解决上述问题,在一个或多个实施例中,如图4所示,上述可视化流水线生成方法包括如下步骤:
S402,响应用户在流水线编排界面的节点选取操作,获取待部署的节点。
在本发明实施例中,例如,如图5所示,用户在研发运维一体化平台中快速构建软件产品环境时,用户点击右侧功能显示栏中的新建流水线菜单后,会弹出流水线编排界面,在流水线编排界面中,用户选择当前软件产品环境需要的应用或者插件进行节点的选取,如图6所示,用户选择的应用或插件为前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3等作为待部署的节点。
S404,根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图。
在本发明实施例中,如图6所示,用户选择的应用或插件为前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3等作为待部署的节点,上述待部署的节点中,前端入口会依赖后端服务1和后端服务2,所以在构建前端入口应用时必须先构建后端服务1和后端服务2,后端服务1和后端服务2无依赖关系,因此可以并行构建,最底层的中间件被后端服务1和服务2依赖,因此在构建后端服务1和后端服务2之间需要先并行构建中间件1、中间件2和中间件3;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,根据依赖关系添加相应的信息流向箭头,最后可以形成如图6所示的编排拓扑图。
S406,通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
在本发明实施例中,通过应用持续集成工具,例如Jenkins根据上述编排拓扑图,上述前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3等作为待部署的节点的配置信息,经过项目源码拉取,编译,打包,生成docker镜像文件,发布镜像到远程仓库等过程,生成节点流水线。
在本发明实施例中,通过响应用户在流水线编排界面的节点选取操作,获取待部署的节点;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务;由于通过图形化编排多个节点对应的应用依赖关系,通过编排拓扑图展示应用之间的关系,不仅能够提高构建软件产品环境和生成应用节点的工作流水线过程中的效率的技术效果,而且能够提高可视化程度,进而解决了相关技术中生成应用节点的工作流水线过程中效率较低,可视化程度不高的技术问题。
基于上述实施例,在一个或多个实施例中,上述步骤S402,上述根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图,包括:
根据上述用户在上述流水线编排界面,针对上述待部署的节点的依赖关系的编辑操作指令,获取每个待部署的节点的工作执行顺序和数据流向;
根据上述每个待部署的节点的工作执行顺序和数据流向对上述待部署的节点进行编排,生成上述编排拓扑图。
在本发明实施例中,如图6所示,上述待部署的节点中,前端入口会依赖后端服务1和后端服务2,在构建前端入口应用时必须先构建后端服务1和后端服务2,后端服务1和后端服务2无依赖关系,因此可以并行构建,最底层的中间件1、中间件2被后端服务1依赖,中间件1、中间件2和中间件3被后端服务2依赖,因此在构建后端服务1和服务2之间需要先并行构建中间件1、中间件2和中间件3;根据前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3的工作执行顺序和数据流向(箭头方向)对上述待部署的节点进行编排,生成上述编排拓扑图。
在一个或多个实施例中,上述通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线,包括:
从代码仓库中拉取与各个待部署的节点对应的代码文件;
将上述代码文件进行编译,并将编译后的文件进行压缩打包,得到编译打包文件;
根据制作应用镜像所需的镜像配置信息,将上述编译打包文件转换为镜像文件;
根据各个待部署的节点的访问端口和启动命令生成上述各个待部署的节点启动所需部署配置信息,并根据上述部署配置信息将各个待部署的节点进行部署。
在一个或多个实施例中,上步骤S404,上述生成节点流水线之后,还包括:接收节点流水线的触发指令,根据上述触发指令按照上述编排拓扑图的依赖关系,依次触发上述节点流水线中已部署的各个节点;在上述已部署的各个节点均完成流水线任务的情况下,确定上述节点流水线运行成功。
在本发明实施例中,通过研发运维一体化平台创建好节点流水线后,为了测试流水线是否能按上述的编排拓扑图进行流水线工作,可以根据流水线的触发操作,例如,向如图6中所示的前端入口输入测试数据,在判断出已部署的各个节点(前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3)均完成流水线任务的情况下,确定上述节点流水线运行成功。
在一个或多个实施例中,上述在上述已部署的各个节点均完成流水线任务的情况下,确定上述节点流水线运行成功,包括:
在判断出上述已部署的各个节点的访问端口均被占用、且上述已部署的各个节点均处于可访问状态时,确定上述节点流水线运行成功。
在本发明实施例中,判断出已部署的各个节点(前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3)访问端口均被占用、且均处于可访问状态时,确定上述节点流水线运行成功。
这里,如图7所示,图7中,当前应用环境中包括多个应用服务和中间件:前端入口,用户服务,订单服务,mysql数据库,redis数据库,robbitmq高级消息队列协议服务,当前界面中,显示上述服务,数据库状态为可以访问状态(Running),服务入口(访问端口)均被占用,这时,可以确定上述节点流水线运行成功。
在一个或多个实施例中,上述应用持续集成工具为Jenkins。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle等。
基于上述实施例中,在一个或多个实施例中,上述可视化流水线生成方法还包括如下步骤:
第一步:用户编排应用拓扑图。如图6所示,如通过图形来展现前端入口依赖后端服务1和后端服务2,如此可以直观展示应用间联系,图6为一个示例服务的应用拓扑图,前端入口会依赖后端服务1和后端服务2,所以在构建前端入口应用时必须先构建后端服务1和后端服务2,后端服务1和后端服务2无依赖关系,因此可以并行构建,最底层的中间件被后端服务1和服务2依赖,因此在构建后端服务1和服务2之间需要先并行构建中间件1、中间件2和中间件3,箭头代表依赖关系,例如前端入口应用依赖用户服务(后端服务1)和订单服务(后端服务2);每个节点应用需要使用者维护环境构建所需全部信息(关联代码仓、应用开发语言、访问端口、访问上下文、应用启动命令),例如应用语言,端口等。
第二步:为每个应用生成流水线。根据应用拓扑中维护的各个应用信息生成:根据关联代码仓生成流水线第一个节点,即拉取代码,根据应用开发语言选择编译环境和生成编译命令,组成流水线第二个节点,即编译打包,根据启动命令自动生成制作应用镜像所需配置信息,组成流水线第三个节点,即制作镜像文件,根据应用访问端口和启动命令自动生成部署启动所需配置信息,组成流水线第四个节点,即部署启动应用。根据用户维护的应用信息,自动基于底层的流水线引擎(上述的应用持续集成工具)生成应用流水线(底层流水线引擎是Jenkins,基于Jenkins语法封装了图形化界面展示流水线节点,应用流水线包含拉取应用代码,编译打包,制作镜像和部署启动应用等四个任务)。
第三步:系统按照应用拓扑图的依赖关系,自动依次触发应用流水线(上的节点流水线),流水线运行成功即完成环境构建。(如上面应用拓扑图,从拓扑上能看出应用间的依赖关系,例如前端入口会依赖后端服务1和后端服务2,所以在构建前端入口应用时必须先构建后端服务1和后端服务2,后端服务1和后端服务2无依赖关系,因此可以并行构建,最底层的中间件被后端服务1和服务2依赖,因此在构建后端服务1和服务2之间需要先并行构建中间件1、中间件2和中间件3,流水线中会包含几个任务(应用代码,编译打包,制作镜像和部署启动应用),所有任务执行完之后就代表当前应用环境部署成功。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述可视化流水线生成方法的可视化流水线生成装置。如图8所示,该装置包括:
获取单元802,用于响应用户在流水线编排界面的节点选取操作,获取待部署的节点;
在本发明实施例中,例如,如图5所示,用户在研发运维一体化平台中快速构建软件产品环境时,用户点击右侧功能显示栏中的新建流水线菜单后,会弹出流水线编排界面,在流水线编排界面中,用户选择当前软件产品环境需要的应用或者插件,如图6所示,用户选择的应用或插件为前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3等作为待部署的节点。
编排单元804,用于根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;
在本发明实施例中,如图6所示,用户选择的应用或插件为前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3等作为待部署的节点,上述待部署的节点中,前端入口会依赖后端服务1和后端服务2,所以在构建前端入口应用时必须先构建后端服务1和后端服务2,后端服务1和后端服务2无依赖关系,因此可以并行构建,最底层的中间件被后端服务1和服务2依赖,因此在构建后端服务1和后端服务2之间需要先并行构建中间件1、中间件2和中间件3;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,根据依赖关系添加相应的信息流向箭头,最后可以形成如图6所示的编排拓扑图。
生成单元806,用于通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
在本发明实施例中,通过应用持续集成工具,例如Jenkins根据上述编排拓扑图,上述前端入口,后端服务1,后端服务2,中间件1,中间件2,中间件3等作为待部署的节点的配置信息,经过项目源码拉取,编译,打包,生成docker镜像,发布镜像到远程仓库等过程,生成节点流水线。
在本发明实施例中,在本发明实施例中,通过响应用户在流水线编排界面的节点选取操作,获取待部署的节点;根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务;由于通过图形化编排多个节点对应的应用依赖关系,通过编排拓扑图展示应用之间的关系,不仅能够提高构建软件产品环境和生成应用节点的工作流水线过程中的效率的技术效果,而且能够提高可视化程度,进而解决了相关技术中生成应用节点的工作流水线过程中效率较低,可视化程度不高的技术问题。
在一个或多个实施例中,上述编排单元804,包括:
获取模块,用于根据上述用户在上述流水线编排界面,针对上述待部署的节点的依赖关系的编辑操作指令,获取每个待部署的节点的工作执行顺序和数据流向;
生成模块,用于根据上述每个待部署的节点的工作执行顺序和数据流向对上述待部署的节点进行编排,生成上述编排拓扑图。
在一个或多个实施例中,上述生成单元806,包括:
拉取模块,用于从代码仓库中拉取与各个待部署的节点对应的代码文件;
打包单元,用于将上述代码文件进行编译,并将编译后的文件进行压缩打包,得到编译打包文件;
镜像转换模块,用于根据制作应用镜像所需的镜像配置信息,将上述编译打包文件转换为镜像文件;
部署模块,用于根据各个待部署的节点的访问端口和启动命令生成上述各个待部署的节点启动所需部署配置信息,并根据上述部署配置信息将各个待部署的节点进行部署。
在一个或多个实施例中,上述可视化流水线生成装置,还包括:
接收单元,用于接收节点流水线的触发指令,根据上述触发指令按照上述编排拓扑图的依赖关系,依次触发上述节点流水线中已部署的各个节点;
确定单元,用于在上述已部署的各个节点均完成流水线任务的情况下,确定上述节点流水线运行成功。
在一个或多个实施例中,上述确定单元,具体包括:
确定模块,用于在判断出上述已部署的各个节点的访问端口均被占用、且上述已部署的各个节点均处于可访问状态时,确定上述节点流水线运行成功。
在一个或多个实施例中,上述可视化流水线生成装置中,上述应用持续集成工具为Jenkins。Jenkins是一个开源的、提供友好操作界面的持续集成工具,起源于Hudson工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具、构建工具结合使用;常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述可视化流水线生成方法的电子设备,该电子设备可以是终端设备或服务器。上述终端设备包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。
本实施例以该电子设备为服务器为例来说明。如图9所示,该电子设备包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应用户在流水线编排界面的节点选取操作,获取待部署的节点;
S2,根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;
S3,通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的可视化流水线生成方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及可视化流水线生成,即实现上述的可视化流水线生成方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储编排拓扑图,和待部署的节点的配置等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述可视化流水线生成装置中的获取单元802、编排单元804及生成单元806。此外,还可以包括但不限于上述可视化流水线生成装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器908,用于显示上述编排拓扑图,和待部署的节点的配置;和连接总线910,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可视化流水线生成方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,响应用户在流水线编排界面的节点选取操作,获取待部署的节点;
S2,根据上述用户针对上述待部署的节点的依赖关系的编辑操作,对上述待部署的节点根据上述依赖关系进行编排,形成编排拓扑图;
S3,通过应用持续集成工具基于上述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,上述节点流水线用于指示上述待部署的节点按照上述编排拓扑图执行任务。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种可视化流水线生成方法,其特征在于,包括:
响应用户在流水线编排界面的节点选取操作,获取待部署的节点;
根据所述用户针对所述待部署的节点的依赖关系的编辑操作,对所述待部署的节点根据所述依赖关系进行编排,形成编排拓扑图;
通过应用持续集成工具基于所述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;其中,所述节点流水线用于指示所述待部署的节点按照所述编排拓扑图执行任务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述用户针对所述待部署的节点的依赖关系的编辑操作,对所述待部署的节点根据所述依赖关系进行编排,形成编排拓扑图,包括:
根据所述用户在所述流水线编排界面,针对所述待部署的节点的依赖关系的编辑操作指令,获取每个待部署的节点的工作执行顺序和数据流向;
根据所述每个待部署的节点的工作执行顺序和数据流向对所述待部署的节点进行编排,生成所述编排拓扑图。
3.根据权利要求1所述的方法,其特征在于,所述通过应用持续集成工具基于所述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线,包括:
从代码仓库中拉取与各个待部署的节点对应的代码文件;
将所述代码文件进行编译,并将编译后的文件进行压缩打包,得到编译打包文件;
根据制作应用镜像所需的镜像配置信息,将所述编译打包文件转换为镜像文件;
根据各个待部署的节点的访问端口和启动命令生成所述各个待部署的节点启动所需部署配置信息,并根据所述部署配置信息将各个待部署的节点进行部署。
4.根据权利要求3所述的方法,其特征在于,所述生成节点流水线之后,还包括:
接收节点流水线的触发指令,根据所述触发指令按照所述编排拓扑图的依赖关系,依次触发所述节点流水线中已部署的各个节点;
在所述已部署的各个节点均完成流水线任务的情况下,确定所述节点流水线运行成功。
5.根据权利要求4所述的方法,其特征在于,所述在所述已部署的各个节点均完成流水线任务的情况下,确定所述节点流水线运行成功,包括:
在判断出所述已部署的各个节点的访问端口均被占用、且所述已部署的各个节点均处于可访问状态时,确定所述节点流水线运行成功。
6.根据权利要求1至5任一项中所述的方法,其特征在于,所述应用持续集成工具为Jenkins。
7.一种可视化流水线生成装置,其特征在于,包括:
获取单元,用于响应用户在流水线编排界面的节点选取操作,获取待部署的节点;
编排单元,用于根据所述用户针对所述待部署的节点的依赖关系的编辑操作,对所述待部署的节点根据所述依赖关系进行编排,形成编排拓扑图;
生成单元,用于通过应用持续集成工具基于所述编排拓扑图和各个待部署的节点的配置信息,生成节点流水线;所述节点流水线用于指示所述待部署的节点按照所述编排拓扑图执行任务。
8.根据权利要求7所述的装置,其特征在于,所述编排单元,包括:
获取模块,用于根据所述用户在所述流水线编排界面,针对所述待部署的节点的依赖关系的编辑操作指令,获取每个待部署的节点的工作执行顺序和数据流向;
生成模块,用于根据所述每个待部署的节点的工作执行顺序和数据流向对所述待部署的节点进行编排,生成所述编排拓扑图。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111470802.5A CN114398115A (zh) | 2021-12-03 | 2021-12-03 | 可视化流水线生成方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111470802.5A CN114398115A (zh) | 2021-12-03 | 2021-12-03 | 可视化流水线生成方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114398115A true CN114398115A (zh) | 2022-04-26 |
Family
ID=81225306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111470802.5A Pending CN114398115A (zh) | 2021-12-03 | 2021-12-03 | 可视化流水线生成方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398115A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909582A (zh) * | 2023-09-13 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种可视化大屏业务部署方法、装置及电子设备 |
WO2023221962A1 (zh) * | 2022-05-17 | 2023-11-23 | 北京字跳网络技术有限公司 | 视图生成方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170134301A1 (en) * | 2015-11-08 | 2017-05-11 | Vmware, Inc. | Deploying an application in a hybrid cloud computing environment |
US20180046453A1 (en) * | 2016-08-10 | 2018-02-15 | Bank Of America Corporation | Application Programming Interface for Providing Access to Computing Platform Definitions |
CN108009004A (zh) * | 2017-12-01 | 2018-05-08 | 广东电网有限责任公司佛山供电局 | 基于Docker的业务应用可用度测量监控的实现方法 |
CN109358912A (zh) * | 2018-09-30 | 2019-02-19 | 安徽智恒信科技有限公司 | 一种批量启动微服务的可视化系统及方法 |
US10514967B2 (en) * | 2017-05-08 | 2019-12-24 | Datapipe, Inc. | System and method for rapid and asynchronous multitenant telemetry collection and storage |
CN111522543A (zh) * | 2020-04-16 | 2020-08-11 | 科大国创云网科技有限公司 | 一种可视化应用组件编排方法及系统 |
CN111831548A (zh) * | 2020-05-29 | 2020-10-27 | 微民保险代理有限公司 | 一种依赖关系拓扑图的绘制方法和装置 |
CN111930421A (zh) * | 2020-07-31 | 2020-11-13 | 中电鸿信信息科技有限公司 | 一种基于DevOps的自由编排监控系统及其使用方法 |
CN112596854A (zh) * | 2020-12-15 | 2021-04-02 | 中国建设银行股份有限公司 | 一种持续集成流水线运行的方法和装置 |
CN113064578A (zh) * | 2021-03-17 | 2021-07-02 | 上海浦东发展银行股份有限公司 | 基于拖拽技术的应用编排方法、系统、设备及存储介质 |
CN113127368A (zh) * | 2021-04-30 | 2021-07-16 | 中原银行股份有限公司 | 一种生成流水线的方法、系统和介质 |
CN113608754A (zh) * | 2021-07-23 | 2021-11-05 | 安徽三七极域网络科技有限公司 | 服务实例化方法、装置及电子设备 |
CN113672240A (zh) * | 2021-08-21 | 2021-11-19 | 焦点科技股份有限公司 | 一种基于容器的多机房批量自动化部署应用的方法及系统 |
CN113703784A (zh) * | 2021-08-25 | 2021-11-26 | 上海哔哩哔哩科技有限公司 | 基于容器编排的数据处理方法及装置 |
-
2021
- 2021-12-03 CN CN202111470802.5A patent/CN114398115A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170134301A1 (en) * | 2015-11-08 | 2017-05-11 | Vmware, Inc. | Deploying an application in a hybrid cloud computing environment |
US20180046453A1 (en) * | 2016-08-10 | 2018-02-15 | Bank Of America Corporation | Application Programming Interface for Providing Access to Computing Platform Definitions |
US10514967B2 (en) * | 2017-05-08 | 2019-12-24 | Datapipe, Inc. | System and method for rapid and asynchronous multitenant telemetry collection and storage |
CN108009004A (zh) * | 2017-12-01 | 2018-05-08 | 广东电网有限责任公司佛山供电局 | 基于Docker的业务应用可用度测量监控的实现方法 |
CN109358912A (zh) * | 2018-09-30 | 2019-02-19 | 安徽智恒信科技有限公司 | 一种批量启动微服务的可视化系统及方法 |
CN111522543A (zh) * | 2020-04-16 | 2020-08-11 | 科大国创云网科技有限公司 | 一种可视化应用组件编排方法及系统 |
CN111831548A (zh) * | 2020-05-29 | 2020-10-27 | 微民保险代理有限公司 | 一种依赖关系拓扑图的绘制方法和装置 |
CN111930421A (zh) * | 2020-07-31 | 2020-11-13 | 中电鸿信信息科技有限公司 | 一种基于DevOps的自由编排监控系统及其使用方法 |
CN112596854A (zh) * | 2020-12-15 | 2021-04-02 | 中国建设银行股份有限公司 | 一种持续集成流水线运行的方法和装置 |
CN113064578A (zh) * | 2021-03-17 | 2021-07-02 | 上海浦东发展银行股份有限公司 | 基于拖拽技术的应用编排方法、系统、设备及存储介质 |
CN113127368A (zh) * | 2021-04-30 | 2021-07-16 | 中原银行股份有限公司 | 一种生成流水线的方法、系统和介质 |
CN113608754A (zh) * | 2021-07-23 | 2021-11-05 | 安徽三七极域网络科技有限公司 | 服务实例化方法、装置及电子设备 |
CN113672240A (zh) * | 2021-08-21 | 2021-11-19 | 焦点科技股份有限公司 | 一种基于容器的多机房批量自动化部署应用的方法及系统 |
CN113703784A (zh) * | 2021-08-25 | 2021-11-26 | 上海哔哩哔哩科技有限公司 | 基于容器编排的数据处理方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221962A1 (zh) * | 2022-05-17 | 2023-11-23 | 北京字跳网络技术有限公司 | 视图生成方法、装置、电子设备及存储介质 |
CN116909582A (zh) * | 2023-09-13 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种可视化大屏业务部署方法、装置及电子设备 |
CN116909582B (zh) * | 2023-09-13 | 2024-01-30 | 云账户技术(天津)有限公司 | 一种可视化大屏业务部署方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831453B2 (en) | Connectors framework | |
CN114115852A (zh) | 可视化服务编排方法、装置、设备及介质 | |
US9619122B2 (en) | Method and apparatus for automatic device program generation | |
CN111930521A (zh) | 用于部署应用的方法、装置、电子设备及可读存储介质 | |
CN114398115A (zh) | 可视化流水线生成方法和装置、存储介质及电子设备 | |
CN106302008A (zh) | 数据更新方法和装置 | |
CN111126781A (zh) | Rpa业务流程的创建方法及系统 | |
CN112073471A (zh) | 设备的控制方法和装置、存储介质及电子装置 | |
CN113778486B (zh) | 一种代码流水线的容器化处理方法、装置、介质及设备 | |
CN104836840A (zh) | 移动终端的控制方法、服务器、装置和系统 | |
CN115292026A (zh) | 容器集群的管理方法、装置、设备及计算机可读存储介质 | |
CN103257852A (zh) | 一种分布式应用系统的开发环境搭建的方法和装置 | |
CN114501501A (zh) | 移动通信网络靶场的配置管理方法、装置、设备及介质 | |
CN110795139A (zh) | 客户端批量打包方法、装置、计算机设备和存储介质 | |
CN110865840B (zh) | 一种应用管理方法、装置、服务器及存储介质 | |
CN110109684B (zh) | 区块链节点管理代理服务安装方法、电子装置及存储介质 | |
CN111984248A (zh) | 页面编辑方法和装置、存储介质及电子装置 | |
CN107526584B (zh) | 数据接入方法和装置 | |
CN111651352A (zh) | 一种仓库代码的合并方法及装置 | |
CN112558968B (zh) | 一种资源树视图的生成方法、装置、设备及存储介质 | |
Prist et al. | Cyber-physical manufacturing systems: An architecture for sensor integration, production line simulation and cloud services | |
CN116755994A (zh) | 云平台性能测试方法和系统、电子设备及存储介质 | |
US20220342742A1 (en) | Graphical management of big data pipelines | |
CN116248526A (zh) | 部署容器平台的方法、装置及电子设备 | |
CN113434190B (zh) | 数据处理方法和装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |