CN116400942A - 应用软件的升级方法、装置、电子设备及存储介质 - Google Patents
应用软件的升级方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116400942A CN116400942A CN202310411920.1A CN202310411920A CN116400942A CN 116400942 A CN116400942 A CN 116400942A CN 202310411920 A CN202310411920 A CN 202310411920A CN 116400942 A CN116400942 A CN 116400942A
- Authority
- CN
- China
- Prior art keywords
- container
- containers
- upgrading
- upgrade
- application software
- 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 79
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/44536—Selecting among different versions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种应用软件的升级方法、装置、电子设备及存储介质,可以应用于云计算技术领域。该方法包括:响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称;根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码,M≥2;以及根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器。
Description
技术领域
本公开涉及云计算技术领域,更具体地涉及一种应用软件的升级方法、装置、电子设备及存储介质。
背景技术
在云计算场景中,服务器集群包括多个工作节点,每个工作节点包括多个容器,容器用于封装应用软件的依赖服务以及操作系统。针对云计算场景,容器化的服务器集群能够为应用软件提供支持。
相关技术中,一般由用户或开发者判断容器的操作系统、再手动发起容器升级操作,以升级应用软件。因此,应用软件的升级过程存在升级操作复杂,升级人工成本和时间成本高的技术问题。
发明内容
鉴于上述问题,本公开提供了一种应用软件的升级方法、装置、电子设备及存储介质。
根据本公开的第一个方面,提供了一种应用软件的升级方法,包括:
响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称;
根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码,M≥2;以及
根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器。
根据本公开的实施例,其中,根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器,包括:
根据有序容器列表和升级信息,从镜像仓库拉取与第1个第一容器对应的第1个容器镜像,容器镜像用于生成第二容器;
执行第1个容器镜像,生成第1个第二容器;
获取已拉取的(M-1)个容器镜像,(M-1)个容器镜像分别与第2个第一容器至第M个第一容器对应;以及
按照有序容器列表中(M-1)个第一容器的升级顺序,依次执行(M-1)个容器镜像,生成(M-1)个第二容器。
根据本公开的实施例,该方法还包括:
在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像。
根据本公开的实施例,其中,升级信息还包括升级版本,有序容器列表包括容器标识;
在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像,包括:
根据容器标识,确定与(M-1)个第一容器对应的操作系统类型和操作系统版本;以及
根据操作系统类型、操作系统版本和升级版本,从镜像仓库拉取(M-1)个容器镜像。
根据本公开的实施例,其中,根据操作系统类型、操作系统版本和升级版本,从镜像仓库拉取(M-1)个容器镜像,包括:
根据操作系统类型、操作系统版本和升级版本,确定与(M-1)个第一容器相匹配的(M-1)个容器镜像,以及(M-1)个容器镜像的在镜像仓库的位置信息;以及
根据位置信息,从镜像仓库拉取(M-1)个容器镜像。
根据本公开的实施例,其中,目标应用软件包括有状态应用软件,有状态应用软件表征应用软件执行的历史请求和/或生成的历史数据影响未来的请求和/或数据。
根据本公开的实施例,其中,根据应用名称,确定待升级的有序容器列表,包括:
根据应用名称,确定待升级的M个第一容器,M个第一容器之间存在依赖关系,依赖关系表征第一容器之间的升级限制条件;
根据依赖关系,确定M个第一容器的升级链路;以及
基于升级链路对M个第一容器进行排序,得到有序容器列表。
本公开的第二方面提供了一种应用软件的升级装置,包括:第一确定模块,用于响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称;
第二确定模块,用于根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码,M≥2;以及
升级模块,用于根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述应用软件的升级方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述应用软件的升级方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述应用软件的升级方法。
本公开通过响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称;根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码;以及根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器,能够实现目标应用软件的自动升级。本公开的实施例根据应用名称确定有序容器列表,并按照有序容器列表中第一容器的升级顺序进行升级,无需业务人员参与,即可实现应用软件的升级,能够降低操作难度、降低升级所需的人工成本和时间成本。
此外,由于整个升级过程无需人工参与,本公开的实施例还能避免引入人工操作错误,降低应用软件服务中断的风险,提高了用户体验。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的应用软件的升级方法的应用场景;
图2示意性示出了根据本公开实施例的应用软件的升级方法的流程图;
图3示意性示出了根据本公开实施例的对M个第一容器执行升级操作的流程图;
图4示意性示出了根据本公开实施例的有序容器列表的确定方法的流程图;
图5示意性示出了根据本公开一具体实施例的应用软件的升级方法的流程图;
图6示意性示出了根据本公开实施例的服务器集群的架构示意图;
图7示意性示出了根据本公开实施例的应用软件的升级装置的结构框图;以及
图8示意性示出了根据本公开实施例的适于应用软件的升级方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的数据(如包括但不仅限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在云计算场景中,服务器集群包括多个容器,利用容器化的服务器集群能够为应用软件提供支持。
例如,对有状态应用软件提供支持。有状态应用软件的特征是:历史请求或操作对应用软件的后续操作有影响。由于有状态应用软件的操作依赖于历史请求或历史数据,为了保证使用方式一致,有状态应用软件的IP和存储地址需要固定在某一台宿主机上。
随着操作系统的不断丰富,在实际使用中,同一个有状态应用软件的容器会固定部署在不同操作系统的宿主机上。相应地,有状态应用软件的升级过程会变得十分复杂。
例如,在同一个有状态应用软件的容器固定部署在不同操作系统的宿主机的情况下,用户或开发者判断容器的操作系统、然后手动发起容器升级操作,以升级有状态应用软件。
由于有状态应用软件的升级过程涉及判定操作系统和拉取容器镜像两个操作,因此,在同一个有状态应用软件的容器固定部署在不同操作系统的宿主机的情况下,有状态应用软件的升级操作复杂,人工成本和时间成本高。
此外,人工升级的方式还会引入人工操作错误,增大有状态应用软件服务中断的风险,影响用户体验。
本公开的实施例提供了一种应用软件的升级方法,包括:响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称;根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码,M≥2;以及根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器。
图1示意性示出了根据本公开实施例的应用软件的升级方法的应用场景。
如图1所示,根据该实施例的应用场景100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104和服务器集群105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器集群105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器集群105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器集群105包括多个服务器,每个服务器可以作为一个工作节点或宿主机,提供各种服务。例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103内的应用软件,发起升级请求。服务器集群105通过一个或多个服务器接收升级请求并进行升级操作。服务器集群105还可以将升级结果反馈给终端设备。
需要说明的是,本公开实施例所提供的应用软件的升级方法一般可以由服务器集群105执行。相应地,本公开实施例所提供的应用软件的升级装置一般可以设置于服务器集群105中。本公开实施例所提供的应用软件的升级方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器集群105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的应用软件的升级装置也可以设置于不同于服务器集群105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器集群105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器集群的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器集群。
以下将基于图1描述的场景,通过图2~图6对公开实施例的应用软件的升级方法进行详细描述。
图2示意性示出了根据本公开实施例的应用软件的升级方法的流程图。
如图2所示,该方法200包括操作S210~S230。
在操作S210,响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称。
根据本公开的实施例,目标应用软件包括多种类型的应用软件,例如,邮件客户端、通讯客户端、购物类应用等。用户在使用目标应用软件时,可以查询或使用历史数据,并根据历史数据或历史请求执行当前操作。其中,历史数据或历史请求是在用户允许的情况下获取的。
例如,对于邮件客户端,在经过用户允许的情况下,登录邮件客户端之后可以显示用户的历史邮件。用户可以在历史邮件的基础上进行转发、编辑等操作。
根据本公开的实施例,升级请求用于升级与目标应用软件相关的容器。服务器集群响应于目标应用软件的升级请求,升级服务集群中、与目标应用软件相关的容器。其中,容器(container)用于封装应用程序所需的应用依赖服务以及操作系统。服务器集群为已容器化的服务器集群,例如MySQL、ElasticSearch等。
根据本公开的实施例,应用软件的升级方法可以由Kubernetes执行。Kubernetes用于管理云平台中多个宿主机上的容器,又称为K8s。K8s以集群模式部署,包括Master节点、Node节点和Etcd节点,Node节点包括多个容器。
根据本公开的实施例,升级信息包括执行升级请求所需的信息。
根据本公开的实施例,升级请求包括目标应用软件的应用名称,以便服务器集群根据应用名称对目标应用软件进行升级操作。
在操作S220,根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码,M≥2。
根据本公开的实施例,服务器集群通过一个或多个容器运行单个目标应用软件。相应地,在对目标应用软件进行升级的过程中,服务器集群中与目标应用软件相关的容器也进行升级。
根据本公开的实施例,第一容器表征服务器集群中与目标应用软件相关的容器,第一容器用于封装目标应用软件依赖的服务以及操作系统,目标应用软件依赖的服务以及操作系统的形式为执行代码形式。
根据本公开的实施例,根据目标应用软件的应用名称,可以确定M个第一容器之间的升级顺序。由此,在确定M个第一容器之后,可以按照升级顺序对M个第一容器进行排列,得到有序容器列表。
在操作S230,根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器。
根据本公开的实施例,第二容器与第一容器相对应,第二容器包括目标应用软件升级后的执行代码。
根据本公开的实施例,在确定有序容器列表之后,根据有序容器列表中的M个第一容器以及目标应用软件的升级信息,可以确定升级每个第一容器所需的容器镜像(image)。之后,根据与每个第一容器对应的容器镜像对每个第一容器进行升级,生成对应的第二容器。
根据本公开的实施例,在对M个第一容器进行升级的过程中,在当前的第一容器升级完成后,按照升级顺序对下一个第一容器进行升级,以便得到与下一个第一容器对应的第二容器。
本公开通过响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称;根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码;以及根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器,能够实现目标应用软件的自动升级。本公开的实施例根据应用名称确定有序容器列表,并按照有序容器列表中第一容器的升级顺序进行升级,无需业务人员参与,即可实现应用软件的升级,能够降低操作难度、降低升级所需的人工成本和时间成本。
此外,由于整个升级过程无需人工参与,本公开的实施例还能避免引入人工操作错误,降低应用软件服务中断的风险,提高了用户体验。
图3示意性示出了根据本公开实施例的对M个第一容器执行升级操作的流程图。
如图3所示,该实施例的对M个第一容器执行升级操作的流程图300包括操作S331~操作S334,可以作为操作S230的一个具体实施例。
在操作S331,根据有序容器列表和升级信息,从镜像仓库拉取与第1个第一容器对应的第1个容器镜像。
在操作S332,执行第1个容器镜像,生成第1个第二容器。
在操作S333,获取已拉取的(M-1)个容器镜像,(M-1)个容器镜像分别与第2个第一容器至第M个第一容器对应。
在操作S334,按照有序容器列表中(M-1)个第一容器的升级顺序,依次执行(M-1)个容器镜像,生成(M-1)个第二容器。
根据本公开的实施例,容器镜像用于生成第二容器。容器镜像表征多个只读层堆叠的统一视角,除了最下面一层,其它层都设置有指针指向下一层。统一文件系统(unionfile system)技术能够将不同的只读层整合成一个文件系统,为多个只读层提供一个统一视角。容器与容器镜像类似,但是容器的最上层可以进行数据读操作和数据写操作。
根据本公开的实施例,镜像仓库用于存储多个应用软件的多个容器镜像。在目标应用软件提供服务或进行升级的过程中,可以从镜像仓库拉取容器镜像到本地宿主机运行容器,以提供服务或进行升级。在服务器集群中,宿主机为服务器集群中的工作节点。
根据本公开的实施例,针对第1个第一容器,在执行升级操作的过程中,服务器集群执行拉取操作。对于第2个第一容器至第M个第一容器,在升级过程无需执行拉取操作,按照升级顺序执行预先拉取的容器镜像,以完成(M-1)个第一容器的升级,生成(M-1)个第二容器。
根据本公开的实施例,镜像仓库包括多个应用软件的多个容器,同一个应用软件对应多个容器。其中,针对同一个应用软件的多个容器对应多个操作系统或运行环境。
根据本公开的实施例,与统一拉取全部的基础环境的镜像不同,目标应用软件仅使用部分基础环境的镜像,拉取与部分基础环境相关的容器。M个第一容器中包括一个或多个与基础环境相关的容器。相关技术中,一般由业务人员确定目标应用软件涉及的多个容器、判断多个容器涉及的操作系统或运行环境,再从镜像仓库中确定与目标应用软件对应的容器镜像、拉取容器镜像。由此,升级过程中有关拉取步骤的操作复杂,容易引入人工错误,导致目标应用软件的服务中断。此外,在拉取过程出现错误的情况下,不仅会延长拉取时间,还会导致之前拉取的容器镜像存储在执行队列内,浪费了计算机的存储资源。
根据本公开的实施例,根据有序容器列表和目标应用软件的升级信息,能够从应用软件的角度,确定链式或堆叠式的M个第一容器,并从镜像仓库中按需拉取与M个第一容器对应的容器镜像,不仅能够避免引入人工错误,还能按需从镜像仓库确定容器镜像,减少容器镜像的拉取量、提高拉取效率。
根据本公开的实施例,有序容器列表还包括容器顺序信息,容器顺序信息包括第一容器在有序容器列表内的顺序标识。
例如,有序容器列表内包括5个第一容器,如,第一容器A、第一容器B、第一容器C、第一容器D和第一容器E。其中,第一容器A为与基础环境相关的容器,第一容器B、第一容器C、第一容器D和第一容器E为依赖于基础环境执行其他操作的容器。其中,第一容器A位于最下层,第一容器B、第一容器C、第一容器D和第一容器E按照顺序依次堆叠在第一容器A之上,最上层为第一容器E。按照升级顺序排列对上述5个第一容器排列后,在有序容器列表内的顺序标识分别为1、2、3、4和5。
根据本公开的实施例,根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器,包括以下步骤。
在对第m个第一容器执行升级操作,生成第m个第二容器之后,根据容器顺序信息,确定第m个第一容器是否为最后一个第一容器,m大于等于2,且m小于等于M;以及
在确定第m个第一容器不是最后一个容器的情况下,对第(m+1)个第一容器执行升级操作。
根据本公开的实施例,仍以上述5个第一容器为例,生成与第一容器D对应的第二容器D’之后,根据第一容器D的顺序标识4确定第一容器D不是最后一个第一容器。因此,按照有序顺序列表内的升级顺序,对第一容器E执行升级操作。
根据本公开的实施例,在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像。
根据本公开的实施例,目标应用软件包括M个第一容器,针对每个第一容器,从镜像仓库拉取容器镜像都需要拉取时间。预先拉取M个第一容器或者服务器集群中全部的容器镜像,虽然可以提高升级过程中的拉取效率,但是在升级过程之前,仍然需要较长的时间拉取M个第一容器或者服务器集群中全部的容器镜像,并不能减少拉取时间。此外,预先拉取M个第一容器或者服务器集群中全部的容器镜像,还会导致容器镜像长时间、大量占用存储资源,造成存储空间浪费。
根据本公开的实施例,在升级第1个第一容器的过程中,拉取与第1个第一容器对应的第1个容器镜像,执行第1个容器镜像生成第1个第二容器。其中,在拉取第1个容器镜像之后,执行第1个容器镜像的过程中,通过并行线程拉取(M-1)个容器镜像,以便在生成第1个第二容器之后,无需拉取操作即可对下一个第一容器直接进行升级,解决了因等待拉取操作造成的升级时间长、升级效率低的问题,实现了减少拉取操作的等待时长、提高拉取效率进而提高升级效率的技术效果。
此外,由于升级过程中不会因等待拉取容器镜像而中断升级操作,因此,在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像还能够保证目标应用软件的业务连续性。
根据本公开的实施例,在执行第1个容器镜像的过程中,可以根据有序容器列表和升级信息完成(M-1)个容器镜像的拉取操作。
根据本公开的实施例,在执行第1个容器镜像的过程中,还可以将(M-1)个容器镜像的拉取操作添加至等待队列,且至少完成第2个容器镜像的拉取操作。由此,在执行第m个容器镜像之前,服务器集群至少完成m个容器镜像的拉取操作,保证每次执行升级操作前均无需耗费额外的时长等待拉取容器镜像。
根据本公开的实施例,在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像,包括:
根据容器标识,确定与(M-1)个第一容器对应的操作系统类型和操作系统版本;以及
根据操作系统类型、操作系统版本和升级版本,从镜像仓库拉取(M-1)个容器镜像。
根据本公开的实施例,有序容器列表包括容器标识,根据容器标识可以从服务器集群的存储节点确定与第一容器对应的操作系统类型和操作系统版本。
根据本公开的实施例,操作系统类型表征第一容器的运行环境,操作系统类型与操作系统版本的包括:suse12sp3、suse12sp5、kylinV7、kylinV10、Ubuntu、CentOS等。操作系统版本用于表征操作系统的当前版本,其中,kylinV7中的V7标识操作系统版本。
根据本公开的实施例,升级信息还包括升级版本,用于表征目标应用软件待升级的版本。例如,目标应用软件当前版本为V2.0.1,待升级到版本V2.0.2,升级信息包括待升级的升级版本V2.0.2。
根据本公开的实施例,在确定与(M-1)第一容器对应的操作系统类型和操作系统版本、以及目标应用软件的升级版本之后,可以根据操作系统的当前信息和待升级的升级版本,从镜像仓库确定与(M-1)第一容器对应的(M-1)个容器镜像,并执行拉取操作。
根据本公开的实施例,根据操作系统类型、操作系统版本和升级版本,从镜像仓库拉取(M-1)个容器镜像,包括以下步骤。
根据操作系统类型、操作系统版本和升级版本,确定与(M-1)个第一容器相匹配的(M-1)个容器镜像,以及(M-1)个容器镜像的在镜像仓库的位置信息。
根据位置信息,从镜像仓库拉取(M-1)个容器镜像。
根据本公开的实施例,镜像仓库内存储多个容器镜像,多个容器镜像对应多个第一容器。针对第n个第一容器,根据第n个第一容器的操作系统类型可以确定第n个第一容器在镜像操作所处的目标位置区域,根据操作系统版本和升级版本,可以在目标位置区域内确定第n个容器镜像,以及第n个容器镜像的位置信息,2≤n≤M。
本公开的实施例通过根据操作系统类型、操作系统版本和升级版本拉取镜像,无需人工判断操作系统类型等信息并执行拉取操作,减少人工参与度。此外,根据操作系统类型、操作系统版本和升级版本拉取容器镜像,可以从基于应用软件的角度拉取所需的容器镜像,无需拉取全量容器镜像,减少计算资源和空间资源的浪费。
根据本公开的实施例,目标应用软件包括有状态应用软件,有状态应用软件表征应用软件执行的历史请求和/或生成的历史数据影响未来的请求和/或数据。
根据本公开的实施例,M个第一容器可以分布在服务器集群中的多个Node节点,也称为工作节点。针对有状态应用软件,在向用户提供服务的过程中,M个第一容器之间存在启动顺序,包括M个第一容器的多个工作节点之间也存在启动顺序。具体地,在前一个工作节点启动并正常提供服务后,后一个工作节点才能启动,不能跨工作节点启动。
例如,MySQL应用向用户提供服务时,先创建主数据库,以便上游应用软件读写;再创建从数据库,与主数据库建立同步链接。ElasticSearch应用向用户提供服务时,先创建数据节点,用于写入数据;再创建客户端节点,用于执行数据节点的任务分发;再创建主节点,用于集群状态的管理。
图4示意性示出了根据本公开实施例的有序容器列表的确定方法的流程图。
如图4所示,该实施例的有序容器列表的确定方法400包括操作S421~操作S423,可以作为操作S220的一个具体实施例。
在操作S421,根据应用名称,确定待升级的M个第一容器,M个第一容器之间存在依赖关系。
在操作S422,根据依赖关系,确定M个第一容器的升级链路。
在操作S423,基于升级链路对M个第一容器进行排序,得到有序容器列表。
根据本公开的实施例,在开发过程中,开发人员已经定义了与应用软件相关的多个容器、以及多个容器之间的依赖关系。
在升级目标应用软件的过程中,根据目标应用软件的应用名称可以确定本次升级过程中待升级的M个第一容器,以及M个第一容器之间的依赖关系。依赖关系表征第一容器之间的升级限制条件。
根据本公开的实施例,升级限制条件用于限制在第一容器之前升级的容器、以及在第一容器之后升级的容器。
例如,第m个第一容器的升级限制条件包括:在第m个第一容器之前升级的容器为第(m-1)个第一容器,在第m个第一容器之后升级的容器为第(m+1)个第一容器。
根据本公开的实施例,在第m个第一容器为首个第一容器或最后一个第一容器的情况下,升级限制条件仅限制第m个第一容器之前或之后的容器。
根据本公开的实施例,目标应用软件的升级过程包括M个第一容器,而依赖关系仅能针对单个第一容器限制一个或两个容器。由此,可以根据M个第一容器的依赖关系,将M个第一容器串接为一个升级链路,以便按照升级链路依次对M个第一容器进行升级。
根据本公开的实施例,由于依赖关系包括之前和之后两个方向的限定,在确定升级链路的过程中,固定一个方向组成升级链路;之后根据另一个方向验证升级链路,以保证升级链路的准确性。
例如,以第1个第一容器的依赖关系为基础,按照升级顺序依次确定第2个第一容器、第3个第一容器……直至确定第M个第一容器,生成升级链路。之后,根据第M个第一容器的依赖关系,按照与升级顺序相反的方向验证升级链路,以确定升级链路。
例如,沿着升级顺序确定包括M个第一容器的升级链路之后,根据第M个第一容器的依赖关系确定第(M-1)’个第一容器,将根据依赖关系确定的第(M-1)’个第一容器与升级链路中的第(M-1)个第一容器进行比较;在两者一致的情况下,继续根据第(M-1)’个第一容器的依赖关系确定第(M-2)’个第一容器……直至验证到第1个第一容器,在M个第一容器与根据依赖关系验证的M’个第一容器均相同的情况下,验证通过,确定升级链路。
根据本公开的实施例,在确定升级链路之后,基于升级链路对M个第一容器进行排序,得到有序容器列表。
本公开的实施例能够在有状态应用软件的升级场景下,实现容器镜像的快速拉取,减少目标应用软件服务中断的风险,提升有状态应用服务高可用性。
图5示意性示出了根据本公开一具体实施例的应用软件的升级方法的流程图。
如图5所示,根据本公开一具体实施例的应用软件的升级方法的流程图500包括操作S501~操作S508。
在操作S501,接收升级请求。具体地,接收有状态应用软件的升级请求,确定升级信息,如应用名称。
在操作S502,确定有序容器列表。
在操作S503,升级第1个第一容器。具体地,从镜像仓库拉取与第1个第一容器对应的第1个容器镜像,运行第1个容器镜像,生成第1个第二容器,完成第1个第一容器的升级操作。
在操作S504,获取(M-1)个第一容器的操作系统类型、操作系统版本。
在操作S505,镜像预埋。具体地,在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像。
在操作S506,升级下一个第一容器。
在操作S507,当前第一容器是否为最后一个第一容器。具体地,在当前第一容器不是最后一个第一容器的情况下,返回操作S506,升级下一个第一容器;在当前第一容器是最后一个第一容器的情况下,进入操作S508,结束升级,完成目标应用软件的升级操作。
在操作S508,结束升级。
图6示意性示出了根据本公开实施例的服务器集群的架构示意图。
如图6所示,服务器集群的架构600包括K8s集群601、有状态应用软件602和镜像仓库603。
根据本公开的实施例,K8s集群601包括管理节点6011、存储节点6012和4个工作节点6013~6016,分别为工作节点1 6013、工作节点2 6014、工作节点3 6015、工作节点46016。
有状态应用软件602中待升级的容器为容器-1、容器-2、容器-3和容器-4,分别位于工作节点1~4中。
镜像仓库603包括多个容器镜像。镜像仓库603可以为K8s集群601的本地镜像仓库,也可以为私有镜像仓库。
根据本公开的实施例,有状态应用软件602可以向管理节点6011发送升级请求,管理节点6011响应于来自有状态应用软件的升级请求,确定升级信息,根据升级信息从存储节点6012确定待升级的有序容器列表;之后,管理节点6011根据有序容器列表将与容器-1从容器仓库603拉取至工作节点1 6013,执行容器-1的容器镜像,生成第二容器。在执行容器-1的容器镜像的过程中,管理节点6011将容器-2、容器-3和容器-4对应的容器镜像从镜像仓库603拉取至工作节点2~4。
如图6所示,工作节点1 6013的操作系统类型为SUSE12SP3,工作节点2 6014的操作系统类型为Ubuntu,工作节点3 6015的操作系统类型和操作系统版本为KylinV7,工作节点4 6016的操作系统类型为CentOS。
图7示意性示出了根据本公开实施例的应用软件的升级装置的结构框图。
如图7所示,该实施例的应用软件的升级装置700包括第一确定模块710、第二确定模块720和升级模块730。
第一确定模块710,用于响应于接收到目标应用软件的升级请求,确定目标应用软件的升级信息,升级信息包括应用名称。在一实施例中,第一确定模块710,可以用于执行前文描述的操作S210,在此不再赘述。
第二确定模块720,用于根据应用名称,确定待升级的有序容器列表,有序容器列表包括按照升级顺序排列的M个第一容器,第一容器包括目标应用软件的执行代码,M≥2。在一实施例中,第二确定模块720可以用于执行前文描述的操作S220,在此不再赘述。
升级模块730,用于根据有序容器列表和升级信息,按照升级顺序对M个第一容器执行升级操作,生成M个第二容器。在一实施例中,升级模块730可以用于执行前文描述的操作S230,在此不再赘述。
根据本公开的实施例,升级模块730包括拉取子模块、第一执行子模块、获取子模块、第二执行子模块。
第一拉取子模块用于根据有序容器列表和升级信息,从镜像仓库拉取与第1个第一容器对应的第1个容器镜像,容器镜像用于生成第二容器。在一实施例中,第一拉取子模块可以用于执行前文描述的操作S331,在此不再赘述。
第一执行子模块用于执行第1个容器镜像,生成第1个第二容器。在一实施例中,第一执行子模块可以用于执行前文描述的操作S332,在此不再赘述。
获取子模块用于获取已拉取的(M-1)个容器镜像,(M-1)个容器镜像分别与第2个第一容器至第M个第一容器对应。在一实施例中,获取子模块可以用于执行前文描述的操作S333,在此不再赘述。
第二执行子模块用于按照有序容器列表中(M-1)个第一容器的升级顺序,依次执行(M-1)个容器镜像,生成(M-1)个第二容器。在一实施例中,第二执行子模块可以用于执行前文描述的操作S334,在此不再赘述。
根据本公开的实施例,应用软件的升级装置700还包括第二拉取子模块,用于在执行第1个容器镜像的过程中,根据有序容器列表和升级信息拉取(M-1)个容器镜像。
根据本公开的实施例,第二拉取子模块包括确定单元和拉取单元。
确定单元用于根据容器标识,确定与(M-1)个第一容器对应的操作系统类型和操作系统版本。
拉取单元用于根据操作系统类型、操作系统版本和升级版本,从镜像仓库拉取(M-1)个容器镜像。
根据本公开的实施例,拉取单元包括第一拉取子单元和第二拉取子单元。
第一拉取子单元用于根据操作系统类型、操作系统版本和升级版本,确定与(M-1)个第一容器相匹配的(M-1)个容器镜像,以及(M-1)个容器镜像的在镜像仓库的位置信息。
第二拉取子单元用于根据位置信息,从镜像仓库拉取(M-1)个容器镜像。
根据本公开的实施例,目标应用软件包括有状态应用软件,有状态应用软件表征应用软件执行的历史请求和/或生成的历史数据影响未来的请求和/或数据。
根据本公开的实施例,第二确定模块720包括第一确定子模块、第二确定子模块和第三确定子模块。
第一确定子模块用于根据应用名称,确定待升级的M个第一容器,M个第一容器之间存在依赖关系,依赖关系表征第一容器之间的升级限制条件。在一实施例中,第一确定子模块可以用于执行前文描述的操作S421,在此不再赘述。
第二确定子模块用于根据依赖关系,确定M个第一容器的升级链路。在一实施例中,第二确定子模块可以用于执行前文描述的操作S422,在此不再赘述。
第三确定子模块用于基于升级链路对M个第一容器进行排序,得到有序容器列表。在一实施例中,第三确定子模块可以用于执行前文描述的操作S423,在此不再赘述。
根据本公开的实施例,第一确定模块710、第二确定模块720和升级模块730中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本公开的实施例,第一确定模块710、第二确定模块720和升级模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块710、第二确定模块720和升级模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于应用软件的升级方法的电子设备的方框图。
如图8所示,根据本公开实施例的电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。电子设备800还可以包括连接至输入/输出I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供上述方法。
在该计算机程序被处理器801执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,IB231763
并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (11)
1.一种应用软件的升级方法,包括:
响应于接收到目标应用软件的升级请求,确定所述目标应用软件的升级信息,所述升级信息包括应用名称;
根据所述应用名称,确定待升级的有序容器列表,所述有序容器列表包括按照升级顺序排列的M个第一容器,所述第一容器包括所述目标应用软件的执行代码,M≥2;以及
根据所述有序容器列表和所述升级信息,按照所述升级顺序对所述M个第一容器执行升级操作,生成M个第二容器。
2.根据权利要求1所述的方法,其中,所述根据所述有序容器列表和所述升级信息,按照所述升级顺序对所述M个第一容器执行升级操作,生成M个第二容器,包括:
根据所述有序容器列表和所述升级信息,从镜像仓库拉取与第1个第一容器对应的第1个容器镜像,所述容器镜像用于生成第二容器;
执行所述第1个容器镜像,生成第1个第二容器;
获取已拉取的(M-1)个容器镜像,所述(M-1)个容器镜像分别与第2个第一容器至第M个第一容器对应;以及
按照所述有序容器列表中(M-1)个第一容器的升级顺序,依次执行所述(M-1)个容器镜像,生成(M-1)个第二容器。
3.根据权利要求2所述的方法,还包括:
在执行所述第1个容器镜像的过程中,根据所述有序容器列表和所述升级信息拉取所述(M-1)个容器镜像。
4.根据权利要求3所述的方法,其中,所述升级信息还包括升级版本,所述有序容器列表包括容器标识;
所述在执行所述第1个容器镜像的过程中,根据所述有序容器列表和所述升级信息拉取所述(M-1)个容器镜像,包括:
根据所述容器标识,确定与所述(M-1)个第一容器对应的操作系统类型和操作系统版本;以及
根据所述操作系统类型、所述操作系统版本和所述升级版本,从镜像仓库拉取所述(M-1)个容器镜像。
5.根据权利要求4所述的方法,其中,所述根据所述操作系统类型、所述操作系统版本和所述升级版本,从镜像仓库拉取所述(M-1)个容器镜像,包括:
根据所述操作系统类型、所述操作系统版本和所述升级版本,确定与所述(M-1)个第一容器相匹配的(M-1)个容器镜像,以及所述(M-1)个容器镜像的在镜像仓库的位置信息;以及
根据所述位置信息,从镜像仓库拉取所述(M-1)个容器镜像。
6.根据权利要求1所述的方法,其中,所述目标应用软件包括有状态应用软件,所述有状态应用软件表征应用软件执行的历史请求和/或生成的历史数据影响未来的请求和/或数据。
7.根据权利要求6所述的方法,其中,所述根据所述应用名称,确定待升级的有序容器列表,包括:
根据所述应用名称,确定待升级的M个第一容器,所述M个第一容器之间存在依赖关系,所述依赖关系表征所述第一容器之间的升级限制条件;
根据所述依赖关系,确定所述M个第一容器的升级链路;以及
基于所述升级链路对所述M个第一容器进行排序,得到所述有序容器列表。
8.一种应用软件的升级装置,包括:
第一确定模块,用于响应于接收到目标应用软件的升级请求,确定所述目标应用软件的升级信息,所述升级信息包括应用名称;
第二确定模块,用于根据所述应用名称,确定待升级的有序容器列表,所述有序容器列表包括按照升级顺序排列的M个第一容器,所述第一容器包括所述目标应用软件的执行代码,M≥2;以及
升级模块,用于根据所述有序容器列表和所述升级信息,按照所述升级顺序对所述M个第一容器执行升级操作,生成M个第二容器。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310411920.1A CN116400942A (zh) | 2023-04-18 | 2023-04-18 | 应用软件的升级方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310411920.1A CN116400942A (zh) | 2023-04-18 | 2023-04-18 | 应用软件的升级方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116400942A true CN116400942A (zh) | 2023-07-07 |
Family
ID=87010296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310411920.1A Pending CN116400942A (zh) | 2023-04-18 | 2023-04-18 | 应用软件的升级方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400942A (zh) |
-
2023
- 2023-04-18 CN CN202310411920.1A patent/CN116400942A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170065B2 (en) | Technology agnostic UI microservices | |
US11019064B2 (en) | Data security across data residency restriction boundaries | |
US10382313B2 (en) | Test building for testing server operation | |
US11144437B2 (en) | Pre-populating continuous delivery test cases | |
US10331419B2 (en) | Creating composite templates for service instances | |
US11288170B1 (en) | Log analysis debugging without running on real production environment | |
CN113448570A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113094081A (zh) | 软件发布方法、装置、计算机系统和计算机可读存储介质 | |
US11893383B2 (en) | Configuration properties management for software | |
CN116521317A (zh) | 镜像管理方法及装置、电子设备和计算机可读存储介质 | |
US10331421B2 (en) | Execution of a composite template to provision a composite of software service instances | |
CN116400942A (zh) | 应用软件的升级方法、装置、电子设备及存储介质 | |
CN115514632A (zh) | 云服务的资源模板编排方法、装置、设备及存储介质 | |
CN113918525A (zh) | 数据交换调度方法、系统、电子设备、介质及程序产品 | |
CN115248680A (zh) | 软件构建方法、系统、设备、介质和程序产品 | |
CN112783903B (zh) | 生成更新日志的方法和装置 | |
CN113032004A (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
US11055134B2 (en) | Performing an action on a composite of software instances | |
CN111596941B (zh) | 应用更新方法、装置、电子设备和介质 | |
CN114363172B (zh) | 用于容器组的解耦管理方法、装置、设备、介质 | |
US11650858B2 (en) | Maintaining stream processing resource type versions in stream processing | |
US11943115B2 (en) | Locally debugging remote deployment of microservices | |
CN107818048B (zh) | 计算机代码分支集成的质量检查方法及相关设备 | |
CN114217846A (zh) | 投产方法、装置、电子设备、介质和计算机程序产品 | |
CN115955409A (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 |