CN108572845A - 分布式微服务集群的升级方法及相关系统 - Google Patents
分布式微服务集群的升级方法及相关系统 Download PDFInfo
- Publication number
- CN108572845A CN108572845A CN201810214224.0A CN201810214224A CN108572845A CN 108572845 A CN108572845 A CN 108572845A CN 201810214224 A CN201810214224 A CN 201810214224A CN 108572845 A CN108572845 A CN 108572845A
- Authority
- CN
- China
- Prior art keywords
- app
- configuration data
- version
- version app
- configuration
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种分布式微服务集群的升级方法及相关系统,其中,分布式微服务集群的升级方法包括:容器集群管理系统接收升级任务实例化描述对象,根据升级任务实例化描述对象,创建并启动第一版本APP的服务实例,根据升级任务的工作流,为第一版本APP的服务实例分配资源;利用为第一版本APP的服务实例分配的资源,在节点上为第一版本APP创建容器管理器,启动容器管理器和容器管理器中的APP的微服务运行实例;根据第一版本APP的合并配置数据,生成第一版本APP的存储实例;第一版本APP的合并配置数据由第一版本APP的配置数据和第二版本APP的配置数据合并得到,第二版本APP的版本号低于第一版本APP的版本号。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及分布式微服务集群技术。
背景技术
基于容器集群管理系统构建的平台即服务(Platform-as-a-Service,PaaS)的应用场景,常见的一种是基于Docker运行应用程序(Application,APP)的分布式微服务集群。基于Docker运行APP的分布式微服务集群是指:APP的多个微服务被部署在多台服务器上,通过多台服务器之间的相互通信和相互调用来执行任务。
在实际的应用过程中,APP分布式微服务集群被部署完成后,会需要执行升级操作。并且,一般采用滚动升级方式完成APP分布式微服务集群的升级操作,滚动升级方式是指:利用新版本APP的存储实例替换已有的当前版本APP的存储实例。
但是,在APP分布式微服务集群的实际运行过程中,当前版本APP的存储实例中的配置项的值会变更。采用滚动升级方式完成APP分布式微服务集群的升级操作,当前版本APP的存储实例中配置项变更后的值,又会被新版本APP的存储实例中的初始值所替换,致使新版本APP的微服务运行实例无法读取到被变更过的配置项的值,使得新版本APP无法提供正常的服务。
发明内容
本申请提供了一种分布式微服务集群的升级方法及相关系统,以解决在分布式微服务集群的升级操作中,存在的由于当前版本APP的存储实例被直接替换为新版本APP的存储实例,导致的新版本APP的微服务运行实例无法读取到当前版本APP的存储实例被变更过的配置项的值,致使无法提供正常服务的问题。
为了实现上述目的,现提出的方案如下:
本申请的第一方面提供了一种分布式微服务集群的升级方法,包括:容器集群管理系统接收升级任务实例化描述对象;所述容器集群管理系统根据所述升级任务实例化描述对象,创建并启动第一版本APP的服务实例,并根据升级任务的工作流,为所述第一版本APP的服务实例分配资源;所述容器集群管理系统利用为所述第一版本APP的服务实例分配的资源,在节点上为所述第一版本APP创建容器管理器,并启动所述容器管理器和所述容器管理器中的APP的微服务运行实例;所述容器集群管理系统根据第一版本APP的合并配置数据,生成第一版本APP的存储实例;其中,所述第一版本APP的合并配置数据由所述第一版本APP的配置数据和第二版本APP的配置数据合并得到,所述第二版本APP的版本号低于所述第一版本APP的版本号;所述第一版本APP的存储实例用于存储所述第一版本APP的微服务运行实例被执行时所需的配置数据。
从上述过程可以看出:容器集群管理系统在当前存储的第二版本的存储实例替换为第一版本的APP的存储实例时,由于所述第一版本APP的存储实例根据第一版本APP的合并配置数据而生成;并且,所述第一版本APP的合并配置数据由所述第一版本APP的配置数据和第二版本APP的配置数据合并得到。因此,第一版本的APP的存储实例中包括第二版本的配置数据,可以避免由于当前版本的APP的配置数据被直接替换为新版本APP的配置数据,导致的新版本APP的微服务运行实例无法读取到升级前被变更过的配置项的值,致使无法提供正常服务的问题。
在一个实现方式中,所述任务实例化描述对象由应用编排系统依据第一版本APP的部署蓝图生成;其中,所述第一版本APP的部署蓝图中的定义模板中的数据被丢弃;或者,所述第一版本APP的部署蓝图中的定义模板包括:所述第一版本APP的合并配置数据。
在一个实现方式中,所述第一版本APP的合并配置数据的获得方式,包括:所述容器集群管理系统接收所述容器管理器中的APP发送的所述第一版本APP的合并配置数据;或者,所述容器集群管理系统获取所述升级任务实例化描述对象中的所述第一版本APP的合并配置数据。
在一个实现方式中,所述第一版本APP的合并配置数据,包括:第一种配置项分别在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;现网运行的第二种配置项的值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
本申请的第二方面提供了一种容器集群管理系统,包括:第一接收单元,用于接收升级任务实例化描述对象;第一创建单元,用于根据所述升级任务实例化描述对象,创建并启动第一版本APP的服务实例;分配单元,用于根据升级任务的工作流,为所述第一版本APP的服务实例分配资源;第二创建单元,用于利用所述第一版本APP的服务实例分配资源,在节点上为所述第一版本APP创建容器管理器;启动单元,用于启动所述容器管理器和所述容器管理器中的APP的微服务运行实例;生成单元,用于根据第一版本APP的合并配置数据,生成第一版本APP的存储实例;其中,所述第一版本APP的合并配置数据由所述第一版本APP的配置数据和第二版本APP的配置数据合并得到,所述第二版本APP的版本号低于所述第一版本APP的版本号;所述第一版本APP的存储实例用于存储所述第一版本APP的微服务运行实例被执行时所需的配置数据。
在一个实现方式中,所述任务实例化描述对象由应用编排系统依据第一版本APP的部署蓝图生成;其中,所述第一版本APP的部署蓝图中的定义模板中的数据被丢弃;或者,所述第一版本APP的部署蓝图中的定义模板包括:所述第一版本APP的合并配置数据。
在一个实现方式中,还包括:第二接收单元,用于接收所述容器管理器中的APP发送的所述第一版本APP的合并配置数据;或者,获取单元,用于获取所述升级任务实例化描述对象中的所述第一版本APP的合并配置数据。
在一个实现方式中,所述第一版本APP的合并配置数据,包括:第一种配置项分别在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;现网运行的第二种配置项的值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
本申请的第三方面提供了一种分布式微服务集群的升级方法,包括:应用编排系统识别出第一版本APP的部署蓝图中的任务类型为升级任务,丢弃所述第一版本APP的部署蓝图中的定义模板中的数据,得到第一版本APP的简约部署蓝图;所述应用编排系统依据所述第一版本APP的简约部署蓝图,生成升级任务实例化描述对象;其中,所述升级任务实例化描述对象用于提供于容器集群管理系统创建并启动所述第一版本APP的服务实例;所述应用编排系统监测到所述第一版本APP的服务实例为启动状态,则根据所述升级任务实例化描述对象,生成升级任务的工作流;其中,所述工作流用于驱动所述容器集群管理系统为第一版本APP的服务实例分配资源。
从上述过程可以看出:应用编排系统识别出第一版本APP的部署蓝图中的任务类型为升级任务,丢弃所述第一版本APP的部署蓝图中的定义模板中的数据,可以避免依据第一版本APP部署蓝图中的定义模板中的数据,创建得到第一版本APP的存储实例,导致替换了第二版本APP的存储实例。
本申请的第四方面提供了一种应用编排系统,包括:解析器,用于识别出第一版本APP的部署蓝图中的任务类型为升级任务,丢弃所述第一版本APP的部署蓝图中的定义模板中的数据,得到第一版本APP的简约部署蓝图;依据所述第一版本APP的简约部署蓝图,生成升级任务实例化描述对象;其中,所述升级任务实例化描述对象用于提供于容器集群管理系统创建并启动所述第一版本APP的服务实例;工作流引擎,用于监测到所述第一版本APP的服务实例为启动状态,则根据所述升级任务实例化描述对象,生成升级任务的工作流;其中,所述工作流用于驱动所述容器集群管理系统为第一版本APP的服务实例分配资源。
本申请的第五方面提供了一种分布式微服务集群的升级方法,包括:在第一容器管理器中的APP的微服务运行实例被首次启动时,节点将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;其中,所述第一容器管理器由容器集群管理系统在所述节点上为所述第一版本APP创建;所述第二版本APP的版本号低于所述第一版本APP的版本号;所述节点向所述容器集群管理系统发送所述第一版本APP的合并配置数据。
从上述过程可以看出:节点在第一容器管理器中的APP的微服务运行实例被首次启动时,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据,并将第一版本APP的合并配置数据向容器集群管理系统发送,可以为容器集群管理系统生成第一版本APP的存储实例提供数据依据,保证容器集群管理系统依据第一版本APP的合并配置数据而生成的第一版本APP的存储实例,在替换第二版本的存储实例后,由于第一版本APP的存储实例中保留了第二版本的配置数据,不会出现第一版本APP的微服务运行实例无法读取升级前被变更过的配置项的值,致使无法提供正常服务的问题。
在一个实现方式中,所述将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据,包括:在所述第一版本APP的合并配置数据中,分别保存第一种配置项在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;在所述第一版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
在一个实现方式中,还包括:所述节点从所述容器集群管理系统的应用配置中心读取所述第二版本APP的配置数据;或者,从特定逻辑卷组中读取所述第二版本的配置数据;其中,所述特定逻辑卷组挂载到所述节点中用于管理所述第二版本APP的容器管理器中。
本申请的第六方面提供了一种节点,包括:合并单元,用于在第一容器管理器中的APP的微服务运行实例被首次启动时,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;其中,所述第一容器管理器由容器集群管理系统在所述节点上为所述第一版本APP创建;所述第二版本APP的版本号低于所述第一版本APP;发送单元,用于向所述容器集群管理系统发送所述第一版本APP的合并配置数据。
在一个实现方式中,所述合并单元执行将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据时,用于:在所述第一版本APP的合并配置数据中,分别保存第一种配置项在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;在所述第一版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
在一个实现方式中,还包括:获取单元,用于从所述容器集群管理系统的应用配置中心读取所述第二版本APP的配置数据;或者,用于从特定逻辑卷组中读取所述第二版本的配置数据;其中,所述特定逻辑卷组挂载到所述节点中用于管理所述第二版本APP的容器管理器中。
本申请的第七方面还提供了一种分布式微服务集群的升级方法,包括:应用编排系统识别出第一版本APP的部署蓝图中的任务类型为升级任务,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;所述应用编排系统依据所述第一版本APP的合并配置数据,生成升级任务实例化描述对象;其中,所述升级任务实例化描述对象用于提供于容器集群管理系统创建并启动所述第一版本APP的服务实例;所述第二版本APP的版本号低于所述第一版本APP的版本号;所述应用编排系统监测到所述第一版本APP的服务实例为启动状态,则根据升级任务实例化描述对象,生成升级任务的工作流;其中,所述工作流用于驱动所述容器集群管理系统为所述第一版本APP的服务实例分配资源、创建所述第一版本APP的存储实例、以及为所述第一版本APP创建容器管理器并启动所述容器管理器和所述容器管理器中的APP的微服务运行实例。
从上述过程可以看出:应用编排系统识别出第一版本APP的部署蓝图中的任务类型为升级任务,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据。因此,第一版本的APP的存储实例中包括第二版本的配置数据,可以避免由于当前版本的APP的配置数据被直接替换为新版本APP的配置数据,导致的新版本APP的微服务运行实例无法读取到升级前被变更过的配置项的值,致使无法提供正常服务的问题。
在一个实现方式中,所述应用编排系统依据所述第一版本APP的合并配置数据,生成升级任务实例化描述对象,包括:所述应用编排系统依据第一版本APP的部署蓝图,生成初始的升级任务实例化描述对象;所述应用编排系统依据所述第一版本APP的合并配置数据,处理所述初始的升级任务实例化描述对象,得到所述升级任务实例化描述对象。
在一个实现方式中,所述应用编排系统依据所述第一版本APP的合并配置数据,生成升级任务实例化描述对象,包括:所述应用编排系统依据所述第一版本APP的部署蓝图和第一版本APP的合并配置数据,生成所述升级任务实例化描述对象。
在一个实现方式中,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据,包括:在所述第一版本APP的合并配置数据中,分别保存第一种配置项在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;在所述第一版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
在一个实现方式中,还包括:所述应用编排系统从容器集群管理系统的应用配置中心中读取所述第二版本APP的配置数据;或者,所述应用编排系统从特定逻辑卷组中读取所述第二版本的配置数据;其中,所述特定逻辑卷组挂载到所述节点中用于管理所述第二版本APP的容器管理器中。
本申请的第八方面还提供了一种应用编排系统,包括:生成单元,用于识别出第一版本APP的部署蓝图中的任务类型为升级任务,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;并依据所述第一版本APP的合并配置数据,生成升级任务实例化描述对象;其中,所述升级任务实例化描述对象用于提供于容器集群管理系统创建并启动所述第一版本APP的服务实例;所述第二版本APP的版本号低于所述第一版本APP的版本号;工作流引擎,用于监测到所述第一版本APP的服务实例为启动状态,则根据升级任务实例化描述对象,生成升级任务的工作流;其中,所述工作流用于驱动所述容器集群管理系统为所述第一版本APP的服务实例分配资源、创建所述第一版本APP的存储实例、以及为所述第一版本APP创建容器管理器并启动所述容器管理器和所述容器管理器中的APP的微服务运行实例。
在一个实现方式中,所述生成单元,包括:解析器,用于依据第一版本APP的部署蓝图,生成初始的升级任务实例化描述对象;后台服务端,用于在识别出所述第一版本APP的部署蓝图中的任务类型为升级任务,将所述第一版本APP的配置数据和所述第二版本APP的配置数据进行合并,得到所述第一版本APP的合并配置数据;并依据所述第一版本APP的合并配置数据,处理所述初始的升级任务实例化描述对象,得到所述升级任务实例化描述对象。
在一个实现方式中,所述生成单元,包括:后台服务端,用于在识别出所述第一版本APP的部署蓝图中的任务类型为升级任务,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;解析器,用于依据所述第一版本APP的部署蓝图和第一版本APP的合并配置数据,生成所述升级任务实例化描述对象。
在一个实现方式中,所述生成单元执行将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据时,用于:在所述第一版本APP的合并配置数据中,分别保存第一种配置项在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;在所述第一版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
在一个实现方式中,所述生成单元用于从容器集群管理系统的应用配置中心中读取所述第二版本APP的配置数据;或者,所述生成单元用于从特定逻辑卷组中读取所述第二版本的配置数据;其中,所述特定逻辑卷组挂载到所述节点中用于管理所述第二版本APP的容器管理器中。
本申请的第九方面还提供了一种容器集群管理系统,包括:存储器和处理器,其中:所述存储器用于存储计算机程序代码;所述处理器用于执行所述存储器存储的代码,使得所述容器集群管理系统执行上述任一项所述的方法。
本申请的第十方面还提供了一种应用编排系统,包括:存储器和处理器,其中:所述存储器用于存储计算机程序代码;所述处理器用于执行所述存储器存储的代码,使得所述应用编排系统执行上述任一项所述的方法。
本申请的第十一方面还提供了一种节点,包括:存储器和处理器,其中:所述存储器用于存储计算机程序代码;所述处理器用于执行所述存储器存储的代码,使得所述节点执行上述任一项所述的方法。
本申请的第十二方面提供了一种计算机程序产品,当该计算机产品被执行时,其用于执行上述所介绍的容器集群管理系统所执行的方法。
本申请的第十三方面还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于执行上述所介绍的容器集群管理系统所执行的方法。
本申请的第十四方面提供了一种计算机程序产品,当该计算机产品被执行时,其用于执行上述所介绍的应用编排系统所执行的方法。
本申请的第十五方面还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于执行上述所介绍的应用编排系统所执行的方法。
本申请的第十六方面提供了一种计算机程序产品,当该计算机产品被执行时,其用于执行上述所介绍的节点所执行的方法。
本申请的第十七方面还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令用于执行上述所介绍的节点所执行的方法。
附图说明
图1为本申请实施例公开的一种分布式微服务集群系统的示意图;
图2为本申请实施例公开的一种分布式微服务集群的升级方法的流程图;
图3为本申请另一实施例公开的一种分布式微服务集群的升级方法的流程图;
图4为本申请实施例公开的一种容器集群管理系统的示意图;
图5为本申请实施例公开的一种应用编排系统的示意图;
图6为本申请实施例公开的一种节点的示意图;
图7为本申请实施例公开的一种应用编排系统的结构示意图;
图8为本申请另一实施例公开的一种容器集群管理系统的示意图;
图9为本申请另一实施例公开的一种应用编排系统的结构示意图;
图10为本申请另一实施例公开的一种节点的结构示意图。
具体实施方式
本申请实施例公开了一种APP分布式微服务集群系统,参见图1,包括:平台即服务(Platform-as-a-Service,PaaS)层设备和多个节点。
其中,PaaS层设备包括:应用编排系统101(Application Orchestrator Service,AOS)和容器集群管理系统102(例如:Kubernetes Master)。应用编排系统101根据工作内容的区别,可以分为前台界面(例如:AOS Portal Web)、后台服务端(例如:AOS API Server)、解析器(例如:AOS Blueprint Parser)以及工作流引擎(Workflow Engine)。容器集群管理系统102包括:服务端(例如:Kube API Server)和应用配置中心(例如:ConfigMapService)。每个节点均可以部署多个容器管理器103(POD)。
操作人员在PaaS层设备上创建APP分布式微服务集群的部署任务,由PaaS层设备中的应用编排系统101和容器集群管理系统102,完成将APP的多个微服务运行在多个节点上,形成APP分布式微服务集群。并且,APP分布式微服务集群部署完成后,若APP版本升级,也需要对分布式微服务集群下的APP进行升级,以下内容重点对APP分布式微服务集群进行升级的方案进行介绍。
本申请实施例公开了一种分布式微服务集群的升级方法,应用于APP分布式微服务集群系统,参见图2,包括步骤:
S201、应用编排系统接收用户上传的新版本APP的部署蓝图。
用户在应用编排系统的AOS Portal Web页面上传新版本APP的部署蓝图,并通过调用AOS API Server完成新版本APP的部署蓝图的上传工作。
新版本APP的部署蓝图包括:任务类型、定义模板和部署参数;其中,任务类型用于说明新版本APP是何种任务,例如:安装任务、升级任务、扩容任务以及克隆任务等;定义模板用于创建ConfigMap Service中的存储实例;部署参数包括:当前环境信息、当前版本APP的版本信息、新版本APP的版本信息以及系统配置参数等;其中,新版本APP的版本信息中的版本号高于当前版本APP的版本信息中的版本号。
可选地,待新版本APP的部署蓝图上传完毕,AOS API Server会向AOS Portal Web页面返回上传成功的结果。用户即可在AOS Portal Web页面上点击创建升级任务菜单按钮,生成并向AOS API Server发送创建升级任务的请求。
S202、应用编排系统识别出新版本APP的部署蓝图中的任务类型为升级任务,丢弃新版本APP的部署蓝图中的定义模板中的数据,得到新版本APP的简约部署蓝图。
AOS API Server收到创建升级任务的请求之后,调用AOS的解析器解析新版本APP的部署蓝图。若识别出新版本APP的部署蓝图中的任务类型为升级任务,则丢弃定义模板中的数据。具体的,若识别新版本APP的部署蓝图中,环境变量的任务类型(tasktype)的字段类型为滚动升级(RollingUpdate),则说明新版本APP的部署蓝图中的任务类型为升级任务。
并且,若新版本APP的部署蓝图中的任务类型为升级任务,丢弃新版本APP部署蓝图中的定义模板中的数据,可以避免依据新版本APP部署蓝图中的定义模板中的数据,创建得到新版本APP的存储实例,导致替换了当前版本APP的存储实例。
S203、应用编排系统依据新版本APP的简约部署蓝图,生成升级任务实例化描述对象。
其中,解析器生成升级任务实例化描述对象,且生成的升级任务实例化描述对象包含:任务类型和部署参数。
可选地,解析器生成升级任务实例化描述对象之后,还可以向AOS API Server返回升级任务实例化描述对象,由AOS API Server保存升级任务实例化描述对象。
S204、容器集群管理系统根据升级任务实例化描述对象,创建并启动新版本APP的服务实例。
应用编排系统的AOS API Server调用容器集群管理系统的Kube API Server,向其传输升级任务实例化描述对象。容器集群管理系统的Kube API Server根据升级任务实例化描述对象,创建新版本APP的服务实例。并且,新版本APP的服务实例成功创建之后,Kube API Server向AOS API Server返回创建新版本APP的服务实例成功的结果。待KubeAPI Server向AOS API Server返回创建新版本APP的服务实例成功的结果之后,Kube APIServer执行启动新版本APP的服务实例的操作。
由于启动新版本APP的服务实例比较耗时,因此,AOS API Server还会异步向AOSPortal Web页面返回新版本APP的服务实例正在升级中的状态。
S205、应用编排系统监测到新版本APP的服务实例为启动状态,则根据升级任务实例化描述对象,生成升级任务的工作流。
其中,应用编排系统的Workflow Engine调用Kube API Server,判断新版本APP的服务实例的状态,若发现新版本APP的服务实例处于启动中的状态,则根据升级任务实例化描述对象,生成升级任务的工作流。其中,升级任务的工作流是执行升级任务工作的规划,包括升级任务被执行时所包括的流程安排,用于管理容器集群管理系统按照流程安排执行分布式微服务集群下的APP的升级动作。
S206、容器集群管理系统根据工作流,为新版本APP的服务实例分配资源。
其中,由容器集群管理系统中的Kube API Server执行工作流,为新版本APP的服务实例分配资源。
S207、容器集群管理系统根据工作流,利用新版本APP的服务实例分配的资源,在节点上为新版本APP创建新的POD,并启动新的POD和新的POD中的APP的微服务运行实例。
其中,容器集群管理系统中的Kube API Server,根据工作流的流程安排,利用新版本APP的服务实例分配的资源,在节点上为新版本APP创建新的POD。并且,在启动该新的POD之前,还需要初始化POD的配置。
S208、新的POD中的APP的微服务运行实例被首次启动,新的POD中的APP将新版本APP的配置数据和当前版本APP配置数据进行合并,得到新版本APP的合并配置数据。
APP分布式微服务集群被部署时,APP的部署蓝图中的定义模板中的数据会写入容器集群管理系统的ConfigMap Service,形成存储实例,该存储实例用于存储当前版本APP的微服务运行实例被执行时所需的配置数据。并且,存储实例还会被挂载到用于管理当前版本APP的POD中。这样,存储实例才可以被POD的应用程序容器访问到。一般情况下,存储实例会以逻辑卷组(ConfigMap Volume)形式挂载到POD中。因此,在新的POD中的APP的微服务运行实例被启动,从容器集群管理系统的ConfigMap Service或者ConfigMap Volume中读取当前版本APP的存储实例中的配置数据,即当前版本APP的配置数据。
节点上存储有新版本APP的配置文件,新版本APP的配置文件中保存有新版本APP的配置数据。在节点上新的POD中的APP需要进行配置数据的合并时,获取节点保存的新版本APP的配置文件中的配置数据,作为新版本APP的配置数据。
可选地,本申请的另一实施例中,新版本APP的配置数据和当前版本APP的配置数据进行合并,需要将新版本APP的配置文件和当前版本APP的存储实例中的名称相同、且值也相同的配置项,分别保存作为新版本APP的合并配置数据中的配置项,且包括该配置项的名称和值。并且,针对新版本APP的配置数据和当前版本APP的配置数据中有区别的配置项,其合并方法,包括:
在新版本APP的合并配置数据中,分别保存第一种配置项在新版本APP的配置数据和当前版本APP的配置数据中的名称和值;其中,第一种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,新增加的配置项以及删除的配置项。
在新版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,第二种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,名称相同但值不相同的配置项。
还需要说明的是,若新版本APP的配置数据与当前版本APP的配置数据相比较,新版本APP的配置数据所包括的仅是名称不同的配置项,应当被认为属于第一种配置项。例如:一个配置项,在当前版本APP的配置数据中的名称为key1,在新版本APP的配置数据中的名称为key2。在新版本APP的合并配置数据中,分别保存该配置项的名称key1和对应的值,以及名称key2和对应的值。
S209、节点将新版本APP的合并配置数据写入到容器集群管理系统。
S210、容器集群管理系统根据新版本APP的合并配置数据,生成新版本APP的存储实例。
具体的,节点中新的POD将新版本APP的合并配置数据写入容器集群管理系统的ConfigMap Service,容器集群管理系统的ConfigMap Service得到新版本APP的存储实例,再将新版本APP的存储实例替换当前版本APP的存储实例。并且,待ConfigMap Service得到新版本APP的存储实例之后,ConfigMap Service向节点中新的POD返回写入成功的结果。
S211、容器集群管理系统设置新版本APP的服务实例为正常运行状态。
S212、容器集群管理系统向应用编排系统返回创建新版本APP服务实例资源成功的结果。
其中,Kube API Server设置新版本APP的服务实例为正常运行状态,向WorkflowEngine返回创建新版本APP的服务实例资源成功的结果。
S213、容器集群管理系统释放老版本APP的服务实例的资源。
循环执行步骤S201~S213、完成APP分布式微服务集群中其它APP的服务实例的升级。
还需要说明的是,AOS Portal Web通过AOS API Server周期性地向Kube APIServer查询新版本APP的服务实例运行状态。如果新版本APP的服务实例完成替换升级,那么Kube API Server便返回新版本APP的服务实例处于正常运行状态,AOS Portal Web上将新版本APP的服务实例从升级中状态改成正常运行状态。
本申请另一实施例还公开了一种分布式微服务集群的升级方法,参见图3,包括步骤S301~步骤S312;其中,步骤S301的内容与对应图2的实施例中的步骤S201相同,步骤S304~步骤S306的内容与对应图2的实施例中的步骤S204~步骤S206相同;步骤S310~S312的内容与对应图2的实施例中的步骤S210~S212相同,此处均不再赘述,仅对本实施例中的步骤S302~步骤S303、以及步骤S307~步骤S309进行说明。
S302、应用编排系统识别出新版本APP的部署蓝图中的任务类型为升级任务,将新版本APP的配置数据和当前版本APP的配置数据进行合并,得到新版本APP的合并配置数据。
应用编排系统接收新版本APP的部署蓝图,由解析器解析新版本APP的部署蓝图,获取任务类型、定义模板和部署参数。其中,定义模板包括:新版本APP的配置数据。解析器解析新版本APP的部署蓝图之后,应用编排系统的AOS API Server识别新版本APP的部署蓝图中的任务类型,在识别出任务类型为升级任务,则调用容器集群管理系统的Kube APIServer。容器集群管理系统的Kube API Server从容器集群管理系统的ConfigMap Service中获取当前版本APP的存储实例,并将其返回给应用编排系统的AOS API Server;由应用编排系统的AOS API Server执行配置数据的合并操作。并且,当前版本APP的存储实例中的配置数据即为当前版本APP的配置数据。另外,应用编排系统还可以从特定逻辑卷组中读取当前版本的存储实例,即当前版本APP的配置数据;其中,特定逻辑卷组挂载到节点中用于管理当前版本APP的容器管理器中。
可选地,本申请的另一实施例中,应用编排系统将新版本APP的配置数据和当前版本APP的配置数据进行合并,需要将新版本APP的配置数据和当前版本APP的配置数据中相同的配置项的名称和值,分别保存作为新版本APP的合并配置数据中的内容。并且,针对新版本APP的配置数据和当前版本APP的配置数据中不相同的配置项的合并方法,包括:
在新版本APP的合并配置数据中,分别保存第一种配置项在新版本APP的配置数据和当前版本APP的配置数据中的名称和值;其中,第一种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,新增加的配置项以及删除的配置项。
在新版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,第二种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,名称相同但值不相同的配置项。
S303、应用编排系统依据新版本APP的合并配置数据,生成升级任务实例化描述对象。
应用编排系统依据新版本APP的合并配置数据,生成升级任务实例化描述对象。并且,解析器生成升级任务实例化描述对象之后,还将升级任务实例化描述对象,返回至应用编排系统的AOS API Server。
可选地,本申请的另一实施例中,应用编排系统依据新版本APP的合并配置数据,生成升级任务实例化描述对象的一种实施方式,包括:
应用编排系统依据新版本APP的部署蓝图,生成初始的升级任务实例化描述对象。
其中,应用编排系统的解析器解析新版本APP的部署蓝图之后,依据新版本APP的部署蓝图,生成初始的升级任务实例化描述对象;初始的升级任务实例化描述对象包括:新版本APP的部署蓝图中定义模板的数据,即新版本APP的配置数据。
应用编排系统依据新版本APP的合并配置数据,处理初始的升级任务实例化描述对象,得到升级任务实例化描述对象。
其中,应用编排系统的AOS API Server得到新版本APP的合并配置数据之后,依据新版本APP的合并配置数据,处理初始的升级任务实例化描述对象,得到升级任务实例化描述对象。具体的,应用编排系统的AOS API Server,将初始的升级任务实例化描述对象中的新版本APP的部署蓝图中定义模板的数据,替换为新版本APP的合并配置数据。因此,升级任务实例化描述对象中包括新版本APP的合并配置数据。
可选地,本申请的另一实施例中,应用编排系统依据新版本APP的合并配置数据,生成升级任务实例化描述对象的另一种实施方式,包括:
应用编排系统依据新版本APP的部署蓝图和新版本APP的合并配置数据,生成升级任务实例化描述对象。
其中,应用编排系统的AOS API Server在得到新版本APP的合并配置数据之后,将新版本APP的合并配置数据向解析器发送,由解析器根据新版本APP的部署蓝图和新版本APP的合并配置数据,生成升级任务实例化描述对象。
具体的,生成的升级任务实例化描述对象也包括新版本APP的合并配置数据。
S307、容器集群管理系统根据工作流,创建新版本APP的存储实例。
其中,在步骤S305中,由于升级实例化描述对象包括新版本APP的合并配置数据,因此,生成的升级任务的工作流则包括生成新版本APP的存储实例的流程要求。因此,在容器集群管理系统接收到工作流之后,容器集群管理系统的Kube API Server根据工作流的流程要求,创建新版本APP的存储实例。并且,容器集群管理系统将自身存储的当前版本APP的存储实例,替换为新版本APP的存储实例。
S308、容器集群管理系统根据工作流,为新版本APP创建新的POD,并启动新的POD和新的POD中的APP的微服务运行实例。
其中,容器集群管理系统的Kube API Server创建新的POD并初始化POD的配置,然后启动POD和POD中的APP的微服务运行实例。
S309、新的POD中的APP的微服务运行实例被启动,新的POD中的APP获取容器集群管理系统中的新版本APP的存储实例。
其中,新的POD中的APP的微服务运行实例被启动的时候,从ConfigMap Service挂载新的POD的逻辑卷组中读取新版本APP的存储实例中的配置数据,具体读取新版本APP的配置项和配置项的值。
循环执行步骤S301~S311、完成APP分布式微服务集群中其它APP的服务实例的升级。
本申请另一实施例还公开了一种容器集群管理系统,参见图4,包括:
第一接收单元401,用于按照对应图2的实施例中步骤S204所公开的实施方式,接收升级任务实例化描述对象。可选地,本申请的另一实施例中,任务实例化描述对象由应用编排系统按照对应图2的实施例中步骤S203所公开的实施方式,以及按照对应图3的实施例中步骤S303所公开的实施方式,依据新版本APP的部署蓝图生成;其中,新版本APP的部署蓝图中的定义模板中的数据被丢弃;或者,新版本APP的部署蓝图中的定义模板包括:新版本APP的合并配置数据。
第一创建单元402,用于按照对应图2的实施例中步骤S204所公开的实施方式,以及按照对应图3的实施例中步骤S304所公开的实施方式,根据升级任务实例化描述对象,创建并启动新版本APP的服务实例。
分配单元403,用于按照对应图2的实施例中步骤S206所公开的实施方式,以及按照对应图3的实施例中步骤S306所公开的实施方式,根据升级任务的工作流,为新版本APP的服务实例分配资源。
第二创建单元404,用于按照对应图2的实施例中步骤S207所公开的实施方式,以及按照对应图3的实施例中步骤S308所公开的实施方式,利用新版本APP的服务实例分配资源,在节点上为新版本APP创建容器管理器。
启动单元405,用于按照对应图2的实施例中步骤S207所公开的实施方式,以及按照对应图3的实施例中步骤S308所公开的实施方式,启动容器管理器和容器管理器中的APP的微服务运行实例。
生成单元406,用于按照对应图2的实施例中步骤S210所公开的实施方式,以及按照对应图3的实施例中步骤S307所公开的实施方式,根据新版本APP的合并配置数据,生成新版本APP的存储实例;其中,新版本APP的合并配置数据由新版本APP的配置数据和当前版本APP的配置数据合并得到,当前版本APP的版本号低于新版本APP的版本号;新版本APP的存储实例用于存储新版本APP的微服务运行实例被执行时所需的配置数据。
可选地,本申请的另一实施例中,新版本APP的合并配置数据,包括:
第一种配置项分别在新版本APP的配置数据和当前版本APP的配置数据中的名称和值;其中,第一种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,新增加的配置项以及删除的配置项。
现网运行的第二种配置项的值;其中,所述第二种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,名称相同但值不相同的配置项。
可选地,本申请的另一实施例中,参见图4,容器集群管理系统还包括:第二接收单元407,用于接收容器管理器中的APP发送的新版本APP的合并配置数据。或者,容器集群管理系统还包括获取单元408,用于获取升级任务实例化描述对象中的第一版本APP的合并配置数据。
还需要说明的是,本申请上述实施例中提及的第一接收单元401、第一创建单元、分配单元403、第二创建单元404、启动单元405、生成单元406、第二接收单元407以及获取单元408均可以理解成容器集群管理系统的Kube API Server中的功能模块。
本申请另一实施例还公开了一种应用编排系统,参见图5,包括:
解析器501,用于按照对应图2的实施例中步骤S202所公开的实施方式,识别出新版本APP的部署蓝图中的任务类型为升级任务,丢弃新版本APP的部署蓝图中的定义模板中的数据,得到新版本APP的简约部署蓝图;并按照对应图2的实施例中步骤S203所公开的实施方式,依据新版本APP的简约部署蓝图,生成升级任务实例化描述对象;其中,升级任务实例化描述对象用于提供于容器集群管理系统创建并启动新版本APP的服务实例。
工作流引擎502,用于按照对应图2的实施例中步骤S205所公开的实施方式,监测到新版本APP的服务实例为启动状态,则根据升级任务实例化描述对象,生成升级任务的工作流;其中,工作流用于驱动所述容器集群管理系统为新版本APP的服务实例分配资源。
本申请另一实施例还公开了一种节点,参见图6,包括:
合并单元601,用于按照对应图2的实施例中步骤S208所公开的实施方式,在第一容器管理器中的APP的微服务运行实例被首次启动时,将新版本APP的配置数据和当前版本APP的配置数据进行合并,得到新版本APP的合并配置数据;其中,第一容器管理器由容器集群管理系统在节点上为新版本APP创建;当前版本APP的版本号低于新版本APP的版本号。
可选地,本申请的另一实施例中,合并单元601执行将新版本APP的配置数据和当前版本APP的配置数据进行合并,得到新版本APP的合并配置数据时,用于:
在新版本APP的合并配置数据中,分别保存第一种配置项在新版本APP的配置数据和当前版本APP的配置数据中的名称和值;其中,第一种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,新增加的配置项以及删除的配置项;
在新版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,第二种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,名称相同但值不相同的配置项。
发送单元602,用于按照对应图2的实施例中步骤S209所公开的实施方式,向容器集群管理系统发送新版本APP的合并配置数据。
可选地,本申请的另一实施例中,参见图6,节点还包括:
获取单元603,用于按照对应图2的实施例中步骤S208所公开的实施方式,从容器集群管理系统的应用配置中心读取当前版本APP的配置数据;或者,从特定逻辑卷组中读取当前版本的配置数据;其中,特定逻辑卷组挂载到所述节点中用于管理当前版本APP的容器管理器中。
本申请实施例还公开了一种应用编排系统,参见图7,包括:
生成单元701,用于按照对应图3的实施例中步骤S302所公开的实施方式,识别出新版本APP的部署蓝图中的任务类型为升级任务,将新版本APP的配置数据和当前版本APP的配置数据进行合并,得到新版本APP的合并配置数据;并按照对应图3的实施例中步骤S303所公开的实施方式,依据新版本APP的合并配置数据,生成升级任务实例化描述对象;其中,升级任务实例化描述对象用于提供于容器集群管理系统创建并启动新版本APP的服务实例;当前版本APP的版本号低于新版本APP的版本号。
可选地,本申请的另一实施例中,生成单元701用于从容器集群管理系统的应用配置中心中读取当前版本APP的配置数据;或者,生成单元701用于从特定逻辑卷组中读取当前版本的配置数据;其中,特定逻辑卷组挂载到节点中用于管理当前版本APP的容器管理器中。
工作流引擎702,用于监测到新版本APP的服务实例为启动状态,则根据升级任务实例化描述对象,生成升级任务的工作流。其中,工作流用于驱动容器集群管理系统为新版本APP的服务实例分配资源、创建新版本APP的存储实例、以及为新版本APP创建容器管理器并启动所述容器管理器和所述容器管理器中的APP的微服务运行实例。
可选地,本申请的另一实施例中,生成单元301可按照对应图3的实施例中步骤S303的一种具体实施方式工作,具体包括:解析器,用于依据新版本APP的部署蓝图,生成初始的升级任务实例化描述对象;后台服务端,用于在识别出新版本APP的部署蓝图中的任务类型为升级任务,将新版本APP的配置数据和当前版本APP的配置数据进行合并,得到新版本APP的合并配置数据;并依据新版本APP的合并配置数据,处理初始的升级任务实例化描述对象,得到升级任务实例化描述对象。
可选地,本申请的另一实施例中,生成单元301还可按照对应图3的实施例中步骤S303的另一种具体实施方式工作,具体包括:后台服务端,用于在识别出新版本APP的部署蓝图中的任务类型为升级任务,将新版本APP的配置数据和当前版本APP的配置数据进行合并,得到新版本APP的合并配置数据;解析器,用于依据新版本APP的部署蓝图和新版本APP的合并配置数据,生成升级任务实例化描述对象。
可选地,本申请的另一实施例中,生成单元701按照对应图3的实施例中步骤S302的可选实施方式,执行将新版本APP的配置数据和第二版本APP的配置数据进行合并,得到新版本APP的合并配置数据时,用于:在新版本APP的合并配置数据中,分别保存第一种配置项在新版本APP的配置数据和当前版本APP的配置数据中的名称和值;其中,第一种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,新增加的配置项以及删除的配置项。在新版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,第二种配置项包括:新版本APP的配置数据相对于当前版本APP的配置数据,名称相同但值不相同的配置项。
如图8所示,本申请另一实施例公开了一种容器集群管理系统800,包括:处理器801、存储器802和通信端口803,还包括电源、以及安装在硬件上的操作系统等部分,具体在图8中未一一列举出来,但并不对本申请实施例中的容器集群管理系统800构成限定。在本申请的一些实施例中,处理器801和存储器802可通过总线或其它方式进行连接,具体此处不做限定。其中,图8中以处理器801和存储器802通过总线连接为例进行示例说明。
处理器801用于控制容器集群管理系统800的操作,还可以称为中央处理单元(英文:central processing unit,CPU)。
存储器802,可以包括只读存储器(英语:read-only memory,ROM)和随机存取存储器(英文:random access memory,RAM),还可以其他存储器或者是存储介质,并向处理器801提供指令和数据。存储器802的一部分还可以包括非易失性随机存取存储器(英文:non-volatile random access memory,NVRAM)。存储器802存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,各种操作指令用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。存储器802还存储有本申请实施例所涉及的数据、程序等。处理器801通过运行存储器802中的程序,以用于完成上述每一个实施例中容器集群管理系统执行的分布式微服务集群的升级方法。
处理器801可以是一种集成电路芯片,具有信号的处理能力。在本申请实施例实现过程中,本申请实施例中容器集群管理系统所执行的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(英文:digital signal processing,DSP)、专用集成电路(英文:application-specific integrated circuit,ASIC)、现场可编程门阵列(英文:field-programmablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802或者处理器801,处理器801读取存储器802或自身中的信息,结合其硬件完成本申请实施例的容器集群管理系统执行的分布式微服务集群的升级方法的步骤。
如图9所示,本申请另一实施例公开了一种应用编排系统900,包括:处理器901、存储器902和通信端口903,还包括电源、以及安装在硬件上的操作系统等部分,具体在图9中未一一列举出来,但并不对本申请实施例中的应用编排系统900构成限定。在本申请的一些实施例中,处理器901和存储器902可通过总线或其它方式进行连接,具体此处不做限定。其中,图9中以处理器901和存储器902通过总线连接为例进行示例说明。
处理器901用于控制应用编排系统900的操作,还可以称为中央处理单元(英文:central processing unit,CPU)。
存储器902,可以包括只读存储器(英语:read-only memory,ROM)和随机存取存储器(英文:random access memory,RAM),还可以其他存储器或者是存储介质,并向处理器901提供指令和数据。存储器902的一部分还可以包括非易失性随机存取存储器(英文:non-volatile random access memory,NVRAM)。存储器902存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,各种操作指令用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。存储器902还存储有本申请实施例所涉及的数据、程序等。处理器901通过运行存储器902中的程序,以用于完成上述每一个实施例中应用编排系统执行的方法。
处理器901可以是一种集成电路芯片,具有信号的处理能力。在本申请实施例实现过程中,本申请实施例中应用编排系统所执行的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(英文:digital signal processing,DSP)、专用集成电路(英文:application-specificintegrated circuit,ASIC)、现场可编程门阵列(英文:field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902或者处理器901,处理器901读取存储器902或自身中的信息,结合其硬件完成本申请实施例的应用编排系统的配置方法的步骤。
如图10所示,本申请另一实施例公开了一种节点1000,包括:处理器1001、存储器1002和通信端口1003,还包括电源、以及安装在硬件上的操作系统等部分,具体在图10中未一一列举出来,但并不对本申请实施例中的节点1000构成限定。在本申请的一些实施例中,处理器1001和存储器1002可通过总线或其它方式进行连接,具体此处不做限定。其中,图10中以处理器1001和存储器1002通过总线连接为例进行示例说明。
处理器1001用于控制节点1000的操作,还可以称为中央处理单元(英文:centralprocessing unit,CPU)。
存储器1002,可以包括只读存储器(英语:read-only memory,ROM)和随机存取存储器(英文:random access memory,RAM),还可以其他存储器或者是存储介质,并向处理器1001提供指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器(英文:non-volatile random access memory,NVRAM)。存储器1002存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,各种操作指令用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。存储器1002还存储有本申请实施例所涉及的数据、程序等。处理器1001通过运行存储器1002中的程序,以用于完成上述每一个实施例中节点执行的方法。
处理器1001可以是一种集成电路芯片,具有信号的处理能力。在本申请实施例实现过程中,本申请实施例中节点所执行的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1001可以是通用处理器、数字信号处理器(英文:digital signal processing,DSP)、专用集成电路(英文:application-specificintegrated circuit,ASIC)、现场可编程门阵列(英文:field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1002或者处理器1001,处理器1001读取存储器1002或自身中的信息,结合其硬件完成本申请实施例的节点执行的方法的步骤。
在本申请上述实施例中,可以全部或者部分地通过软件、硬件或者其组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或者多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或者部分地产生按照本申请实施例所述的流程或功能,所述计算机可以是通过计算机、专用计算机、计算机网络或者其他可编辑装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如:所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、双绞线、光纤)或者无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或者多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如:软盘、硬盘、磁带)、光介质(例如:光盘)、或者半导体介质(例如固态硬盘(SSD))等。
Claims (20)
1.一种分布式微服务集群的升级方法,其特征在于,包括:
容器集群管理系统接收升级任务实例化描述对象;
所述容器集群管理系统根据所述升级任务实例化描述对象,创建并启动第一版本APP的服务实例,并根据升级任务的工作流,为所述第一版本APP的服务实例分配资源;
所述容器集群管理系统利用为所述第一版本APP的服务实例分配的资源,在节点上为所述第一版本APP创建容器管理器,并启动所述容器管理器和所述容器管理器中的APP的微服务运行实例;
所述容器集群管理系统根据第一版本APP的合并配置数据,生成第一版本APP的存储实例;其中,所述第一版本APP的合并配置数据由所述第一版本APP的配置数据和第二版本APP的配置数据合并得到,所述第二版本APP的版本号低于所述第一版本APP的版本号;所述第一版本APP的存储实例用于存储所述第一版本APP的微服务运行实例被执行时所需的配置数据。
2.根据权利要求1所述的方法,其特征在于,所述任务实例化描述对象由应用编排系统依据第一版本APP的部署蓝图生成;其中,所述第一版本APP的部署蓝图中的定义模板中的数据被丢弃;或者,所述第一版本APP的部署蓝图中的定义模板包括:所述第一版本APP的合并配置数据。
3.根据权利要求1所述的方法,其特征在于,所述第一版本APP的合并配置数据的获得方式,包括:
所述容器集群管理系统接收所述容器管理器中的APP发送的所述第一版本APP的合并配置数据;
或者,所述容器集群管理系统获取所述升级任务实例化描述对象中的所述第一版本APP的合并配置数据。
4.根据权利要求1所述的方法,其特征在于,所述第一版本APP的合并配置数据,包括:
第一种配置项分别在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;
现网运行的第二种配置项的值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
5.一种容器集群管理系统,其特征在于,包括:
第一接收单元,用于接收升级任务实例化描述对象;
第一创建单元,用于根据所述升级任务实例化描述对象,创建并启动第一版本APP的服务实例;
分配单元,用于根据升级任务的工作流,为所述第一版本APP的服务实例分配资源;
第二创建单元,用于利用所述第一版本APP的服务实例分配资源,在节点上为所述第一版本APP创建容器管理器;
启动单元,用于启动所述容器管理器和所述容器管理器中的APP的微服务运行实例;
生成单元,用于根据第一版本APP的合并配置数据,生成第一版本APP的存储实例;其中,所述第一版本APP的合并配置数据由所述第一版本APP的配置数据和第二版本APP的配置数据合并得到,所述第二版本APP的版本号低于所述第一版本APP的版本号;所述第一版本APP的存储实例用于存储所述第一版本APP的微服务运行实例被执行时所需的配置数据。
6.根据权利要求5所述的系统,其特征在于,所述任务实例化描述对象由应用编排系统依据第一版本APP的部署蓝图生成;其中,所述第一版本APP的部署蓝图中的定义模板中的数据被丢弃;或者,所述第一版本APP的部署蓝图中的定义模板包括:所述第一版本APP的合并配置数据。
7.根据权利要求5所述的系统,其特征在于,还包括:第二接收单元,用于接收所述容器管理器中的APP发送的所述第一版本APP的合并配置数据;
或者,获取单元,用于获取所述升级任务实例化描述对象中的所述第一版本APP的合并配置数据。
8.根据权利要求5所述的系统,其特征在于,所述第一版本APP的合并配置数据,包括:
第一种配置项分别在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;
现网运行的第二种配置项的值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
9.一种应用编排系统,其特征在于,包括:
解析器,用于识别出第一版本APP的部署蓝图中的任务类型为升级任务,丢弃所述第一版本APP的部署蓝图中的定义模板中的数据,得到第一版本APP的简约部署蓝图;依据所述第一版本APP的简约部署蓝图,生成升级任务实例化描述对象;其中,所述升级任务实例化描述对象用于提供于容器集群管理系统创建并启动所述第一版本APP的服务实例;
工作流引擎,用于监测到所述第一版本APP的服务实例为启动状态,则根据所述升级任务实例化描述对象,生成升级任务的工作流;其中,所述工作流用于驱动所述容器集群管理系统为第一版本APP的服务实例分配资源。
10.一种节点,其特征在于,包括:
合并单元,用于在第一容器管理器中的APP的微服务运行实例被首次启动时,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;其中,所述第一容器管理器由容器集群管理系统在所述节点上为所述第一版本APP创建;所述第二版本APP的版本号低于所述第一版本APP;
发送单元,用于向所述容器集群管理系统发送所述第一版本APP的合并配置数据。
11.根据权利要求10所述的节点,其特征在于,所述合并单元执行将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据时,用于:
在所述第一版本APP的合并配置数据中,分别保存第一种配置项在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;
在所述第一版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
12.根据权利要求10或11所述的节点,其特征在于,还包括:
获取单元,用于从所述容器集群管理系统的应用配置中心读取所述第二版本APP的配置数据;或者,用于从特定逻辑卷组中读取所述第二版本的配置数据;其中,所述特定逻辑卷组挂载到所述节点中用于管理所述第二版本APP的容器管理器中。
13.一种应用编排系统,其特征在于,包括:
生成单元,用于识别出第一版本APP的部署蓝图中的任务类型为升级任务,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;并依据所述第一版本APP的合并配置数据,生成升级任务实例化描述对象;其中,所述升级任务实例化描述对象用于提供于容器集群管理系统创建并启动所述第一版本APP的服务实例;所述第二版本APP的版本号低于所述第一版本APP;
工作流引擎,用于监测到所述第一版本APP的服务实例为启动状态,则根据升级任务实例化描述对象,生成升级任务的工作流;
其中,所述工作流用于驱动所述容器集群管理系统为所述第一版本APP的服务实例分配资源、创建所述第一版本APP的存储实例、以及为所述第一版本APP创建容器管理器并启动所述容器管理器和所述容器管理器中的APP的微服务运行实例。
14.根据权利要求13所述的应用编排系统,其特征在于,所述生成单元,包括:
解析器,用于依据第一版本APP的部署蓝图,生成初始的升级任务实例化描述对象;
后台服务端,用于在识别出所述第一版本APP的部署蓝图中的任务类型为升级任务,将所述第一版本APP的配置数据和所述第二版本APP的配置数据进行合并,得到所述第一版本APP的合并配置数据;并依据所述第一版本APP的合并配置数据,处理所述初始的升级任务实例化描述对象,得到所述升级任务实例化描述对象。
15.根据权利要求13所述的应用编排系统,其特征在于,所述生成单元,包括:
后台服务端,用于在识别出所述第一版本APP的部署蓝图中的任务类型为升级任务,将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据;
解析器,用于依据所述第一版本APP的部署蓝图和第一版本APP的合并配置数据,生成所述升级任务实例化描述对象。
16.根据权利要求13-15中任意一项所述的应用编排系统,其特征在于,所述生成单元执行将第一版本APP的配置数据和第二版本APP的配置数据进行合并,得到第一版本APP的合并配置数据时,用于:
在所述第一版本APP的合并配置数据中,分别保存第一种配置项在所述第一版本APP的配置数据和所述第二版本APP的配置数据中的名称和值;其中,所述第一种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,新增加的配置项以及删除的配置项;
在所述第一版本APP的合并配置数据中,保存第二种配置项的值为现网运行值;其中,所述第二种配置项包括:所述第一版本APP的配置数据相对于所述第二版本APP的配置数据,名称相同但值不相同的配置项。
17.根据权利要求13-16中任意一项所述的应用编排系统,其特征在于,所述生成单元用于从容器集群管理系统的应用配置中心中读取所述第二版本APP的配置数据;
或者,所述生成单元用于从特定逻辑卷组中读取所述第二版本的配置数据;其中,所述特定逻辑卷组挂载到所述节点中用于管理所述第二版本APP的容器管理器中。
18.一种容器集群管理系统,其特征在于,包括:存储器和处理器,其中:
所述存储器用于存储计算机程序代码;
所述处理器用于执行所述存储器存储的代码,使得所述容器集群管理系统执行权利要求1至4任一项所述的方法。
19.一种应用编排系统,其特征在于,包括:存储器和处理器,其中:
所述存储器用于存储计算机程序代码;
所述处理器用于执行所述存储器存储的代码,使得所述应用编排系统包括如权利要求9、或者如权利要求13-17中任意一项所述的单元。
20.一种节点,其特征在于,包括:存储器和处理器,其中:
所述存储器用于存储计算机程序代码;
所述处理器用于执行所述存储器存储的代码,使得所述节点包括如权利要求10-12中任意一项所述的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810214224.0A CN108572845B (zh) | 2018-03-15 | 2018-03-15 | 分布式微服务集群的升级方法及相关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810214224.0A CN108572845B (zh) | 2018-03-15 | 2018-03-15 | 分布式微服务集群的升级方法及相关系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108572845A true CN108572845A (zh) | 2018-09-25 |
CN108572845B CN108572845B (zh) | 2022-05-31 |
Family
ID=63574251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810214224.0A Active CN108572845B (zh) | 2018-03-15 | 2018-03-15 | 分布式微服务集群的升级方法及相关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108572845B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388415A (zh) * | 2018-09-27 | 2019-02-26 | 深圳供电局有限公司 | 一种应用自动化更新装置、系统和方法 |
CN110381285A (zh) * | 2019-07-19 | 2019-10-25 | 视联动力信息技术股份有限公司 | 一种会议发起方法及装置 |
CN110532000A (zh) * | 2019-09-06 | 2019-12-03 | 程延辉 | 一种用于运营发布的kbroker分布式操作系统和运营发布系统 |
CN110673881A (zh) * | 2019-09-06 | 2020-01-10 | 深圳平安通信科技有限公司 | 微服务集群的配置管理方法、装置和计算机设备 |
CN111552494A (zh) * | 2020-04-24 | 2020-08-18 | 星环信息科技(上海)有限公司 | 一种容器组的管理方法、设备、系统及介质 |
WO2021052026A1 (zh) * | 2019-09-17 | 2021-03-25 | 中兴通讯股份有限公司 | 微服务升级方法、电子设备和可读存储介质 |
WO2021238301A1 (zh) * | 2020-05-27 | 2021-12-02 | 华为技术有限公司 | 一种应用更新方法、装置、设备及介质 |
CN114996352A (zh) * | 2022-05-18 | 2022-09-02 | 聚好看科技股份有限公司 | 数据库管理系统及方法 |
Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174216A (zh) * | 2006-11-01 | 2008-05-07 | 国际商业机器公司 | 合并软件配置的计算机方法和装置 |
CN101290579A (zh) * | 2008-06-16 | 2008-10-22 | 四川长虹电器股份有限公司 | 可配置的软件单元化升级方法 |
CN101676855A (zh) * | 2008-09-11 | 2010-03-24 | 美国日本电气实验室公司 | 可变动的辅助存储系统和方法 |
US20100281475A1 (en) * | 2009-05-04 | 2010-11-04 | Mobile On Services, Inc. | System and method for mobile smartphone application development and delivery |
CN102065413A (zh) * | 2010-11-17 | 2011-05-18 | 北京北方烽火科技有限公司 | 数据库升级方法及系统、基站自启动方法及系统 |
CN102148714A (zh) * | 2011-05-13 | 2011-08-10 | 大唐移动通信设备有限公司 | 软件升级方法和设备 |
CN102419764A (zh) * | 2010-10-20 | 2012-04-18 | 微软公司 | 带有多版本化的数据库系统的分布式事务管理 |
CN102497353A (zh) * | 2011-10-28 | 2012-06-13 | 深圳第七大道科技有限公司 | 多服务器分布式数据处理方法、服务器及系统 |
CN102782656A (zh) * | 2010-02-26 | 2012-11-14 | 赛门铁克公司 | 管理应用程序可用性的系统和方法 |
CN102833310A (zh) * | 2012-07-03 | 2012-12-19 | 中山大学 | 一种基于虚拟化技术的工作流引擎集群系统 |
CN102929630A (zh) * | 2012-10-31 | 2013-02-13 | 中标软件有限公司 | 一种基于分布式协同开发环境下的代码管理方法及系统 |
CN103220163A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 配置信息的更新方法和系统 |
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台系统及其实现方法 |
CN104317610A (zh) * | 2014-10-11 | 2015-01-28 | 福建新大陆软件工程有限公司 | 一种hadoop平台自动安装部署的方法及装置 |
CN104639615A (zh) * | 2015-01-07 | 2015-05-20 | 杭州华三通信技术有限公司 | 一种控制器集群中数据处理方法和装置 |
US20150242255A1 (en) * | 2010-10-11 | 2015-08-27 | Hsbc Technology & Services (Usa) Inc. | Computer architecture and process for application processing engine |
CN104965714A (zh) * | 2015-07-27 | 2015-10-07 | 广州杰赛科技股份有限公司 | 应用软件的代码生成方法和系统 |
CN105393220A (zh) * | 2013-05-15 | 2016-03-09 | 思杰系统有限公司 | 用于在集群系统中部署点状虚拟服务器的系统和方法 |
CN105630861A (zh) * | 2015-11-20 | 2016-06-01 | 国家电网公司 | 一种分布式数据采集系统的运行参数管理方法及系统 |
CN105683918A (zh) * | 2013-11-04 | 2016-06-15 | 亚马逊科技公司 | 分布式系统中的集中式联网配置 |
JP2016206952A (ja) * | 2015-04-22 | 2016-12-08 | 株式会社日立製作所 | 移行支援装置および移行支援方法 |
CN106293820A (zh) * | 2016-08-02 | 2017-01-04 | 山东大学 | 开发测试运维一体化系统、部署、全量以及增量更新方法 |
CN106371062A (zh) * | 2013-08-06 | 2017-02-01 | 英特尔公司 | 使用信息数据结构进行接入点选择的接入点和方法 |
CN106506605A (zh) * | 2016-10-14 | 2017-03-15 | 华南理工大学 | 一种基于微服务架构的SaaS应用构建方法 |
CN106547576A (zh) * | 2015-09-16 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 配置文件的获取方法及装置 |
CN106789250A (zh) * | 2016-12-22 | 2017-05-31 | 焦点科技股份有限公司 | 一种基于容器的服务多版本共存实现方法 |
CN106936899A (zh) * | 2017-02-25 | 2017-07-07 | 九次方大数据信息集团有限公司 | 分布式统计分析系统的配置方法及分布式统计分析系统 |
WO2017141072A1 (en) * | 2016-02-17 | 2017-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Model based upgrade campaign generation |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务系统 |
US20180004503A1 (en) * | 2016-06-29 | 2018-01-04 | Vmware, Inc. | Automated upgradesystem for a service-based distributed computer system |
-
2018
- 2018-03-15 CN CN201810214224.0A patent/CN108572845B/zh active Active
Patent Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174216A (zh) * | 2006-11-01 | 2008-05-07 | 国际商业机器公司 | 合并软件配置的计算机方法和装置 |
CN101290579A (zh) * | 2008-06-16 | 2008-10-22 | 四川长虹电器股份有限公司 | 可配置的软件单元化升级方法 |
CN101676855A (zh) * | 2008-09-11 | 2010-03-24 | 美国日本电气实验室公司 | 可变动的辅助存储系统和方法 |
US20100281475A1 (en) * | 2009-05-04 | 2010-11-04 | Mobile On Services, Inc. | System and method for mobile smartphone application development and delivery |
CN102782656A (zh) * | 2010-02-26 | 2012-11-14 | 赛门铁克公司 | 管理应用程序可用性的系统和方法 |
US20150242255A1 (en) * | 2010-10-11 | 2015-08-27 | Hsbc Technology & Services (Usa) Inc. | Computer architecture and process for application processing engine |
CN102419764A (zh) * | 2010-10-20 | 2012-04-18 | 微软公司 | 带有多版本化的数据库系统的分布式事务管理 |
CN102065413A (zh) * | 2010-11-17 | 2011-05-18 | 北京北方烽火科技有限公司 | 数据库升级方法及系统、基站自启动方法及系统 |
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台系统及其实现方法 |
CN102148714A (zh) * | 2011-05-13 | 2011-08-10 | 大唐移动通信设备有限公司 | 软件升级方法和设备 |
CN102497353A (zh) * | 2011-10-28 | 2012-06-13 | 深圳第七大道科技有限公司 | 多服务器分布式数据处理方法、服务器及系统 |
CN103220163A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 配置信息的更新方法和系统 |
CN102833310A (zh) * | 2012-07-03 | 2012-12-19 | 中山大学 | 一种基于虚拟化技术的工作流引擎集群系统 |
CN102929630A (zh) * | 2012-10-31 | 2013-02-13 | 中标软件有限公司 | 一种基于分布式协同开发环境下的代码管理方法及系统 |
CN105393220A (zh) * | 2013-05-15 | 2016-03-09 | 思杰系统有限公司 | 用于在集群系统中部署点状虚拟服务器的系统和方法 |
CN106371062A (zh) * | 2013-08-06 | 2017-02-01 | 英特尔公司 | 使用信息数据结构进行接入点选择的接入点和方法 |
CN105683918A (zh) * | 2013-11-04 | 2016-06-15 | 亚马逊科技公司 | 分布式系统中的集中式联网配置 |
CN104317610A (zh) * | 2014-10-11 | 2015-01-28 | 福建新大陆软件工程有限公司 | 一种hadoop平台自动安装部署的方法及装置 |
CN104639615A (zh) * | 2015-01-07 | 2015-05-20 | 杭州华三通信技术有限公司 | 一种控制器集群中数据处理方法和装置 |
JP2016206952A (ja) * | 2015-04-22 | 2016-12-08 | 株式会社日立製作所 | 移行支援装置および移行支援方法 |
CN104965714A (zh) * | 2015-07-27 | 2015-10-07 | 广州杰赛科技股份有限公司 | 应用软件的代码生成方法和系统 |
CN106547576A (zh) * | 2015-09-16 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 配置文件的获取方法及装置 |
CN105630861A (zh) * | 2015-11-20 | 2016-06-01 | 国家电网公司 | 一种分布式数据采集系统的运行参数管理方法及系统 |
WO2017141072A1 (en) * | 2016-02-17 | 2017-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Model based upgrade campaign generation |
US20180004503A1 (en) * | 2016-06-29 | 2018-01-04 | Vmware, Inc. | Automated upgradesystem for a service-based distributed computer system |
CN106293820A (zh) * | 2016-08-02 | 2017-01-04 | 山东大学 | 开发测试运维一体化系统、部署、全量以及增量更新方法 |
CN106506605A (zh) * | 2016-10-14 | 2017-03-15 | 华南理工大学 | 一种基于微服务架构的SaaS应用构建方法 |
CN106789250A (zh) * | 2016-12-22 | 2017-05-31 | 焦点科技股份有限公司 | 一种基于容器的服务多版本共存实现方法 |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN106936899A (zh) * | 2017-02-25 | 2017-07-07 | 九次方大数据信息集团有限公司 | 分布式统计分析系统的配置方法及分布式统计分析系统 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务系统 |
Non-Patent Citations (6)
Title |
---|
DANIEL SUN: "Multi-objective Optimisation of Rolling Upgrade Allowing for Failures in Clouds", 《2015 IEEE 34TH SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS)》 * |
佚名: "Docker管理工具 - Swarm部署记录", 《HTTPS://WWW.CNBLOGS.COM/KEVINGRACE/P/6870359.HTML》 * |
沈琦: "支持多租户的中小型企业IT服务台系统的开发", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
闲等莫: "SpringCloud系列:整合Disconf实现分布式配置中心", 《HTTPS://MY.OSCHINA.NET/GENGKANGKANG/BLOG/1593163》 * |
陈鹏: "基于Hadoop的气象数据平台设计与研究", 《第32届中国气象学会年会论文集》 * |
马雄: "基于微服务架构的系统设计与开发", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388415A (zh) * | 2018-09-27 | 2019-02-26 | 深圳供电局有限公司 | 一种应用自动化更新装置、系统和方法 |
CN110381285A (zh) * | 2019-07-19 | 2019-10-25 | 视联动力信息技术股份有限公司 | 一种会议发起方法及装置 |
CN110381285B (zh) * | 2019-07-19 | 2021-05-28 | 视联动力信息技术股份有限公司 | 一种会议发起方法及装置 |
CN110532000A (zh) * | 2019-09-06 | 2019-12-03 | 程延辉 | 一种用于运营发布的kbroker分布式操作系统和运营发布系统 |
CN110673881A (zh) * | 2019-09-06 | 2020-01-10 | 深圳平安通信科技有限公司 | 微服务集群的配置管理方法、装置和计算机设备 |
WO2021052026A1 (zh) * | 2019-09-17 | 2021-03-25 | 中兴通讯股份有限公司 | 微服务升级方法、电子设备和可读存储介质 |
CN111552494A (zh) * | 2020-04-24 | 2020-08-18 | 星环信息科技(上海)有限公司 | 一种容器组的管理方法、设备、系统及介质 |
CN111552494B (zh) * | 2020-04-24 | 2021-05-11 | 星环信息科技(上海)股份有限公司 | 一种容器组的管理方法、设备、系统及介质 |
WO2021238301A1 (zh) * | 2020-05-27 | 2021-12-02 | 华为技术有限公司 | 一种应用更新方法、装置、设备及介质 |
CN114996352A (zh) * | 2022-05-18 | 2022-09-02 | 聚好看科技股份有限公司 | 数据库管理系统及方法 |
CN114996352B (zh) * | 2022-05-18 | 2024-05-24 | 聚好看科技股份有限公司 | 数据库管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108572845B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572845A (zh) | 分布式微服务集群的升级方法及相关系统 | |
CN108139935B (zh) | 业务定义容器的资源约束的扩展 | |
CN106603592B (zh) | 一种用于基于服务模型的应用集群迁移的方法和迁移装置 | |
CN102576354B (zh) | 支持不同部署架构的可扩展框架 | |
US11093296B2 (en) | System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program | |
Vats et al. | An independent time optimized hybrid infrastructure for big data analytics | |
CN104160376A (zh) | 虚拟机的离线准备 | |
CN107562472A (zh) | 基于docker容器的微服务系统及方法 | |
CN107689882A (zh) | 一种虚拟化网络中业务部署的方法和装置 | |
US20160366246A1 (en) | Computing resource deployment system | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN110245003A (zh) | 一种机器学习单机算法编排系统及方法 | |
CN106856438B (zh) | 一种网络业务实例化的方法、装置及nfv系统 | |
CN104935660B (zh) | 一种云程序开发运行系统、方法及装置 | |
CN105827428A (zh) | 资产信息的管理方法及装置 | |
US11418606B2 (en) | Computing resource management system | |
CN110659261A (zh) | 一种数据挖掘模型发布方法及模型和模型服务管理方法 | |
CN112486491A (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
CN108055320A (zh) | 资源下载的处理方法、终端设备及计算机可读存储介质 | |
CN110389766A (zh) | HBase容器集群部署方法、系统、设备及计算机可读存储介质 | |
CN111124617A (zh) | 区块链系统的创建方法和装置、存储介质及电子装置 | |
CN109324893A (zh) | 分配内存的方法和装置 | |
CN101212342B (zh) | 多版本网元的网络管理方法 | |
CN116724543A (zh) | 容器集群的管理方法和装置 | |
CN107819598A (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 |