一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

项目的部署方法及装置与流程

2022-04-30 15:24:47 来源:中国专利 TAG:


1.本发明属于计算机技术领域,特别是涉及一种项目的部署方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随着微服务架构技术的不断发展,采用微服务架构的场景下对服务项目搭建的成本也在不断提高。
3.在目前,微服务架构场景下,待部署的服务项目包含了数量庞大的服务集群,且涉及的服务部署也较为复杂,目前通常采用人工配置的手段,依次完成服务集群中各个服务的部署。
4.但是,发明人在研究过程中发现,目前方案中,人工配置的手段会产生人力成本较高,部署效率低下且配置过程容易出错的问题。


技术实现要素:

5.基于此,本发明提供了一种项目的部署方案,以解决相关技术中人工配置的手段会产生人力成本较高,配置效率低下且配置过程容易出错的问题。
6.本发明还提供了一种项目的部署装置,用以保证上述方法在实际中的实现及应用。
7.本发明实施例提供了一种项目的部署方法,应用于部署调度服务器,该方法包括:
8.响应于针对项目模板和节点服务器发起的项目部署请求,获取所述项目模板以及所述节点服务器的标识;所述项目模板包括:待部署项目包括的至少一个待部署服务,所述待部署服务的服务部署数据的访问地址、所述待部署服务的部署优先级、外部访问端口、依赖中间件的标识;
9.根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,并根据所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成部署任务;
10.根据所述节点服务器的标识,将所述部署任务发送至所述节点服务器,以供所述节点服务器根据所述部署任务,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务,其中,所述待部署服务包括虚拟机服务和/或容器应用服务。
11.本发明实施例还提供了一种项目的部署装置,应用于部署调度服务器,该装置包括:
12.获取模块,用于响应于针对项目模板和节点服务器发起的项目部署请求,获取所述项目模板以及所述节点服务器的标识;所述项目模板包括:待部署项目包括的至少一个待部署服务,所述待部署服务的服务部署数据的访问地址、所述待部署服务的部署优先级、外部访问端口、依赖中间件的标识;
13.生成模块,用于根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,并根据所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成部署任务;
14.部署模块,用于根据所述节点服务器的标识,将所述部署任务发送至所述节点服务器,以供所述节点服务器根据所述部署任务,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务,其中,所述待部署服务包括虚拟机服务和/或容器应用服务。
15.本发明实施例还提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现所述的项目的部署方法。
16.本发明实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的项目的部署方法。
17.本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的项目的部署方法。
18.在本发明实施例中,包括:通过响应于针对项目模板和节点服务器发起的项目部署请求,获取项目模板以及节点服务器的标识;根据服务部署数据的访问地址,获取待部署服务的服务部署数据,并根据依赖中间件的标识、外部访问端口、部署优先级和服务部署数据生成部署任务;根据节点服务器的标识,将部署任务发送至节点服务器,以供节点服务器批量部署待部署服务,其中,待部署服务包括虚拟机服务和/或容器应用服务。本发明实施例提供一种支持虚拟化、容器化服务的自动批量部署方式,通过项目模板的自定义,简化项目部署流程,使得部署方式更加灵活,实现了基于项目模板的一键部署功能,降低了对人力资源的依赖,提升了部署效率和准确率。
附图说明
19.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例提供的一种项目的部署方法的步骤流程图;
21.图2是本发明实施例提供的一种项目的部署方法的架构图;
22.图3是本发明实施例提供的一种项目的部署方法的具体步骤流程图;
23.图4是本发明实施例提供的一种项目的部署方法的交互流程图;
24.图5是本发明实施例提供的一种项目的重建升级方法的交互流程图;
25.图6是本发明实施例提供的一种项目的部署装置的框图;
26.图7本公开一个实施例的电子设备的逻辑框图;
27.图8本公开另一个实施例的电子设备的逻辑框图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
30.本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
31.图1是本发明实施例提供的一种项目的部署方法的步骤流程图,应用于部署调度服务器,如图1所示,该方法可以包括:
32.步骤101、响应于针对项目模板和节点服务器发起的项目部署请求,获取所述项目模板以及所述节点服务器的标识。
33.其中,所述项目模板包括:待部署项目包括的至少一个待部署服务,所述待部署服务的服务部署数据的访问地址、所述待部署服务的部署优先级、外部访问端口、依赖中间件的标识。
34.在本发明实施例中,参照图2,其示出了本发明实施例提供的一种项目的部署方法的架构图,包括:部署调度服务器、多个节点服务器和部署信息管理系统。部署信息管理系统包括服务管理服务器、项目模板服务器、项目管理服务器、资源管理服务器、配置仓库服务器、编排文件仓库服务器。
35.服务管理服务器用于负责虚拟化服务与容器应用服务的管理,实现服务部署、升级、回滚、扩容、销毁功能;项目模板服务器用于维护用户上传的项目模板;项目管理服务器用于对项目模板进行部署之后的实例化体现进行管理,记录了项目状态等信息;资源管理服务器用于负责所有节点服务器的虚拟机、物理机、容器化集群的管理和资源采集;配置仓库服务器用于维护用户上传的配置信息;编排文件仓库服务器用于维护用户上传的容器编排文件。
36.本发明实施例的诉求是由部署调度服务器响应于项目部署请求,从部署信息管理系统中获取待部署项目包含的服务所需的服务部署数据和项目模板,并基于服务部署数据和项目模板生成部署任务下发至节点服务器进行项目部署。
37.具体的,部署信息管理系统中包含项目模板服务器,项目模板服务器用于实现对项目模板的存储和维护,项目模板定义了一个待部署项目包含的多个单体服务,是一个对项目服务的批量管理工具。
38.在部署调度服务器开始执行部署操作之前,用户可以根据待部署项目所需的服务列表、服务所依赖的中间件(用于实现服务所需的部分功能,如中间件可以为实现缓存功能的中间件)列表,通过客户端定义各个服务的部署方式、版本、名称、部署优先级(用于表征部署的次序)、服务端口(服务对外开放的端口,以便于外界用户访问)等参数,定义完成后生成项目模板并上传至项目模板服务器,进一步的,用户可以通过客户端,将待部署的服务所需的服务部署数据上传至部署信息管理系统中的指定位置进行存储,并在项目模板中定
义服务部署数据的访问地址。
39.在客户端完成上述操作后,客户端可以向部署调度服务器发送针对项目模板和节点服务器(由客户端的用户指定)发起的项目部署请求,以便于部署调度服务器响应于项目部署请求,从项目模板服务器获取用户上传的项目模板,以及从部署信息管理系统的资源管理服务器获取用户指定的节点服务器的标识,其中,资源管理服务器用于实现对所有节点服务器的管理和资源采集。
40.具体的,在用户上传项目模板时,项目模板服务器可以存储用户标识与项目模板的对应关系,在用户指定节点服务器时,资源管理服务器也可以存储用户标识与节点服务器的标识的对应关系,客户端发送至部署调度服务器的项目部署请求中可以携带用户标识,以供部署调度服务器通过用户标识,在目模板服务器中获取与用户标识对应的项目模板,以及在资源管理服务器中获取与用户标识对应的节点服务器的标识。
41.步骤102、根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,并根据所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成部署任务。
42.在本发明实施例中,由于项目模板中定义了服务部署数据的访问地址,因此,部署调度服务器可以通过该访问地址,从图2所示的部署信息管理系统中获取待部署服务的服务部署数据,进而根据所述依赖中间件的标识、外部访问端口、部署优先级和服务部署数据生成部署任务。部署任务所携带的这些参数可以供节点服务器执行项目部署操作。
43.步骤103,根据所述节点服务器的标识,将所述部署任务发送至所述节点服务器。
44.以供所述节点服务器根据所述部署任务,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务,其中,所述待部署服务包括虚拟机服务和/或容器应用服务。
45.在本发明实施例中,为了实现在节点服务器快速批量的部署待部署项目中包含的各个待部署服务,节点服务器可以通过部署调度服务器发送的部署任务中的依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,基于部署优先级的次序快速在本地环境中通过服务部署数据部署各个待部署服务,并为待部署服务添加中间件的依赖以及外部访问端口。
46.在本发明实施例中,待部署服务包括但不限于虚拟机服务和容器应用服务两种类型,其中,虚拟机服务是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机服务中都能够实现,由于虚拟机服务独立运行在节点服务器上,完全独立于节点服务器的其他运行模块,虚拟机里面的所有操作不会影响节点服务器的其他运行模块,因此虚拟机服务通常可以用来进行数据的测试与实验。容器应用技术可以将应用打包成单一地址访问的、由数据库存储的、仅通过一行命令就可以部署完成的组件。不论将容器应用服务部署在哪里,容器应用服务都可以从根本上简化服务部署工作,实现轻量化的目的,由于实现了轻量化的设计需求,因此容器应用服务具有响应迅速,易于迁移等优势。
47.综上,本发明实施例提供的一种项目的部署方法,通过响应于针对项目模板和节点服务器发起的项目部署请求,获取项目模板以及节点服务器的标识;根据服务部署数据的访问地址,获取待部署服务的服务部署数据,并根据依赖中间件的标识、外部访问端口、
部署优先级和服务部署数据生成部署任务;根据节点服务器的标识,将部署任务发送至节点服务器,以供节点服务器批量部署待部署服务,其中,待部署服务包括虚拟机服务和/或容器应用服务。本发明实施例提供一种支持虚拟化、容器化服务的自动批量部署方式,通过项目模板的自定义,简化项目部署流程,使得部署方式更加灵活,实现了基于项目模板的一键部署功能,降低了对人力资源的依赖,提升了部署效率和准确率。
48.图3是本发明实施例提供的一种项目的部署方法的具体步骤流程图,如图3所示,该方法可以包括:
49.步骤201、响应于针对项目模板和节点服务器发起的项目部署请求,获取所述项目模板以及所述节点服务器的标识。
50.其中,所述项目模板包括:待部署项目包括的至少一个待部署服务,所述待部署服务的服务部署数据的访问地址、所述待部署服务的部署优先级、外部访问端口、依赖中间件的标识。
51.该步骤具体可以参照上述步骤101的相关描述,此处不再赘述。
52.步骤202、根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,并根据所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成部署任务。
53.该步骤具体可以参照上述步骤102的相关描述,此处不再赘述。
54.可选的,一种实现方式下,步骤202具体可以包括:
55.子步骤2021、在所述待部署服务包括虚拟机服务的情况下,根据所述服务部署数据的访问地址,获取所述虚拟机服务的配置信息和部署文件。
56.参照图4,其示出了本发明实施例提供的一种项目的部署方法的交互流程图,现基于图4对当前实施例的具体实施过程进行描述。
57.在部署调度服务器开始执行部署项目操作之前,可以先由客户端执行s1定义项目模板的操作,在项目模板中定义了待部署服务包括虚拟机服务的情况下,由于部署虚拟机服务需要配置信息和部署文件作为服务部署数据,则用户需要在定义项目模板的同时,执行s2上传虚拟机服务所需的配置信息至配置仓库服务器,以及执行上传虚拟机服务所需的部署文件至对应存储片区的操作。
58.在客户端执行完上述操作后,客户端可以执行s4发送项目部署请求至部署调度服务器的操作,项目部署服务器可以执行s5从项目模板服务器获取用户上传的项目模板,以及执行s6从资源管理服务器获取用户指定的节点服务器的标识,由于用户定义了需部署虚拟机服务,则客户端可以根据服务部署数据的访问地址,执行s7从配置仓库服务器获取部署虚拟机服务所需的配置信息,以及执行从预设存储片区获取部署文件的操作。
59.可选的,所述服务部署数据的访问地址包括:所述虚拟机服务的标识、部署文件的存储路径,子步骤2021具体可以包括:
60.子步骤a1、根据所述虚拟机服务的标识,从配置仓库服务器中获取所述虚拟机服务的配置信息,所述配置仓库服务器中的配置信息是由客户端上传的。
61.子步骤a2、根据所述部署文件的存储路径,获取所述部署文件。
62.在本技术实施例中,用户通过客户端在配置仓库服务器上传配置信息时,配置仓库服务器可以存储配置信息与虚拟机服务的标识的对应关系,进而在部署调度服务器部署
虚拟机服务前,可以通过服务部署数据的访问地址包括的虚拟机服务的标识,从配置仓库服务器中获取虚拟机服务的配置信息。
63.进一步的,用户在上传部署文件至对应存储片区时,可以记录部署文件在预设存储片区存放的存储路径,存储路径可以为文件传输协议(file transfer protocol,ftp)地址,部署调度服务器可以通过存储路径,从预设存储片区获取部署文件。
64.子步骤2022、根据所述部署方式、所述外部访问端口、所述部署优先级、所述配置信息和所述部署文件生成第一部署任务。
65.其中,所述第一部署任务用于供所述节点服务器,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、所述配置信息和所述部署文件,批量部署所述虚拟机服务。
66.在获得部署虚拟机服务所需的服务部署数据后,参照图4,部署调度服务器可以执行s8在节点服务器的虚拟机内部署虚拟机服务,从而完成待部署项目中虚拟机服务的批量部署,部署过程中,完成了虚拟机服务依赖的中间件的配置,完成了外部访问端口的添加,且部署顺序依照项目模板定义的部署优先级进行执行,其中,节点服务器中用于部署虚拟机服务的虚拟机可以是用户指定的虚拟机。
67.可选的,另一种实现方式下,步骤202具体可以包括:
68.子步骤2023、在所述待部署服务包括容器应用服务的情况下,根据所述服务部署数据的访问地址,获取所述容器应用服务的容器编排文件和镜像文件。
69.在部署调度服务器开始执行部署项目操作之前,参照图4,可以先由客户端执行s1定义项目模板的操作,在项目模板中定义了待部署服务包括容器应用服务的情况下,由于部署容器应用服务需要容器编排文件和镜像文件作为服务部署数据,则用户需要在定义项目模板的同时,执行s3上传容器应用服务所需的容器编排文件至编排文件仓库服务器,以及执行上传容器应用服务所需的镜像文件至镜像仓库服务器的操作。
70.其中,容器编排文件可以为基于kubernetes的helm chart编排文件,具体可根据需求,灵活定义容器应用服务的转发规则、存储、探针检测、动态伸缩扩容、和滚动更新策略等,能够实现更优异的容器应用服务编排和管理功能。如下使出了一种helm chart编排文件的示例:
71.[0072][0073]
在客户端执行完上述操作后,客户端可以执行s4发送项目部署请求至部署调度服务器的操作,项目部署服务器可以执行s5从项目模板服务器获取用户上传的项目模板,以及执行s6从资源管理服务器获取用户指定的节点服务器的标识,由于用户定义了需部署容器应用服务,则客户端可以根据服务部署数据的访问地址,执行s9从编排文件仓库服务器获取部署容器应用服务所需的容器编排文件,以及执行从镜像仓库服务器获取镜像文件的操作。
[0074]
可选的,所述服务部署数据的访问地址包括:所述容器应用服务的标识,子步骤2023具体可以包括:
[0075]
子步骤b1、根据所述容器应用服务的标识,从编排文件仓库服务器中获取所述虚拟机服务的容器编排文件,所述编排文件仓库服务器中的容器编排文件是由客户端上传的。
[0076]
子步骤b2、根据所述容器应用服务的标识,从镜像仓库服务器中获取所述虚拟机服务的镜像文件,所述镜像仓库服务器中的镜像文件是由客户端上传的。
[0077]
在本技术实施例中,用户通过客户端在编排文件仓库服务器上传容器编排文件时,编排文件仓库服务器可以存储容器编排文件与容器应用服务的标识的对应关系,进而在部署调度服务器部署容器应用服务前,可以通过服务部署数据的访问地址包括的容器应用服务的标识,从编排文件仓库服务器中获取容器应用服务的容器编排文件。
[0078]
进一步的,用户在上传镜像文件至镜像仓库服务器时,镜像仓库服务器可以存储镜像文件与容器应用服务的标识的对应关系,部署调度服务器可以通过容器应用服务的标识,从镜像仓库服务器中获取容器应用服务的镜像文件。
[0079]
子步骤2024、根据所述部署方式、所述外部访问端口、所述部署优先级、所述配置信息和所述部署文件数据包生成第二部署任务,所述第二部署任务用于供所述节点服务器,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、所述容器编排文件和所述镜像文件,批量部署所述容器应用服务。
[0080]
在获得部署容器应用服务所需的服务部署数据后,参照图4,部署调度服务器可以执行s10在节点服务器的容器内部署容器应用服务,从而完成待部署项目中容器应用服务的批量部署,部署过程中,完成了容器应用服务依赖的中间件的配置,完成了外部访问端口的添加,且部署顺序依照项目模板定义的部署优先级进行执行,其中,节点服务器中用于部
署容器应用服务的容器可以是用户指定的容器。
[0081]
步骤203、根据所述节点服务器的标识,将所述部署任务发送至所述节点服务器的边缘处理模块中的自动批量部署进程。
[0082]
以供自动批量部署进程根据所述部署任务,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、所述服务部署数据,在所述服务部署片区中批量部署所述待部署服务。
[0083]
其中,所述节点服务器包括边缘处理模块和服务部署片区,所述边缘处理模块中设置有自动批量部署进程。
[0084]
在本发明实施例中,参照图2,为了保障节点服务器中容器和虚拟机工作的独立性,本技术实施例可以将节点服务器的部署操作与节点服务器的容器和虚拟机工作环境相互独立,即具体在节点服务器中划分边缘处理模块和服务部署片区,边缘处理模块中设置有自动批量部署进程,以通过边缘处理模块中的自动批量部署进程以边缘计算处理的方式在服务部署片区中批量部署所述待部署服务,实现独立于容器和虚拟机工作环境的部署操作。
[0085]
其中,边缘处理模块可以为flansible:ansible rest api(批量自动化运维工具),该批量自动化运维工具可以实现基于项目模板中定义的参数和服务部署数据,自动化批量部署服务的功能。
[0086]
可选的,步骤203具体可以包括:
[0087]
子步骤2031、根据所述节点服务器的标识,通过中心网关服务由公网将所述部署任务发送至所述节点服务器的边缘处理模块的边缘网关服务,以供所述边缘网关服务将所述部署任务发送至所述边缘处理模块的自动批量部署进程。
[0088]
在本发明实施例中,参照图2,部署调度服务器可以通过中心网关服务向公网传输数据,且节点服务器的边缘处理模块中具有边缘网关服务,边缘网关无法用于接收通过公网发来的数据,本发明实施例基于中心网关服务,实现了部署调度服务器与公网的连接,基于边缘网关服务实现了边缘处理模块与公网的连接,从而实现了将部署调度服务器的部署任务由公网发送至节点服务器的边缘处理模块的功能。
[0089]
步骤204、接收所述节点服务器在部署结束后发送的部署状态信息,并将所述部署状态信息发送至客户端。
[0090]
在本发明实施例中,部署结束后,节点服务器会想部署调度服务器发送部署状态信息,以反映部署情况,部署调度服务器可以将部署状态信息以实时广播的方式发送至客户端,以供客户端用户了解部署结果。
[0091]
可选的,所述项目模板还包括:可配置的个性化参数,在步骤202之前,所述方法还包括:
[0092]
步骤205、将所述项目模板和所述节点服务器的标识发送给客户端,以供所述客户端根据所述节点服务器的标识,对所述项目模板进行个性化参数的配置。
[0093]
在本发明实施例中,项目模板中还可以具有可配置的个性化参数,部署节点服务器在获取到项目模板和所述节点服务器的标识后,还可以将项目模板和所述节点服务器的标识发送至客户端,以供客户端根据节点服务器的标识,对项目模板进行个性化参数的配置,如客户端可以执行一些如服务执行周期的设置、服务中相关个性化参数的强度调整等
个性化参数的配置,提高部署的服务的个性化程度。
[0094]
可选的,所述方法还包括:
[0095]
步骤206、根据所述服务部署数据的访问地址、所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成第三部署任务。
[0096]
步骤207、根据所述节点服务器的标识,将所述第三部署任务发送至所述节点服务器,以供所述节点服务器根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务。
[0097]
在本发明实施例的另一种实现方式中,部署调度服务器也可以不执行根据服务部署数据的访问地址,从部署信息管理系统获取服务部署数据的操作,而是根据服务部署数据的访问地址、所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成第三部署任务,将第三部署任务发送至节点服务器,由节点服务器先根据服务部署数据的访问地址获取服务部署数据,再按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务,提高了部署方案执行的灵活性。
[0098]
可选的,所述方法还包括:
[0099]
步骤208、在确定所述节点服务器已部署项目的情况下,响应于针对所述待部署服务发起的项目重建升级请求,向所述节点服务器发送销毁指令,以供所述节点服务器根据所述销毁指令,销毁所述已部署项目。
[0100]
本发明实施例还可以提供针对已部署的项目进行重建升级的功能,以完成项目的更新换代,参照图5,其示出了本发明实施例提供的一种项目的重建升级方法的交互流程图,在确定节点服务器已部署待部署服务的情况下,若用户需要对已部署的项目进行重建更新,则用户可以通过客户端执行m1向项目模板服务器上传更新的项目模板,在已部署的项目包括虚拟机服务时,执行m2向配置仓库服务器上传更新的配置信息,以及向预设存储片区上传更新的部署文件;在已部署的项目包括容器应用服务时,客户端可以执行m3向编排文件仓库服务器上传更新的容器编排文件,以及向镜像仓库服务器上传更新的镜像文件。
[0101]
在完成上述客户端操作后,客户端可以执行m4选择要升级的项目,向部署调度服务器发起项目重建请求,部署调度服务器可以响应于针对所述待部署服务发起的项目重建请求,向所述节点服务器发送销毁指令,以供所述节点服务器根据所述销毁指令,销毁所述已部署的待部署服务,等待新项目的更新部署。具体为,在项目中具有虚拟机服务时,部署调度服务器控制节点服务器执行m5销毁已部署项目中的虚拟机服务,在项目中具有容器应用服务时,部署调度服务器控制节点服务器执行m6销毁已部署项目中的容器应用服务。
[0102]
步骤209、获取更新的项目模板。
[0103]
在该步骤中,参照图5,客户端可以执行m7向部署调度服务器发起升级请求,使得部署调度服务器响应于升级请求,执行m8从项目模板服务器获取更新的项目模板,以及执行m9从资源管理服务器获取用户指定升级的节点服务器的标识。
[0104]
步骤210、根据所述更新的项目模板中服务部署数据的访问地址,获取更新服务部署数据,并根据所述更新的项目模板的依赖中间件的标识、所述外部访问端口、所述部署优
先级和所述更新服务部署数据生成更新部署任务。
[0105]
在该步骤中,参照图5,客户端进一步可以根据所述更新的项目模板中服务部署数据的访问地址,获取更新服务部署数据,并根据所述更新的项目模板的依赖中间件的标识、所述外部访问端口、所述部署优先级和所述更新服务部署数据生成更新部署任务。
[0106]
具体的,在升级的服务包括虚拟机服务时,部署调度服务器可以执行m10从配置仓库服务器获取更新的配置信息,以及从预设存储片区获取更新的部署文件,将更新的配置信息和更新的部署文件作为针对虚拟机服务的新服务部署数据;在项目中具有容器应用服务时,部署调度服务器可以执行m12从编排文件仓库服务器获取更新的容器编排文件,以及从镜像仓库服务器获取更新的镜像文件,将更新的容器编排文件和更新的镜像文件作为针对容器应用服务的新服务部署数据。
[0107]
步骤211、根据所述节点服务器的标识,将所述更新部署任务发送至所述节点服务器,以供所述节点服务器根据所述更新部署任务,建立更新的部署项目替代已销毁的已部署项目。
[0108]
在该步骤中,部署调度服务器可以发送基于更新的项目模板和所述更新服务部署数据生成的更新部署任务至节点服务器,节点服务器从而可以根据所述更新部署任务,建立更新的部署项目替代已销毁的已部署项目,完成项目的更新重建。
[0109]
具体的,参照图5,在升级的服务包括虚拟机服务时,部署调度服务器可以控制节点服务器执行m11部署更新的虚拟机服务;在升级的服务包括容器应用服务时,部署调度服务器可以控制节点服务器执行m13部署更新的容器应用服务;部署完成后,部署调度服务器可以执行m14向客户端发送部署状态信息,以供客户端感知项目重建升级的结果。
[0110]
在实际应用过程中,针对采用了本发明的项目的部署方法的场景,在项目总共包括32个服务,其中13个虚拟化服务,19个容器化服务,需要部署到48台虚机上,另外还需要项目数据初始化,涉及虚拟服务配置和容器化服务配置,部署配置过程繁琐,即使在这种复杂场景下,本发明实施例也可以将部署一个服务的时间缩短到30分钟,一次部署的成功率基本可达到100%,部署时间是之前人工部署所耗时间的1/8,以全省50个服务每月迭代升级一次估算,每月可节省部署时间175个工时,大幅提升部署效率。
[0111]
综上所述,本发明实施例提供的一种项目的部署方法,通过响应于针对项目模板和节点服务器发起的项目部署请求,获取项目模板以及节点服务器的标识;根据服务部署数据的访问地址,获取待部署服务的服务部署数据,并根据依赖中间件的标识、外部访问端口、部署优先级和服务部署数据生成部署任务;根据节点服务器的标识,将部署任务发送至节点服务器,以供节点服务器批量部署待部署服务,其中,待部署服务包括虚拟机服务和/或容器应用服务。本发明实施例提供一种支持虚拟化、容器化服务的自动批量部署方式,通过项目模板的自定义,简化项目部署流程,使得部署方式更加灵活,实现了基于项目模板的一键部署功能,降低了对人力资源的依赖,提升了部署效率和准确率。
[0112]
另外,本发明实施例通过引入自定义项目模板的功能,将复杂项目进行模板化,大大降低了部署复杂度,且根据业务需要和服务依赖关系可以灵活定义项目模板里每个服务的容器化或虚拟化部署方式以及相关部署参数,使得项目部署作业流程化,标准化,自动化,初期调试好项目模板后,后续可以便捷的复用到各种环境,使得部署过程不依赖于运维部署经验,极大提升部署效率,缩短产品版本发布周期,更利于版本控制和迭代升级。
[0113]
图6是本发明实施例提供的一种项目的部署装置的框图,应用于部署调度服务器,如图6所示,该装置可以包括:
[0114]
获取模块301,用于响应于针对项目模板和节点服务器发起的项目部署请求,获取所述项目模板以及所述节点服务器的标识;所述项目模板包括:待部署项目包括的至少一个待部署服务,所述待部署服务的服务部署数据的访问地址、所述待部署服务的部署优先级、外部访问端口、依赖中间件的标识;
[0115]
生成模块302,用于根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,并根据所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成部署任务;
[0116]
部署模块303,用于根据所述节点服务器的标识,将所述部署任务发送至所述节点服务器,以供所述节点服务器根据所述部署任务,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务,其中,所述待部署服务包括虚拟机服务和/或容器应用服务。
[0117]
可选的,所述生成模块302,包括:
[0118]
第一获取子模块,用于在所述待部署服务包括虚拟机服务的情况下,根据所述服务部署数据的访问地址,获取所述虚拟机服务的配置信息和部署文件;
[0119]
第一生成子模块,用于根据所述部署方式、所述外部访问端口、所述部署优先级、所述配置信息和所述部署文件生成第一部署任务,所述第一部署任务用于供所述节点服务器,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、所述配置信息和所述部署文件,批量部署所述虚拟机服务。
[0120]
可选的,所述服务部署数据的访问地址包括:所述虚拟机服务的标识、部署文件的存储路径;所述第一获取子模块,包括:
[0121]
第一获取单元,用于根据所述虚拟机服务的标识,从配置仓库服务器中获取所述虚拟机服务的配置信息,所述配置仓库服务器中的配置信息是由客户端上传的;
[0122]
第二获取单元,用于根据所述部署文件的存储路径,获取所述部署文件。
[0123]
可选的,所述生成模块302,包括:
[0124]
第二获取子模块,用于在所述待部署服务包括容器应用服务的情况下,根据所述服务部署数据的访问地址,获取所述容器应用服务的容器编排文件和镜像文件;
[0125]
第二生成子模块,用于根据所述部署方式、所述外部访问端口、所述部署优先级、所述配置信息和所述部署文件数据包生成第二部署任务,所述第二部署任务用于供所述节点服务器,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、所述容器编排文件和所述镜像文件,批量部署所述容器应用服务。
[0126]
可选的,所述第二获取子模块,包括:
[0127]
第三获取单元,用于根据所述容器应用服务的标识,从编排文件仓库服务器中获取所述虚拟机服务的容器编排文件,所述编排文件仓库服务器中的容器编排文件是由客户端上传的;
[0128]
第四获取单元,用于根据所述容器应用服务的标识,从镜像仓库服务器中获取所述虚拟机服务的镜像文件,所述镜像仓库服务器中的镜像文件是由客户端上传的。
[0129]
可选的,所述节点服务器包括边缘处理模块和服务部署片区,所述边缘处理模块
中设置有自动批量部署进程,所述部署模块303,包括:
[0130]
批量部署子模块,用于根据所述节点服务器的标识,将所述部署任务发送至所述节点服务器的边缘处理模块中的自动批量部署进程,以供所述自动批量部署进程根据所述部署任务,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、所述服务部署数据,在所述服务部署片区中批量部署所述待部署服务。
[0131]
可选的,所述批量部署子模块,包括:
[0132]
公网转发单元,用于根据所述节点服务器的标识,通过中心网关服务由公网将所述部署任务发送至所述节点服务器的边缘处理模块的边缘网关服务,以供所述边缘网关服务将所述部署任务发送至所述边缘处理模块的自动批量部署进程。
[0133]
可选的,所述项目模板还包括:可配置的个性化参数,所述装置还包括:
[0134]
个性化配置模块,用于将所述项目模板和所述节点服务器的标识发送给客户端,以供所述客户端根据所述节点服务器的标识,对所述项目模板进行个性化参数的配置。
[0135]
可选的,所述装置还包括:
[0136]
广播模块,用于接收所述节点服务器在部署结束后发送的部署状态信息,并将所述部署状态信息发送至客户端。
[0137]
可选的,所述方法还包括:
[0138]
备选生成模块,用于根据所述服务部署数据的访问地址、所述依赖中间件的标识、所述外部访问端口、所述部署优先级和所述服务部署数据生成第三部署任务;
[0139]
备选部署模块,用于根据所述节点服务器的标识,将所述第三部署任务发送至所述节点服务器,以供所述节点服务器根据所述服务部署数据的访问地址,获取所述待部署服务的服务部署数据,按照所述依赖中间件的标识、所述外部访问端口、所述部署优先级、服务部署数据,批量部署所述待部署服务。
[0140]
可选的,所述装置还包括:
[0141]
销毁模块,用于在确定所述节点服务器已部署项目的情况下,响应于针对所述待部署服务发起的项目重建升级请求,向所述节点服务器发送销毁指令,以供所述节点服务器根据所述销毁指令,销毁所述已部署项目;
[0142]
更新获取模块,用于获取更新的项目模板;
[0143]
更新生成模块,用于根据所述更新的项目模板中服务部署数据的访问地址,获取更新服务部署数据,并根据所述更新的项目模板的依赖中间件的标识、所述外部访问端口、所述部署优先级和所述更新服务部署数据生成更新部署任务;
[0144]
更新部署模块,用于根据所述节点服务器的标识,将所述更新部署任务发送至所述节点服务器,以供所述节点服务器根据所述更新部署任务,建立更新的部署项目替代已销毁的已部署项目。
[0145]
综上所述,本发明实施例提供的一种项目的部署装置,通过响应于针对项目模板和节点服务器发起的项目部署请求,获取项目模板以及节点服务器的标识;根据服务部署数据的访问地址,获取待部署服务的服务部署数据,并根据依赖中间件的标识、外部访问端口、部署优先级和服务部署数据生成部署任务;根据节点服务器的标识,将部署任务发送至节点服务器,以供节点服务器批量部署待部署服务,其中,待部署服务包括虚拟机服务和/或容器应用服务。本发明实施例提供一种支持虚拟化、容器化服务的自动批量部署方式,通
过项目模板的自定义,简化项目部署流程,使得部署方式更加灵活,实现了基于项目模板的一键部署功能,降低了对人力资源的依赖,提升了部署效率和准确率。
[0146]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0147]
图7是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0148]
参照图7,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
[0149]
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
[0150]
存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0151]
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
[0152]
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0153]
音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
[0154]
i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0155]
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态
评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0156]
通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0157]
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本公开实施例提供的一种项目的部署方法。
[0158]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0159]
图8是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图8,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本公开实施例提供的一种项目的部署方法。
[0160]
电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
[0161]
本公开实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的项目的部署方法。
[0162]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0163]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献