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

一种部署方法和装置与流程

2022-04-27 04:13:10 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种部署方法和装置。


背景技术:

2.将业务服务接入容器化能够实现资源隔离、环境标准化、快速迁移等特性,相较于传统的物理机部署方式,提升了安全性、管理效率、和资源利用率等。
3.有多种方案能够实现将业务服务从物理机部署场景接入容器化。由于不同服务根据其特性和需求会选择不同的容器运行方案,并且接入容器化的过程涉及到物理机到容器的逐步迁移和验证,在很长时间内两种部署场景将并存。然而,单纯针对物理机的部署方案、或者单纯针对容器的部署方案都不能满足上述并存、或长期的迁移过程的管理需求。
4.基于现有技术的容器化接入方案一般将业务代码带入镜像中,通过在镜像中的拉取和删除操作来控制代码生命周期。此方式需要对业务服务的适配和改造,接入成本较高。并且,镜像的销毁和拉起所消耗的时间也比单纯的服务启动时间更长。
5.从部署方式上看,为保障业务切换容器化后的稳定性,迁移至容器化的实例需要进行长时间灰度测试,从而逐步实现完全迁移至容器化。对于大量业务服务来讲,存在部分业务完全采用物理机部署、部分业务完全采用容器部署、部分业务采用半物理机半容器部署的情况。然而,基于现有技术的方案一般无法提供能够解决上述多种部署场景的通用的部署方案。


技术实现要素:

6.本发明的目的是提供一种部署方法和装置。
7.根据本技术的实施例,提供了一种部署方法,其中,所述方法包括以下步骤:
8.响应于来自用户端设备的部署请求,确定与该部署请求对应的实例类型和部署模式,其中,所述实例类型包括物理机实例和容器实例;
9.基于所确定的实例类型和部署模式,执行相应的部署操作。
10.根据本技术的实施例,提供了一种部署装置,其中,所述部署装置包括:
11.用于响应于来自用户端设备的部署请求,确定与该部署请求对应的实例类型和部署模式的装置,其中,所述实例类型包括物理机实例和容器实例;
12.用于基于所确定的实例类型和部署模式,执行相应的部署操作的装置。
13.根据本技术的实施例,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本技术实施例的方法。
14.根据本技术的实施例,提供了一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本技术实施例的方法。
15.与现有技术相比,本技术实施例具有以下优点:本技术实施例支持三种部署模式进行部署,为物理机和容器并存的多种情况提供了统一的部署方案,提升了部署效率;通过
提供一种改进的混合基础镜像和应用代码的部署模式,该部署模式下无需将业务代码打入镜像容器,无需对已部署的服务进行适配改造,相较于现有的容器化接入方案,避免了改造和接入成本,同时兼具容器化接入具有的容器资源隔离、环境文件保留等优势。
附图说明
16.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
17.图1示出了根据本技术实施例的部署方法流程图;
18.图2示出了根据本技术实施例的部署装置的结构示意图。
19.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
20.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
21.在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由asic、fpga、dsp等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
22.所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本技术,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本技术。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。
23.需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本技术,也应包含在本技术保护范围以内,并以引用方式包含于此。
24.后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
25.这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本技术的示例性实施例的目的。但是本技术可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
26.应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
27.应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
28.这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
29.还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
30.下面结合附图对本发明作进一步详细描述。
31.图1示出了根据本技术实施例的用于的方法流程图。所述方法包括步骤s1和步骤s2。
32.参照图1,在步骤s1中,响应于来自用户端设备的部署请求,确定与该部署请求对应的实例类型和部署模式。
33.其中,所述部署请求包含用于指示待部署设备、待部署的服务名、待升级的代码版本或镜像版本的信息。
34.其中,所述实例类型包括物理机实例和容器实例。
35.根据本实施例的方法支持的部署模式包括以下三种:
36.1)物理机模式;
37.该物理机模式为传统的物理机部署方式。在物理机模式下,对于待部署的服务,获取该服务待升级版本的代码文件,接着停止旧版本的服务并将其替换为待升级版本的代码文件后,再执行新版本服务启动命令,从而完成该服务在物理机中部署。并且,在物理机模式下,一台设备中可部署多个服务。
38.2)基础镜像和应用代码的混合模式;
39.该基础镜像和应用代码的混合模式是一种改进的容器化接入方式。在混合模式下,对于待部署的服务,通过物理机模式获取代码文件,在启动该服务前需要先拉取基础镜像容器,将物理机的代码路径绑定至容器后在容器内启动和运行该服务,以完成该服务的部署。
40.优选地,所述混合模式中基础镜像文件包含操作系统组件和运行环境组件。例如,所述运行环境组件包括tomcat、jdk、go等组件。
41.该混合模式的有益效果包括:无需将业务代码打入镜像容器,因而无需对已部署的服务进行适配改造;由于待部署的服务进程在容器中启动,继承了容器的资源限制,使得同一台设备内部署的多个服务不会相互影响;由于该混合模式将物理机路径绑定到容器内,因此容器销毁后数据、日志、环境等数据依然存在于物理机路径中,从而满足保留环境、保留中间数据、保留日志等需求;该混合模式使用基础镜像,由于在绝大多数部署场景中无需变更基础镜像,只需要变更代码版本,因此大多数场景下无需进行镜像的启动和停止,而仅需要进行服务的启动和停止,相较于传统的应用镜像模式提升了部署效率。
42.3)应用镜像模式;
43.该应用镜像模式是一种已有的容器化接入方式,该模式下需要将业务代码打入镜像容器中,通过镜像容器的启动和停止来控制服务的启动和停止。
44.以上三种部署模式中,所述物理机模式对应于物理机实例,所述混合模式和应用镜像模式对应于容器实例。
45.根据一个实施例,所述步骤s1包括步骤s101和步骤s102。
46.在步骤s101中,对所述部署请求进行解析,获得相应的待部署设备和待部署服务信息。
47.其中,所述待部署服务信息包括待部署的服务名、待升级的代码版本或镜像版本。
48.在步骤s102中,根据待部署设备自身的资源属性信息和待部署服务信息,确定与该部署请求对应的实例类型和部署模式。
49.其中,每个待部署设备具有资源属性,该资源属性指明了该设备为物理机实例或容器实例。
50.如果待部署设备自身的资源属性信息指明其为物理机实例,则确定其部署模式为物理机模式。
51.如果待部署设备自身的资源属性信息指明其为容器实例,则其对应的部署模式为基础镜像和应用代码的混合模式,或者应用镜像模式。
52.根据一个实施例,对于容器实例,根据自身或来自其他设备的指令来确定容器实例对应的部署模式为混合模式还是应用镜像模式。
53.根据一个实施例,默认容器实例对应的部署模式为混合模式,除非接收到指定部署模式为应用镜像模式的指令。
54.继续参照图1进行说明,在步骤s2中,基于所确定的实例类型和部署模式,执行相应的部署操作。
55.具体地,若待部署服务的应用代码未变更,则进一步判断基础镜像文件的版本是否有变更,若应用代码有变更,则在从代码仓库中拉取变更版本的代码数据之后再判断基础镜像文件的版本是否有变更;
56.如果基础镜像文件的版本未变更,则在容器内停止现有服务的进程并启动待部署服务,以完成待部署服务在容器中的部署。
57.如果基础镜像文件的版本有变更,则停止基础镜像容器并从镜像仓库中拉取变更版本的镜像容器,然后将物理机的部署路径绑定至新的镜像容器,从而在新的镜像容器中启动待部署服务。
58.根据本技术实施例的方法,支持三种部署模式进行部署,为物理机和容器并存的
多种情况提供了统一的部署方案,提升了部署效率;通过提供一种改进的混合基础镜像和应用代码的部署模式,该部署模式下无需将业务代码打入镜像容器,无需对已部署的服务进行适配改造,相较于现有的容器化接入方案,避免了改造和接入成本,同时兼具容器化接入具有的容器资源隔离、环境文件保留等优势。。
59.图2示出了根据本技术实施例的部署装置的结构示意图。所述部署装置包括:用于响应于来自用户端设备的部署请求,确定与该部署请求对应的实例类型和部署模式的装置(以下简称“确定装置1”),和用于基于所确定的实例类型和部署模式,执行相应的部署操作的装置(以下简称“执行装置2”)。
60.参照图2,确定装置1响应于来自用户端设备的部署请求,确定与该部署请求对应的实例类型和部署模式。
61.其中,所述部署请求包含用于指示待部署设备、待部署的服务名、待升级的代码版本或镜像版本的信息。
62.其中,所述实例类型包括物理机实例和容器实例。
63.根据本实施例的方法支持的部署模式包括以下三种:
64.1)物理机模式;
65.该物理机模式为传统的物理机部署方式。在物理机模式下,对于待部署的服务,获取该服务待升级版本的代码文件,接着停止旧版本的服务并将其替换为待升级版本的代码文件后,再执行新版本服务启动命令,从而完成该服务在物理机中部署。并且,在物理机模式下,一台设备中可部署多个服务。
66.2)基础镜像和应用代码的混合模式;
67.该基础镜像和应用代码的混合模式是一种改进的容器化接入方式。在混合模式下,对于待部署的服务,通过物理机模式获取代码文件,在启动该服务前需要先拉取基础镜像容器,将物理机的代码路径绑定至容器后在容器内启动和运行该服务,以完成该服务的部署。
68.优选地,所述混合模式中基础镜像文件包含操作系统组件和运行环境组件。例如,所述运行环境组件包括tomcat、jdk、go等组件。
69.该混合模式的有益效果包括:无需将业务代码打入镜像容器,因而无需对已部署的服务进行适配改造;由于待部署的服务进程在容器中启动,继承了容器的资源限制,使得同一台设备内部署的多个服务不会相互影响;由于该混合模式将物理机路径绑定到容器内,因此容器销毁后数据、日志、环境等数据依然存在于物理机路径中,从而满足保留环境、保留中间数据、保留日志等需求;该混合模式使用基础镜像,由于在绝大多数部署场景中无需变更基础镜像,只需要变更代码版本,因此大多数场景下无需进行镜像的启动和停止,而仅需要进行服务的启动和停止,相较于传统的应用镜像模式提升了部署效率。
70.3)应用镜像模式;
71.该应用镜像模式是一种已有的容器化接入方式,该模式下需要将业务代码打入镜像容器中,通过镜像容器的启动和停止来控制服务的启动和停止。
72.以上三种部署模式中,所述物理机模式对应于物理机实例,所述混合模式和应用镜像模式对应于容器实例。
73.根据一个实施例,所述确定装置1对所述部署请求进行解析,获得相应的待部署设
备和待部署服务信息。
74.其中,所述待部署服务信息包括待部署的服务名、待升级的代码版本或镜像版本。
75.接着,确定装置1根据待部署设备自身的资源属性信息和待部署服务信息,确定与该部署请求对应的实例类型和部署模式。
76.其中,每个待部署设备具有资源属性,该资源属性指明了该设备为物理机实例或容器实例。
77.如果待部署设备自身的资源属性信息指明其为物理机实例,则确定装置1确定其部署模式为物理机模式。
78.如果待部署设备自身的资源属性信息指明其为容器实例,则其对应的部署模式为基础镜像和应用代码的混合模式,或者应用镜像模式。
79.根据一个实施例,对于容器实例,根据自身或来自其他设备的指令来确定容器实例对应的部署模式为混合模式还是应用镜像模式。
80.根据一个实施例,默认容器实例对应的部署模式为混合模式,除非接收到指定部署模式为应用镜像模式的指令。
81.继续参照图2进行说明,执行装置2基于所确定的实例类型和部署模式,执行相应的部署操作。
82.具体地,若待部署服务的应用代码未变更,则进一步判断基础镜像文件的版本是否有变更,若应用代码有变更,则在从代码仓库中拉取变更版本的代码数据之后再判断基础镜像文件的版本是否有变更;
83.如果基础镜像文件的版本未变更,则在容器内停止现有服务的进程并启动待部署服务,以完成待部署服务在容器中的部署。
84.如果基础镜像文件的版本有变更,则停止基础镜像容器并从镜像仓库中拉取变更版本的镜像容器,然后将物理机的部署路径绑定至新的镜像容器,从而在新的镜像容器中启动待部署服务。
85.根据本技术实施例的装置,支持三种部署模式进行部署,为物理机和容器并存的多种情况提供了统一的部署方案,提升了部署效率;通过提供一种改进的混合基础镜像和应用代码的部署模式,该部署模式下无需将业务代码打入镜像容器,无需对已部署的服务进行适配改造,相较于现有的容器化接入方案,避免了改造和接入成本,同时兼具容器化接入具有的容器资源隔离、环境文件保留等优势。
86.下面结合一个示例来对本技术实施例进行说明。
87.根据本示例的系统包括请求单元,控制单元,部署单元,以及代码仓库和镜像仓库。
88.其中,所述请求单元包含于用户端设备,有部署变更需求的用户通过请求单元发起部署请求,从而制定待部署的服务名、待升级的代码版本和镜像版本。
89.所述控制单元用于接收来自请求单元的部署请求,解析该部署请求对应的目标部署设备,控制并发将部署请求发送至目标部署设备。
90.所述部署单元用于基于部署请求,确定相应的实例类型和部署模式,并针对不同的实例类型和部署模式来决策不同的部署执行方案。
91.所述代码仓库用于存储业务发布的各个代码版本,以供部署单元拉取。
92.所述镜像仓库用于存储各版本镜像,以供部署单元拉取。
93.其中,所述系统支持三种部署模式,物理机模式、基础镜像和应用代码的混合模式,以及应用镜像模式。
94.其中,部署单元针对不同的实例类型和部署模式来决策不同的部署执行方案的流程如下:
95.对于物理机实例,确定其部署模式为物理机模式。在执行部署时,部署组件需要从代码仓库中拉取待升级版本的代码包,通过解压代码包得到相应的代码文件。接着,先停止物理机中的旧版本的服务,并在替换代码文件后,再执行新版本服务启动命令,从而完成待部署服务在物理机中的部署。
96.对于容器实例,如果其部署模式为应用镜像模式,在执行部署时,直接拉取指定版本的镜像文件。接着,先停掉旧版本镜像文件后,拉取新版本镜像,从而完成待部署服务在应用镜像中的部署。
97.对于容器实例,如果其部署模式为混合模式,在执行部署时,需要判断基础镜像和应用代码的版本是否变更。如果应用代码未变更,则进一步判断基础镜像文件的版本是否有变更;如果应用代码有变更,则从代码仓库中拉取待升级版本的代码包,解压代码包后替换本地文件,之后再判断基础镜像文件的版本是否有变更。
98.如果基础镜像文件的版本未变更,则在容器内停止现有服务的进程并启动待部署服务,以完成待部署服务在容器中的部署;如果基础镜像版本有变更,则停止镜像并从镜像仓库中拉取新版本的镜像容器,接着,在启动新版本的镜像容器后将物理机的部署路径绑定至新的镜像容器,从而在新的镜像容器中启动待部署服务。
99.需要说明的是,上述举例仅为更好地说明本技术实施例的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何的实现本技术实施例的部署装置的方式,均应包含在本发明的范围内。
100.本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个功能或步骤的电路。
101.另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
102.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有
变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
再多了解一些

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

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

相关文献