CN110609732A - 应用程序部署方法、装置、计算机设备和存储介质 - Google Patents
应用程序部署方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110609732A CN110609732A CN201910746030.XA CN201910746030A CN110609732A CN 110609732 A CN110609732 A CN 110609732A CN 201910746030 A CN201910746030 A CN 201910746030A CN 110609732 A CN110609732 A CN 110609732A
- Authority
- CN
- China
- Prior art keywords
- node
- code
- target application
- deployment
- scheduling unit
- 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.)
- Granted
Links
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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
- H04L63/0218—Distributed architectures, e.g. distributed firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种应用程序部署方法、装置、计算机设备和存储介质。该方法包括:当目标应用对应的代码文件发生变更时,根据预存储的部署配置信息对集群中多个服务节点进行相同配置,使多个服务节点向目标应用提供相同的运行环境;根据预存储的节点流转信息对集群中多个服务节点进行网络隔离配置,使多个服务节点采用不同的网络;基于变更后的代码文件创建对应的代码调度单元;根据节点流转信息将代码调度单元部署至一个服务节点,向当前服务节点关联的节点终端发送验证通知;当接收到节点终端根据验证通知触发的节点同步请求时,将代码调度单元从当前服务节点同步至另一个服务节点,如此流转,直至目标应用部署。采用本方法可提高应用程序可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序部署方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的应用程序出现。应用程序已应用到各行业领域中,为了更好的控制应用程序的质量和可靠性,在将应用程序上线发布之前开发人员及测试人员均会对应用程序进行多种测试。然而在实际操作中,常出现应用程序在测试环节运行良好,但上线发布后却出现多种异常的现象,使得应用程序可靠性交底。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高应用程序可靠性的应用程序部署方法、装置、计算机设备和存储介质。
一种应用程序部署方法,所述方法包括:对目标应用对应的代码文件是否发生变更进行监控;若是,获取所述目标应用的部署配置信息和节点流转信息;根据所述部署配置信息对集群中多个服务节点进行相同配置,使多个所述服务节点向所述目标应用提供相同的运行环境;根据所述节点流转信息对集群中多个服务节点进行网络隔离配置,使多个所述服务节点采用不同的网络;基于变更后的代码文件创建对应的代码调度单元;根据所述节点流转信息将所述代码调度单元部署至一个服务节点,向当前服务节点关联的节点终端发送验证通知;当接收到所述节点终端根据所述验证通知触发的节点同步请求时,将所述代码调度单元从当前的服务节点同步至另一个服务节点,返回所述当前服务节点关联的节点终端发送验证通知的步骤,直至将所述代码调度单元同步至所述节点流转信息记录的最后一个服务节点,完成对所述目标应用的部署。
在一个实施例中,所述对目标应用对应的代码文件是否发生变更进行监控,包括:获取所述目标应用对应的多模块版本依赖关系图;对目标应用对应多个功能模块的代码文件是否发生变更分别进行监控;若一个功能模块的代码文件发生变更,则基于所述多模块版本依赖关系图识别与发生变更的功能模块存在依赖关系的其他功能模块;当监控到所述其他功能模块的代码文件也发生变更时,触发对所述目标应用的部署操作。
在一个实施例中,所述部署配置信息包括资源需求信息;所述根据部署配置信息对集群中多个服务节点进行相同配置,包括:根据所述资源需求信息计算需要的容器资源;基于需要的容器资源进行服务节点申请;通过对申请到的服务节点初始化在申请到的每个服务节点上分别部署容器管理代理。
在一个实施例中,所述根据所述节点流转信息对集群中多个服务节点进行网络隔离配置,包括:向多个所述容器管理代理分别发送网络隔离请求;使所述容器管理代理根据所述网络隔离请求记录的网络标识对相应服务节点进行网络配置,以使不同服务节点采用不同的网络。
在一个实施例中,所述据所述节点流转信息将所述代码调度单元部署至一个服务节点,包括:向所述服务节点中的容器管理代理发送容器部署请求;使所述容器管理代理根据所述容器部署请求在预设的容器仓库拉取所述代码调度单元对应的多个容器文件,并基于所述容器文件在所述服务节点进行代码调度单元部署。
在一个实施例中,所述服务节点包括第一节点、第二节点、过渡节点和第三节点;所述节点终端包括第一终端和第二终端;所述根据所述节点流转信息将所述代码调度单元部署至一个服务节点,向相应节点终端发送验证通知;当接收到所述节点终端根据所述验证通知触发的节点同步请求时,将所述代码调度单元从当前的服务节点同步至另一个服务节点,返回所述相应节点终端发送验证通知的步骤,直至节点流转结束,完成对所述目标应用的部署,包括:根据所述节点流转信息将所述代码调度单元部署至所述第一节点,并向所述第一终端发送开发验证通知;当接收到所述第一终端根据所述开发验证通知触发的节点同步请求时,将所述代码调度单元从所述第一节点同步至所述第二节点,向所述第二终端发送测试验证通知;当接收到所述第二终端根据所述测试验证通知触发的节点同步请求时,将代码调度单元从第二节点同步至预置白名单对应的过渡节点,对所述代码调度单元在过渡节点的运行状态监控;当监控结果为正常时,将所述代码调度单元从过渡节点同步至所述第三节点,完成对所述目标应用的部署。
一种应用程序部署装置,所述装置包括:监控触发模块,用于对目标应用对应的代码文件是否发生变更进行监控;若是,获取所述目标应用的部署配置信息和节点流转信息;环境划分模块,用于根据所述部署配置信息对集群中多个服务节点进行相同配置,使多个所述服务节点向所述目标应用提供相同的运行环境;根据所述节点流转信息对集群中多个服务节点进行网络隔离配置,使多个所述服务节点采用不同的网络;流转部署模块,用于基于变更后的代码文件创建对应的代码调度单元;根据所述节点流转信息将所述代码调度单元部署至一个服务节点,向当前服务节点关联的节点终端发送验证通知;当接收到所述节点终端根据所述验证通知触发的节点同步请求时,将所述代码调度单元从当前的服务节点同步至另一个服务节点,返回所述向当前服务节点关联的节点终端发送验证通知的步骤,直至将所述代码调度单元同步至所述节点流转信息记录的最后一个服务节点,完成对所述目标应用的部署。
在一个实施例中,所述监控触发模块还用于获取所述目标应用对应的多模块版本依赖关系图;对目标应用对应多个功能模块的代码文件是否发生变更分别进行监控;若一个功能模块的代码文件发生变更,则基于所述多模块版本依赖关系图识别与发生变更的功能模块存在依赖关系的其他功能模块;当监控到所述其他功能模块的代码文件也发生变更时,触发对所述目标应用的部署操作。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意一个实施例中提供的应用程序部署方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意一个实施例中提供的应用程序部署方法的步骤。
上述应用程序部署方法、装置、计算机设备和存储介质,通过将容器化集群中多个服务节点虚拟的划分为采用不同网络但能够向目标应用提供相同运行环境的多种部署环境,可以减少环境之间的差异,进而可以降低环境差异对目标应用带来的异常风险。此外,通过对目标应用代码文件进行变更监控,自动触发目标应用的流转部署,对于部署环境搭建、节点流转等工作均自动完成,可以大大减少人工介入,进而可以降低人为因素对目标应用带来的异常风险。
附图说明
图1为一个实施例中应用程序部署方法的应用场景图;
图2为一个实施例中应用程序部署方法的流程示意图;
图3为一个实施例中代码变更监控的步骤的流程示意图;
图4为一个实施例中应用程序部署装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序部署方法,可以应用于如图1所示的应用环境中。其中,节点终端102与服务器104通过网络进行通信。其中,节点终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以是多个服务器组成的服务器集群来实现。服务器104部署了对应的代码仓库。当需要对开发完成的目标应用进行部署时,开发人员可以基于节点终端102将目标应用的代码文件上传至代码仓库,并对目标应用的部署配置信息和节点流转信息进行配置。服务器104对代码仓库中目标应用的代码文件是否发生变更进行监控。当代码文件发生变更时,服务器104根据部署配置信息对集群中多个服务节点进行相同配置,使多个服务节点向目标应用提供相同的运行环境。服务器104根据节点流转信息对集群中多个服务节点进行网络隔离配置,使多个服务节点采用不同的网络。服务器104基于代码文件创建对应的代码调度单元,并根据节点流转信息将代码调度单元部署至一个服务节点,向相应节点终端发送验证通知;当接收到节点终端根据验证通知触发的节点同步请求时,将代码调度单元从当前的服务节点同步至另一个服务节点,返回相应节点终端发送验证通知的步骤,直至节点流转结束,完成对目标应用的部署。上述应用程序部署过程,通过将容器化集群中多个服务节点虚拟的划分为采用不同网络但能够向目标应用提供相同运行环境的多种部署环境,可以减少环境之间的差异;通过对目标应用代码文件进行变更监控,自动触发目标应用的流转部署,可以大大减少人工介入,进而可以降低人为因素及环境差异对目标应用带来的异常风险。
在一个实施例中,如图2所示,提供了一种应用程序部署方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,对目标应用对应的代码文件是否发生变更进行监控。
步骤204,若是,获取目标应用的部署配置信息和节点流转信息。
针对要部署的目标应用,预先构建了对应的服务器。该服务器是多个服务器组成的服务器集群(记作物理集群)。物理集群可以是基于kubernetes(K8S,容器编排引擎)等构建得到的。物理集群包括管理节点和多个服务节点。用户可以通过节点终端将目标应用自动部署至物理集群。其中,节点终端包括第一终端和第二终端。第一终端可以是开发人员对应的终端,第二终端可以是测试人员对应的终端。
服务器部署了对应的代码仓库。当目标应用的代码文件开发完成时,可以通过第一终端将目标应用的代码文件上传至代码仓库,基于K8S Dasboard等用户界面对目标应用的部署配置信息和节点流转信息分别进行配置。其中,部署配置信息包括目标应用对应的容器部署参数,如端口号、volume映射(数据卷映射)等,还包括部署目标应用需要依赖的服务项、应用项及数据项等信息。节点流转信息包含基于物理集群中多个服务节点进行目标应用部署环境的虚拟划分的信息,以及多个服务节点之间进行数据流转的流程信息等。
管理节点调用预设的代码监控接口,代码监控接口通过调用github指令(版本库格式变更监测)对代码仓库中目标应用对应的代码文件是否发生变更进行监控。若代码文件发生变更时,表示该代码文件为开发人员上传的新的代码文件或者是对历史代码文件修改后的新的代码文件,处于待发布状态。换言之,对于发生变更代码文件,需要将其部署到物理集群,以使目标应用得以发布使用。
步骤206,根据部署配置信息对集群中多个服务节点进行相同配置,使多个服务节点向目标应用提供相同的运行环境。
当监测到目标应用的代码文件发生变更时,管理节点按照部署配置信息在物理集群中选定不同的服务节点,并在选定的多个服务节点上搭建不同的部署环境。部署环境包括开发环境、测试环境、生成环境等。换言之,服务器将物理集群中多个服务节点虚拟的划分为不同的部署环境。例如,将其中的一个或多个服务节点(记作第一节点)划分为开发环境,将其中的一个或多个服务节点(记作第二节点)划分为测试环境,将其中的一个或多个服务节点(记作第三节点)划分为生产环境。
步骤208,根据节点流转信息对集群中多个服务节点进行网络隔离配置,使多个服务节点采用不同的网络。
管理节点还根据节点流转信息对被划分为不同部署环境的多个服务节点进行网络配置。不同的服务节点采用不同的网络。例如,被划分为开发环境的服务节点可以采用开发人员对应的网络,被划分为测试环境的服务节点可以采用测试人员对应的网络等。需要说明的是,不同的部署环境除了连接的网络不同,其他配置参数相同,从而可以向目标应用提供相同的运行环境。容易理解,不同部署环境对应的服务节点也可以连接不同的数据库。
步骤210,基于变更后的代码文件创建对应的代码调度单元。
管理节点启动预设的容器构建脚本,基于容器构建脚本自动对目标应用的代码文件进行代码性能检查以及编译等工作,生成可执行文件,并将可执行文件、及目标应用运行需要依赖的配置文件和其他需要的文件一并打包封装为目标镜像。容易理解,同一目标应用可能编译得到多个可执行文件,从而具有对应的多个目标镜像。管理子节点创建代码调度单元(物理集群的基本调度单元,又称pod实例),并基于代码调度单元运行目标应用对应的多个目标镜像。代码调度单元是将目标应用对应的多个目标镜像作为一个整体进行部署的运行单元,可以将代码调度单元在多个服务节点之间进行迁移部署,且可以保证迁移部署前后代码文件的一致性。
步骤212,根据节点流转信息将代码调度单元部署至一个服务节点,向当前服务节点关联的节点终端发送验证通知;当接收到节点终端根据验证通知触发的节点同步请求时,将代码调度单元从当前的服务节点同步至另一个服务节点,返回向当前服务节点关联的节点终端发送验证通知的步骤,直至将所述代码调度单元同步至所述节点流转信息记录的最后一个服务节点,完成对目标应用的部署。
管理节点根据节点流转信息将代码调度单元部署至第一节点,并向第一终端发送开发验证通知。当开发人员根据开发验证通知对代码调度单元进行开发验证时,可以基于第一终端向管理节点发送第一验证请求。第一验证请求携带了第一节点标识。管理节点根据第一节点标识向第一终端开通接入权限,使得开发人员可以在第一终端根据测试需求对第一节点中的代码调度单元进行性能测试,并在测试验证通过时触发第一节点同步请求。管理节点根据第一节点同步请求将代码调度单元从第一节点同步至第二节点。
管理节点向第二终端发送测试验证通知。当测试人员根据测试验证通知对代码调度单元进行测试验证时,可以按照上述方式申请对第二节点的接入权限,以对第二节点中的代码调度单元进行功能测试等,并在测试验证通过时触发第二节点同步请求。管理节点根据第二节点同步请求将代码调度单元从第二节点同步至第三节点,完成对目标应用的部署。
值得说明的是,上述各个环节对代码调度单元的测试验证信息不会写入代码调度单元中,以保证不同服务节点之间同步的数据信息相同,进而可以减少不同部署环境之间的差异。此外,为了减少对服务资源的占用,在将当前服务节点中代码调度单元同步至下一个服务节点后,将代码调度单元从当前的服务节点删除。若开发验证失败或者测试验证失败,则将各个服务节点中的代码调度单元清理释放,返回步骤202,待开发人员对代码文件进行异常修复后重新进行目标应用部署。
本实施例中,通过对目标应用对应的代码文件是否发生变更进行监控,可以触发获取目标应用的部署配置信息和节点流转信息;根据部署配置信息可以对集群中多个服务节点进行相同配置,得到向目标应用提供相同的运行环境的多个服务节点;根据节点流转信息可以对集群中多个服务节点进行网络隔离配置;基于代码文件,可以创建对应的代码调度单元;根据节点流转信息可以将代码调度单元部署至一个服务节点,并向相应节点终端发送验证通知;当接收到节点终端根据验证通知触发的节点同步请求时,可以将代码调度单元从当前的服务节点同步至另一个服务节点,并向相应节点终端发送验证通知,如此流转,直至节点流转流程结束,完成目标应用部署。通过将容器化集群中多个服务节点虚拟的划分为采用不同网络但能够向目标应用提供相同运行环境的多种部署环境,可以减少环境之间的差异,进而可以降低环境差异对目标应用带来的异常风险。此外,通过对目标应用代码文件进行变更监控,自动触发目标应用的流转部署,对于部署环境搭建、节点流转等工作均自动完成,可以大大减少人工介入,进而可以降低人为因素对目标应用带来的异常风险。
在一个实施例中,如图3所示,对目标应用对应的代码文件是否发生变更进行监控,即代码变更监控的步骤,包括:
步骤302,获取目标应用对应的多模块版本依赖关系图。
步骤304,对目标应用对应多个功能模块的代码文件是否发生变更分别进行监控。
步骤306,若一个功能模块的代码文件发生变更,则基于多模块版本依赖关系图识别与发生变更的功能模块存在依赖关系的其他功能模块。
步骤308,当监控到其他功能模块的代码文件也发生变更时,触发对目标应用的部署操作。
当需要对目标应用进行版本升级时,可能会通过不断的添加新功能新模块提升APP的使用性能。不可避免的,目标应用的不同功能模块之间会存在依赖关系,如功能模块A的功能实现需要调用功能模块B的接口,则功能模块A依赖功能模块B。在功能模块升级时,很可能会出现主动关联或者被动关联的代码程序发生变更,进而导致连带的其他功能模块的功能瘫痪,即出现接口不匹配,功能不匹配等问题。
为了解决版本升级时因为依赖关系导致的不匹配隐患的问题,当监控到某个功能模块对应代码文件发生变更时,服务器基于预置的目标应用的多模块版本依赖关系图自动识别与其存在依赖关系的其他功能模块。其中,多模块版本依赖关系图可以基于各个功能模块对应开发人员分别基于第一终端上传的版本信息构建得到的。具体的,版本信息包括当前的功能模块版本标识,如A1.0。版本信息还包括与其他功能模块的功能模块版本标识之间的依赖关系以及依赖详情信息。依赖关系可以是不同功能模块间的调用关系,如库调用、配置调用、接口调用等。依赖详情信息即详细记录的具有依赖关系的两个模块版本之间的依赖信息,包括依赖的内容、依赖主动/被动描述信息等。管理节点以每个功能模块为独立节点,每个独立节点中包括至少一个子节点,每个子节点对应一个模块版本标识,以模块版本标识之间的依赖关系为有向边,并将依赖详情信息关联至对应有向边,构建得到目标应用对应的多模块版本依赖关系图。
管理节点还监测各个功能模块开发人员基于第一终端发布的版本更新动态,及时对存储的多模块版本依赖关系图进行更新。具体的,管理节点提取版本更新动态中携带的版本修改描述信息。管理节点在多模块版本依赖关系图中确定与版本更新动态对应的独立节点,查找与独立节点所连接的所有有向边。管理节点对比获取的依赖详情信息与版本修改描述信息,修改已有有向边和/或生成新的有向边,得到更新后的多模块版本依赖关系图。
服务器对存在依赖关系的其他功能模块是否发生相应的功能变更进行监测。只有在存在依赖关系的其他功能模块发生相应的功能变更,才按照上述方式对版本升级后的目标应用进行部署操作。
本实施例中,基于目标应用中多个功能模块之间的依赖关系进行代码变更监控,可以很好的解决版本升级时因为依赖关系导致的不匹配隐患的问题。
在一个实施例中,部署配置信息包括资源需求信息;根据部署配置信息对集群中多个服务节点进行相同配置,包括:根据资源需求信息计算需要的容器资源;基于需要的容器资源进行服务节点申请;通过对申请到的服务节点初始化,在申请到的每个服务节点上分别部署容器管理代理。
资源需求信息包括部署目标应用需要的服务项、应用项或数据项。其中,服务项可以是数据库、中间件、DNS(Domain Name System,域名系统)、文件存储系统等,应用项可以是模板应用、线上版本应用或指定版本应用等,数据项可以是用户数据或资产数据等用于不同类型测试的历史数据。
管理节点根据资源需求信息计算需要的容器资源。具体的,管理节点获取预先设定的服务项与容器数量的对应关系,根据该对应关系计算部署目标应用需要的容器数量。例如,可以设定每个服务项对应一个容器。服务器根据用户选定的服务项的类型,确定需要的容器的类型。服务项的类型可以是entry、app、redis、mysql等。根据容器类型,可以将容器区分为应用型的第一容器和服务型的第二容器。当服务项的类型为app时,对应容器类型可以是第一容器。对于其他类型的服务项,对应容器类型可以第二容器。管理节点根据应用项的数量以及每个应用项对应应用程序所需存储空间,计算第一容器需要的存储空间。服务器根据默认配置的基础存储空间以及数据项对应数据所需要的存储空间,确定第二容器需要的存储空间。
管理节点根据需要的容器资源,筛选相匹配的服务节点。管理节点预存了多种容器类型分别对应的初始化脚本。管理节点根据容器类型,获取对应的初始化脚本,将获取到的初始化脚本发送至相应服务节点,对服务节点进行初始化。在第一容器上安装容器管理代理也是初始化的一部分。具体的,第一容器对应的初始化脚本包括容器管理代理程序。管理节点将携带容器管理代理程序的初始化脚本发送至相应服务节点,使第一容器通过运行容器管理代理程序实现容器管理代理部署。
在一个实施例中,根据节点流转信息对集群中多个服务节点进行网络隔离配置,包括:向多个容器管理代理分别发送网络隔离请求;使容器管理代理根据网络隔离请求记录的网络标识对相应服务节点进行网络配置,以使不同服务节点采用不同的网络。
在一个实施例中,据节点流转信息将代码调度单元部署至一个服务节点,包括:向服务节点中的容器管理代理发送容器部署请求;使容器管理代理根据容器部署请求在预设的容器仓库拉取代码调度单元对应的多个容器文件,并基于容器文件在服务节点进行代码调度单元部署。
本实施例中,基于容器管理代理可以通过简单配置即可实现不同服务节点之间的网络隔离,还可以实现代码调度单元在不同服务节点之间的自动化部署和同步。
在一个实施例中,服务节点包括第一节点、第二节点、过渡节点和第三节点;节点终端包括第一终端和第二终端;根据节点流转信息将代码调度单元部署至一个服务节点,向相应节点终端发送验证通知;当接收到节点终端根据验证通知触发的节点同步请求时,将代码调度单元从当前的服务节点同步至另一个服务节点,返回相应节点终端发送验证通知的步骤,直至节点流转结束,完成对目标应用的部署,包括:根据节点流转信息将代码调度单元部署至第一节点,并向第一终端发送开发验证通知;当接收到第一终端根据开发验证通知触发的节点同步请求时,将代码调度单元从第一节点同步至第二节点,向第二终端发送测试验证通知;当接收到第二终端根据测试验证通知触发的节点同步请求时,将代码调度单元从第二节点同步至预置白名单对应的过渡节点,对代码调度单元在过渡节点的运行状态监控;当监控结果为正常时,将代码调度单元从过渡节点同步至第三节点,完成对目标应用的部署。
为了进一步降低目标应用异常风险,管理节点还将物理集群中一个或多个服务节点(记作过渡节点)划分为过渡环境。开发人员还预先配置了过渡环境对应的白名单。过渡环境是一种预发布环境。过渡环境与生产环境连接诶相同的数据库。管理节点在接收到第二终端触发的第二节点同步请求后,先将代码调度单元从第二节点同步至白名单对应的过渡环境所在服务节点中。管理节点对目标应用在过渡环境的运行状况进行监控,若预设时长内未监控到异常,则将代码调度单元从过渡环境对应的服务节点同步至第三节点。
本实施例中,通过细颗粒化目标应用成为代码调度单元,以及自动调度切换部署节点验证,节点程序的自动化同步,实现了一套渐进式、过渡发布策略,将生产发布的风险降到最低,同时减少人为控制发布带来的风险。
应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种应用程序部署装置,包括:监控触发模块402、环境划分模块404和流转部署模块406,其中:
监控触发模块402,用于对目标应用对应的代码文件是否发生变更进行监控;若是,获取目标应用的部署配置信息和节点流转信息。
环境划分模块404,用于根据部署配置信息对集群中多个服务节点进行相同配置,使多个服务节点向目标应用提供相同的运行环境;根据节点流转信息对集群中多个服务节点进行网络隔离配置,使多个服务节点采用不同的网络。
流转部署模块406,用于基于变更后的代码文件创建对应的代码调度单元;根据节点流转信息将代码调度单元部署至一个服务节点,向当前服务节点关联的节点终端发送验证通知;当接收到节点终端根据验证通知触发的节点同步请求时,将代码调度单元从当前的服务节点同步至另一个服务节点,返回向当前服务节点关联的节点终端发送验证通知的步骤,直至将所述代码调度单元同步至所述节点流转信息记录的最后一个服务节点,完成对目标应用的部署。
在一个实施例中,监控触发模块402还用于获取目标应用对应的多模块版本依赖关系图;对目标应用对应多个功能模块的代码文件是否发生变更分别进行监控;若一个功能模块的代码文件发生变更,则基于多模块版本依赖关系图识别与发生变更的功能模块存在依赖关系的其他功能模块;当监控到其他功能模块的代码文件也发生变更时,触发对目标应用的部署操作。
在一个实施例中,部署配置信息包括资源需求信息;环境划分模块404还用于根据资源需求信息计算需要的容器资源;基于需要的容器资源进行服务节点申请;通过对申请到的服务节点初始化在申请到的每个服务节点上分别部署容器管理代理。
在一个实施例中,环境划分模块404还用于向多个容器管理代理分别发送网络隔离请求;使容器管理代理根据网络隔离请求记录的网络标识对相应服务节点进行网络配置,以使不同服务节点采用不同的网络。
在一个实施例中,流转部署模块406还用于向服务节点中的容器管理代理发送容器部署请求;使容器管理代理根据容器部署请求在预设的容器仓库拉取代码调度单元对应的多个容器文件,并基于容器文件在服务节点进行代码调度单元部署。
在一个实施例中,服务节点包括第一节点、第二节点、过渡节点和第三节点;节点终端包括第一终端和第二终端;流转部署模块406还用于根据节点流转信息将代码调度单元部署至第一节点,并向第一终端发送开发验证通知;当接收到第一终端根据开发验证通知触发的节点同步请求时,将代码调度单元从第一节点同步至第二节点,向第二终端发送测试验证通知;当接收到第二终端根据测试验证通知触发的节点同步请求时,将代码调度单元从第二节点同步至预置白名单对应的过渡节点,对代码调度单元在过渡节点的运行状态监控;当监控结果为正常时,将代码调度单元从过渡节点同步至第三节点,完成对目标应用的部署。
关于应用程序部署装置的具体限定可以参见上文中对于应用程序部署方法的限定,在此不再赘述。上述应用程序部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标应用的部署配置信息和节点流转信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序部署方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的应用程序部署方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序部署方法,所述方法包括:
对目标应用对应的代码文件是否发生变更进行监控;
若是,获取所述目标应用的部署配置信息和节点流转信息;
根据所述部署配置信息对集群中多个服务节点进行相同配置,使多个所述服务节点向所述目标应用提供相同的运行环境;
根据所述节点流转信息对集群中多个服务节点进行网络隔离配置,使多个所述服务节点采用不同的网络;
基于变更后的代码文件创建对应的代码调度单元;
根据所述节点流转信息将所述代码调度单元部署至一个服务节点,向当前服务节点关联的节点终端发送验证通知;当接收到所述节点终端根据所述验证通知触发的节点同步请求时,将所述代码调度单元从当前的服务节点同步至另一个服务节点,返回所述当前服务节点关联的节点终端发送验证通知的步骤,直至将所述代码调度单元同步至所述节点流转信息记录的最后一个服务节点,完成对所述目标应用的部署。
2.根据权利要求1所述的方法,其特征在于,所述对目标应用对应的代码文件是否发生变更进行监控,包括:
获取所述目标应用对应的多模块版本依赖关系图;
对目标应用对应多个功能模块的代码文件是否发生变更分别进行监控;
若一个功能模块的代码文件发生变更,则基于所述多模块版本依赖关系图识别与发生变更的功能模块存在依赖关系的其他功能模块;
当监控到所述其他功能模块的代码文件也发生变更时,触发对所述目标应用的部署操作。
3.根据权利要求1所述的方法,其特征在于,所述部署配置信息包括资源需求信息;所述根据部署配置信息对集群中多个服务节点进行相同配置,包括:
根据所述资源需求信息计算需要的容器资源;
基于需要的容器资源进行服务节点申请;
通过对申请到的服务节点初始化,在申请到的每个服务节点上分别部署容器管理代理。
4.根据权利要求3所述的方法,其特征在于,所述根据所述节点流转信息对集群中多个服务节点进行网络隔离配置,包括:
向多个所述容器管理代理分别发送网络隔离请求;使所述容器管理代理根据所述网络隔离请求记录的网络标识对相应服务节点进行网络配置,以使不同服务节点采用不同的网络。
5.根据权利要求3所述的方法,其特征在于,所述据所述节点流转信息将所述代码调度单元部署至一个服务节点,包括:
向所述服务节点中的容器管理代理发送容器部署请求;使所述容器管理代理根据所述容器部署请求在预设的容器仓库拉取所述代码调度单元对应的多个容器文件,并基于所述容器文件在所述服务节点进行代码调度单元部署。
6.根据权利要求1所述的方法,其特征在于,所述服务节点包括第一节点、第二节点、过渡节点和第三节点;所述节点终端包括第一终端和第二终端;所述根据所述节点流转信息将所述代码调度单元部署至一个服务节点,向相应节点终端发送验证通知;当接收到所述节点终端根据所述验证通知触发的节点同步请求时,将所述代码调度单元从当前的服务节点同步至另一个服务节点,返回所述相应节点终端发送验证通知的步骤,直至节点流转结束,完成对所述目标应用的部署,包括:
根据所述节点流转信息将所述代码调度单元部署至所述第一节点,并向所述第一终端发送开发验证通知;
当接收到所述第一终端根据所述开发验证通知触发的节点同步请求时,将所述代码调度单元从所述第一节点同步至所述第二节点,向所述第二终端发送测试验证通知;
当接收到所述第二终端根据所述测试验证通知触发的节点同步请求时,将代码调度单元从第二节点同步至预置白名单对应的过渡节点,对所述代码调度单元在过渡节点的运行状态监控;
当监控结果为正常时,将所述代码调度单元从过渡节点同步至所述第三节点,完成对所述目标应用的部署。
7.一种应用程序部署装置,所述装置包括:
监控触发模块,用于对目标应用对应的代码文件是否发生变更进行监控;若是,获取所述目标应用的部署配置信息和节点流转信息;
环境划分模块,用于根据所述部署配置信息对集群中多个服务节点进行相同配置,使多个所述服务节点向所述目标应用提供相同的运行环境;根据所述节点流转信息对集群中多个服务节点进行网络隔离配置,使多个所述服务节点采用不同的网络;
流转部署模块,用于基于所述代码文件创建对应的代码调度单元;根据所述节点流转信息将所述代码调度单元部署至一个服务节点,向相应节点终端发送验证通知;当接收到所述节点终端根据所述验证通知触发的节点同步请求时,将所述代码调度单元从当前的服务节点同步至另一个服务节点,返回所述相应节点终端发送验证通知的步骤,直至节点流转结束,完成对所述目标应用的部署。
8.根据权利要求7所述的装置,其特征在于,所述监控触发模块还用于获取所述目标应用对应的多模块版本依赖关系图;对目标应用对应多个功能模块的代码文件是否发生变更分别进行监控;若一个功能模块的代码文件发生变更,则基于所述多模块版本依赖关系图识别与发生变更的功能模块存在依赖关系的其他功能模块;当监控到所述其他功能模块的代码文件也发生变更时,触发对所述目标应用的部署操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746030.XA CN110609732B (zh) | 2019-08-13 | 2019-08-13 | 应用程序部署方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746030.XA CN110609732B (zh) | 2019-08-13 | 2019-08-13 | 应用程序部署方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110609732A true CN110609732A (zh) | 2019-12-24 |
CN110609732B CN110609732B (zh) | 2023-02-07 |
Family
ID=68890047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910746030.XA Active CN110609732B (zh) | 2019-08-13 | 2019-08-13 | 应用程序部署方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110609732B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240698A (zh) * | 2020-01-14 | 2020-06-05 | 北京三快在线科技有限公司 | 模型部署的方法、装置、存储介质及电子设备 |
CN111831325A (zh) * | 2020-07-17 | 2020-10-27 | 中国工商银行股份有限公司 | 应用中配置文件的更新方法、装置、系统和介质 |
CN111858050A (zh) * | 2020-07-17 | 2020-10-30 | 中国工商银行股份有限公司 | 服务器集群混合部署方法、集群管理节点及相关系统 |
CN112230985A (zh) * | 2020-10-23 | 2021-01-15 | 微民保险代理有限公司 | 静态文件流程、小程序版本管理方法、装置及计算机设备 |
CN112286555A (zh) * | 2020-10-30 | 2021-01-29 | 上海淇玥信息技术有限公司 | 一种应用部署升级方法、装置和电子设备 |
CN112291299A (zh) * | 2020-09-18 | 2021-01-29 | 苏州浪潮智能科技有限公司 | 基于AI Station推理平台的同步方法、装置、设备及存储介质 |
CN112328379A (zh) * | 2020-11-05 | 2021-02-05 | 浪潮电子信息产业股份有限公司 | 一种应用迁移方法、装置、设备及介质 |
CN112333004A (zh) * | 2020-10-13 | 2021-02-05 | 北京京东尚科信息技术有限公司 | 基于容器集群基因的专有云流式重建及校验方法及装置 |
CN112565403A (zh) * | 2020-12-04 | 2021-03-26 | 中信银行股份有限公司 | 一种应用节点自隔离方法、装置及电子设备 |
CN112612554A (zh) * | 2021-01-20 | 2021-04-06 | 广东金赋科技股份有限公司 | 一种利用适配服务分析器来统一管理操控硬件模块的方法 |
CN112732425A (zh) * | 2020-12-31 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 一种应用管理方法、装置、电子设备及存储介质 |
CN112764753A (zh) * | 2020-12-31 | 2021-05-07 | 北京知因智慧科技有限公司 | 一种项目的部署方法、装置、电子设备及存储介质 |
CN112839239A (zh) * | 2020-12-30 | 2021-05-25 | 广州虎牙科技有限公司 | 一种音视频加工的方法、装置及服务器 |
CN113190238A (zh) * | 2021-03-26 | 2021-07-30 | 曙光信息产业(北京)有限公司 | 框架的部署方法、装置、计算机设备和存储介质 |
CN113448678A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 应用信息生成方法、部署方法及装置、系统、存储介质 |
CN113504972A (zh) * | 2021-07-26 | 2021-10-15 | 京东科技控股股份有限公司 | 一种服务部署方法及装置、电子设备和存储介质 |
CN113900670A (zh) * | 2021-12-08 | 2022-01-07 | 深圳市名竹科技有限公司 | 集群服务器应用部署系统 |
CN113992659A (zh) * | 2021-10-28 | 2022-01-28 | 中国工商银行股份有限公司 | 业务模型的跨境流转方法、装置及存储介质 |
CN114079615A (zh) * | 2021-11-17 | 2022-02-22 | 上海道客网络科技有限公司 | 一种多集群环境下的应用同步方法、系统、介质和电子设备 |
CN114240369A (zh) * | 2021-12-17 | 2022-03-25 | 中国工商银行股份有限公司 | 流水线部署方法、装置、计算机设备、存储介质 |
WO2022134849A1 (zh) * | 2020-12-21 | 2022-06-30 | 北京金山云网络技术有限公司 | 节点功能的配置方法、装置、系统、电子设备及计算机可读存储介质 |
CN114756464A (zh) * | 2022-04-18 | 2022-07-15 | 中国电信股份有限公司 | 代码检查配置方法、装置及存储介质 |
CN115134231A (zh) * | 2021-03-17 | 2022-09-30 | 北京搜狗科技发展有限公司 | 一种通信方法、装置和用于通信的装置 |
CN115277862A (zh) * | 2022-06-21 | 2022-11-01 | 阿里巴巴(中国)有限公司 | 基于容器的资源调度方法及装置 |
CN115334152A (zh) * | 2022-09-16 | 2022-11-11 | 北京向量栈科技有限公司 | 提交结构化机器学习计算任务到计算集群的方法 |
EP4250122A1 (en) * | 2022-03-24 | 2023-09-27 | Red Hat, Inc. | Using clusters to create test instances |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360895A (zh) * | 2014-11-20 | 2015-02-18 | 宁波市鄞州安业贸易有限公司 | 一种网站管理系统 |
CN104423983A (zh) * | 2013-08-29 | 2015-03-18 | 国际商业机器公司 | 用于开发、测试和部署应用的方法和装置 |
CN107168763A (zh) * | 2017-05-27 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种基于云环境的应用同步方法、发布主机和生产主机 |
CN108574720A (zh) * | 2017-05-09 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种服务上线方法及装置 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
-
2019
- 2019-08-13 CN CN201910746030.XA patent/CN110609732B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423983A (zh) * | 2013-08-29 | 2015-03-18 | 国际商业机器公司 | 用于开发、测试和部署应用的方法和装置 |
CN104360895A (zh) * | 2014-11-20 | 2015-02-18 | 宁波市鄞州安业贸易有限公司 | 一种网站管理系统 |
CN108574720A (zh) * | 2017-05-09 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种服务上线方法及装置 |
CN107168763A (zh) * | 2017-05-27 | 2017-09-15 | 北京思特奇信息技术股份有限公司 | 一种基于云环境的应用同步方法、发布主机和生产主机 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240698A (zh) * | 2020-01-14 | 2020-06-05 | 北京三快在线科技有限公司 | 模型部署的方法、装置、存储介质及电子设备 |
CN113448678A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 应用信息生成方法、部署方法及装置、系统、存储介质 |
CN111858050B (zh) * | 2020-07-17 | 2023-07-14 | 中国工商银行股份有限公司 | 服务器集群混合部署方法、集群管理节点及相关系统 |
CN111831325A (zh) * | 2020-07-17 | 2020-10-27 | 中国工商银行股份有限公司 | 应用中配置文件的更新方法、装置、系统和介质 |
CN111858050A (zh) * | 2020-07-17 | 2020-10-30 | 中国工商银行股份有限公司 | 服务器集群混合部署方法、集群管理节点及相关系统 |
CN111831325B (zh) * | 2020-07-17 | 2023-08-22 | 中国工商银行股份有限公司 | 应用中配置文件的更新方法、装置、系统和介质 |
CN112291299A (zh) * | 2020-09-18 | 2021-01-29 | 苏州浪潮智能科技有限公司 | 基于AI Station推理平台的同步方法、装置、设备及存储介质 |
CN112291299B (zh) * | 2020-09-18 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 基于AI Station推理平台的同步方法、装置、设备及存储介质 |
CN112333004A (zh) * | 2020-10-13 | 2021-02-05 | 北京京东尚科信息技术有限公司 | 基于容器集群基因的专有云流式重建及校验方法及装置 |
CN112230985B (zh) * | 2020-10-23 | 2024-04-05 | 微民保险代理有限公司 | 静态文件流程、小程序版本管理方法、装置及计算机设备 |
CN112230985A (zh) * | 2020-10-23 | 2021-01-15 | 微民保险代理有限公司 | 静态文件流程、小程序版本管理方法、装置及计算机设备 |
CN112286555A (zh) * | 2020-10-30 | 2021-01-29 | 上海淇玥信息技术有限公司 | 一种应用部署升级方法、装置和电子设备 |
CN112328379A (zh) * | 2020-11-05 | 2021-02-05 | 浪潮电子信息产业股份有限公司 | 一种应用迁移方法、装置、设备及介质 |
CN112565403A (zh) * | 2020-12-04 | 2021-03-26 | 中信银行股份有限公司 | 一种应用节点自隔离方法、装置及电子设备 |
CN112565403B (zh) * | 2020-12-04 | 2022-09-06 | 中信银行股份有限公司 | 一种应用节点自隔离方法、装置及电子设备 |
WO2022134849A1 (zh) * | 2020-12-21 | 2022-06-30 | 北京金山云网络技术有限公司 | 节点功能的配置方法、装置、系统、电子设备及计算机可读存储介质 |
CN112839239A (zh) * | 2020-12-30 | 2021-05-25 | 广州虎牙科技有限公司 | 一种音视频加工的方法、装置及服务器 |
CN112839239B (zh) * | 2020-12-30 | 2023-03-21 | 广州虎牙科技有限公司 | 一种音视频加工的方法、装置及服务器 |
CN112732425A (zh) * | 2020-12-31 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 一种应用管理方法、装置、电子设备及存储介质 |
CN112732425B (zh) * | 2020-12-31 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 一种应用管理方法、装置、电子设备及存储介质 |
CN112764753A (zh) * | 2020-12-31 | 2021-05-07 | 北京知因智慧科技有限公司 | 一种项目的部署方法、装置、电子设备及存储介质 |
CN112764753B (zh) * | 2020-12-31 | 2024-04-12 | 北京知因智慧科技有限公司 | 一种项目的部署方法、装置、电子设备及存储介质 |
CN112612554A (zh) * | 2021-01-20 | 2021-04-06 | 广东金赋科技股份有限公司 | 一种利用适配服务分析器来统一管理操控硬件模块的方法 |
CN112612554B (zh) * | 2021-01-20 | 2023-12-19 | 广东金赋科技股份有限公司 | 一种利用适配服务分析器来统一管理操控硬件模块的方法 |
CN115134231A (zh) * | 2021-03-17 | 2022-09-30 | 北京搜狗科技发展有限公司 | 一种通信方法、装置和用于通信的装置 |
CN115134231B (zh) * | 2021-03-17 | 2024-03-08 | 北京搜狗科技发展有限公司 | 一种通信方法、装置和用于通信的装置 |
CN113190238A (zh) * | 2021-03-26 | 2021-07-30 | 曙光信息产业(北京)有限公司 | 框架的部署方法、装置、计算机设备和存储介质 |
CN113504972A (zh) * | 2021-07-26 | 2021-10-15 | 京东科技控股股份有限公司 | 一种服务部署方法及装置、电子设备和存储介质 |
CN113992659A (zh) * | 2021-10-28 | 2022-01-28 | 中国工商银行股份有限公司 | 业务模型的跨境流转方法、装置及存储介质 |
CN113992659B (zh) * | 2021-10-28 | 2024-03-26 | 中国工商银行股份有限公司 | 业务模型的跨境流转方法、装置及存储介质 |
CN114079615B (zh) * | 2021-11-17 | 2023-08-11 | 上海道客网络科技有限公司 | 一种多集群环境下的应用同步方法、系统、介质和电子设备 |
CN114079615A (zh) * | 2021-11-17 | 2022-02-22 | 上海道客网络科技有限公司 | 一种多集群环境下的应用同步方法、系统、介质和电子设备 |
CN113900670A (zh) * | 2021-12-08 | 2022-01-07 | 深圳市名竹科技有限公司 | 集群服务器应用部署系统 |
CN113900670B (zh) * | 2021-12-08 | 2022-03-18 | 深圳市名竹科技有限公司 | 集群服务器应用部署系统 |
CN114240369A (zh) * | 2021-12-17 | 2022-03-25 | 中国工商银行股份有限公司 | 流水线部署方法、装置、计算机设备、存储介质 |
EP4250122A1 (en) * | 2022-03-24 | 2023-09-27 | Red Hat, Inc. | Using clusters to create test instances |
US12079110B2 (en) | 2022-03-24 | 2024-09-03 | Red Hat, Inc. | Using clusters to create test instances |
CN114756464A (zh) * | 2022-04-18 | 2022-07-15 | 中国电信股份有限公司 | 代码检查配置方法、装置及存储介质 |
CN114756464B (zh) * | 2022-04-18 | 2024-04-26 | 中国电信股份有限公司 | 代码检查配置方法、装置及存储介质 |
CN115277862A (zh) * | 2022-06-21 | 2022-11-01 | 阿里巴巴(中国)有限公司 | 基于容器的资源调度方法及装置 |
CN115334152B (zh) * | 2022-09-16 | 2023-03-28 | 北京向量栈科技有限公司 | 提交结构化机器学习计算任务到计算集群的方法 |
CN115334152A (zh) * | 2022-09-16 | 2022-11-11 | 北京向量栈科技有限公司 | 提交结构化机器学习计算任务到计算集群的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110609732B (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110609732B (zh) | 应用程序部署方法、装置、计算机设备和存储介质 | |
CN110597623A (zh) | 容器资源分配方法、装置、计算机设备和存储介质 | |
CN108763090B (zh) | 测试环境部署方法、装置、计算机设备和存储介质 | |
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN111651178A (zh) | 容器配置更新方法、装置、计算机设备和存储介质 | |
CN108932309B (zh) | 跨平台数据库管理方法、装置、计算机设备和存储介质 | |
CA3155718A1 (en) | Grayscale publishing method and device, routing equipment and storage medium | |
CN109542767B (zh) | 基于区块链的自动化测试方法、装置、计算机设备和存储介质 | |
CN111831569A (zh) | 基于故障注入的测试方法、装置、计算机设备和存储介质 | |
CN109889377B (zh) | 基于Openstack的NFV系统中部署VNF的方法和装置 | |
CN110569035A (zh) | 软件开发项目的代码编译方法、装置、设备和存储介质 | |
CN110531984B (zh) | 代码编译方法、装置、系统、计算机设备和存储介质 | |
CN112948278B (zh) | 基于灰度数据库的产品灰度发布方法、装置、设备和介质 | |
CN111628886B (zh) | 私有云环境下组建区块链网络的方法、装置、计算机设备 | |
CN110618819A (zh) | 自动化批量部署winpe系统的方法、装置和计算机设备 | |
CN111884834A (zh) | 基于zookeeper的分布式系统升级方法、系统和计算机设备 | |
WO2019222941A1 (zh) | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 | |
CN113190238A (zh) | 框架的部署方法、装置、计算机设备和存储介质 | |
CN116225617A (zh) | 容器实例的管理迁移方法、装置和电子设备及存储介质 | |
Truong et al. | Modeling and provisioning iot cloud systems for testing uncertainties | |
CN113093995B (zh) | 一种云盘数据的迁移方法和系统 | |
CN113704107A (zh) | 应用测试方法、装置、设备及计算机可读存储介质 | |
CN112596760A (zh) | 软件维护方法、装置和设备 | |
CN114003250A (zh) | 一种软件部署方法及装置 | |
CN112564979A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |