CN114594999A - 发布文件的方法、装置、存储介质及系统 - Google Patents
发布文件的方法、装置、存储介质及系统 Download PDFInfo
- Publication number
- CN114594999A CN114594999A CN202210109176.5A CN202210109176A CN114594999A CN 114594999 A CN114594999 A CN 114594999A CN 202210109176 A CN202210109176 A CN 202210109176A CN 114594999 A CN114594999 A CN 114594999A
- Authority
- CN
- China
- Prior art keywords
- file
- file content
- content
- publishing
- container carriers
- 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
Images
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/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/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种发布文件的方法、装置、存储介质及系统。其中,该方法包括:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体;基于文件标识将第一文件内容下发至多个容器载体。本发明解决了相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种发布文件的方法、装置、存储介质及系统。
背景技术
当前大部分应用程序的启动和运行均依赖配置文件,配置文件可以为对应的应用程序配置参数和初始设置,应用程序也可能在启动前或运行时修改配置文件的值。配置文件灰度机制可以为相同系统下的不同对象或者相同对象的不同服务节点配置灰度,进而保证系统配置统一和应用程序运行正确。然而,在云原生场景中,应用程序运行在容器黑盒内,对应的配置文件存储在该容器黑盒外,导致应用程序的运维难度特别是文件灰度配置难度增大。
相关方案中,在云原生场景下配置文件灰度的方法主要有以下三种:
(1)镜像内置法。将配置文件以镜像形式存储在容器黑盒内;应用程序启动和运行时可以取用和修改内置的配置文件;应用程序运维中需要变更配置文件灰度时,人为进入容器黑盒进行黑屏操作。然而,该方法的缺陷在于:应用程序启动时内置的配置文件无法根据运行环境进行适配,不同环境需要不同的配置文件镜像版本,成本较高;通过黑屏操作变更配置文件灰度风险较高;应用程序运行时修改的内置配置文件无法持久,重建或新增的POD对象无法加载最新配置文件。
(2)通过持久化存储卷(Persistent Volume Claim,简称PVC)挂载进容器。配置文件中的部分配置可以持久化,应用程序运行时可以修改配置文件;应用程序运维中需要变更配置文件灰度时,人为进入容器黑盒进行黑屏操作。然而,该方法的缺陷在于:PVC挂载的配置文件会覆盖镜像内置的配置文件,应用程序启动前需要通过初始化容器(init-container)或管理员(operator)将对应的基础配置重新写入PVC,效率较低;通过黑屏操作变更配置文件灰度风险较高;重建或新增的POD对象无法加载最新配置文件。
(3)通过ConfigMap挂载进容器。应用程序运行时可以通过修改ConfigMap进行配置文件的变更,且重建或新增的POD对象会热加载ConfigMap的内容。目前Kubernetes管理工具官方推荐将配置文件通过ConfigMap挂载进容器的方法。然而,这种方法的缺陷在于:热加载速度较慢;无法变更配置文件灰度;ConfigMap挂载的配置文件是只读的,应用程序进程或运维人员无法直接变更配置文件,无法配置灰度;无法满足配置文件变更后需执行命令再加载的场景需求。
因此,如何在云原生场景下进行配置文件灰度变更成为本领域的重要问题。针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种发布文件的方法、装置、存储介质及系统,以至少解决相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
根据本发明实施例的一个方面,提供了一种发布文件的方法,包括:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;基于文件标识将第一文件内容下发至多个容器载体。
根据本发明实施例的另一方面,提供了一种发布文件的方法,通过电子装置提供一图形用户界面,图形用户界面所显示的内容至少部分地包含一文件发布场景,该方法包括:响应作用于图形用户界面的第一控制操作,获取第一文件内容,其中,第一文件内容为待更新的灰度配置文件内容;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;响应作用于图形用户界面的第二控制操作,获取文件发布策略,其中,文件发布策略为确定第一文件内容发布对象的灰度策略;按照文件发布策略获取待更新的多个容器载体,以及基于文件标识将第一文件内容下发至多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器。
根据本发明实施例的另一方面,还提供了一种发布文件的装置,包括:第一获取模块,用于获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;生成模块,用于利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;第二获取模块,用于按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;下发模块,用于基于文件标识将第一文件内容下发至多个容器载体。
根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的发布文件的方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的发布文件的方法。
根据本发明实施例的另一方面,还提供了一种发布文件的系统,包括:处理器;以及存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;基于文件标识将第一文件内容下发至多个容器载体。
在本发明实施例中,首先获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略,采用利用第一文件内容与第二文件内容的比较结果生成第一文件内容对应的文件标识的方式,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容,通过按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器,进而基于文件标识将第一文件内容下发至多个容器载体,达到了在云原生场景中变更灰度配置文件内容的目的,从而实现了提高配置操作的效率、降低配置操作的风险、提高配置变更的持久度的技术效果,进而解决了相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现发布文件的方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明实施例的一种发布文件的方法的流程图;
图3是根据本发明实施例的一种可选的下发灰度配置文件的过程的示意图;
图4是根据本发明实施例的另一种发布文件的方法的流程图;
图5是根据本发明实施例的一种发布文件的装置的结构示意图;
图6是根据本发明实施例的另一种发布文件的装置的结构示意图;
图7是根据本发明实施例的另一种发布文件的装置的结构示意图;
图8是根据本发明实施例的另一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如:包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
挂载:是指操作系统使一个存储设备(如硬盘、共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的过程。
镜像:是指一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本的文件存储形式。
实施例1
根据本发明实施例,还提供了一种发布文件的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现发布文件的方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a,102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如:计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本发明实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的发布文件的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的发布文件的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本发明提供了如图2所示的一种发布文件的方法。图2是根据本发明实施例的一种发布文件的方法的流程图,如图2所示,该发布文件的方法包括:
步骤S202,获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;
步骤S204,利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;
步骤S206,按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;
步骤S208,基于文件标识将第一文件内容下发至多个容器载体。
可选地,上述第一文件内容可以是云原生场景下,待更新的上述灰度配置文件内容。该第一文件内容可以是用户输入的,也可以是应用程序运行时生成的。上述文件发布策略可以是用于确定该第一文件内容对应的发布对象的灰度策略。获取上述第一文件内容和上述文件发布策略。
可选地,上述第二文件内容可以是上述第一文件内容对应的历史版本的灰度配置文件内容。该第二文件内容可以是在应用程序运行的过程中用户人为更新的,也可以是应用程序运行时修改更新的。将该第一文件内容与该第二文件内容进行比较,可以得到比较结果。利用该比较结果,可以生成该第一文件内容对应的文件标识。该文件标识可以用于作为待更新的灰度配置文件内容的标识。
可选地,在云原生场景下,应用程序可以在上述业务容器中运行。上述多个容器载体中的每个容器载体可以包括至少一个该业务容器。按照上述文件发布策略,可以获取与上述第一文件内容对应的待更新的上述多个容器载体。
可选地,将上述待更新的多个容器载体作为文件发布对象,基于上述文件标识,可以将上述第一文件内容下发至该多个容器载体。
在本发明实施例中,首先获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略,采用利用第一文件内容与第二文件内容的比较结果生成第一文件内容对应的文件标识的方式,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容,通过按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器,进而基于文件标识将第一文件内容下发至多个容器载体,达到了在云原生场景中变更灰度配置文件内容的目的,从而实现了提高配置操作的效率、降低配置操作的风险、提高配置变更的持久度的技术效果,进而解决了相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
可选地,本发明所提供的上述发布文件的方法可以但不限于应用于云原生场景下的配置文件下发、应用程序运维等实际应用场景中。在上述场景中,提供配置文件版本管理机制、灰度控制机制、动态配置机制、配置持久化机制,可以有效解决云原生场景下应用程序依赖配置文件灰度变更的问题。
在一种可选的实施例中,在步骤S204中,利用第一文件内容与第二文件内容的比较结果,生成文件标识,包括如下方法步骤:
步骤S241,对第一文件内容的第一校验值与第二文件内容的第二校验值进行比较,得到比较结果;
步骤S242,当通过比较结果确定第一校验值不同于第二校验值时,生成文件标识。
可选地,上述第一文件内容可以是云原生场景下,待更新的上述灰度配置文件内容。上述第二文件内容可以是该第一文件内容对应的历史版本的灰度配置文件内容。上述第一校验值可以是基于该第一文件内容通过MD5信息摘要算法(MD5Message-DigestAlgorithm)生成的MD5校验值。上述第二校验值可以是基于该第二文件内容通过MD5信息摘要算法生成的MD5校验值。
对上述第一校验值与上述第二校验值进行比较,可以得到比较结果。该比较结果用于标识该第一校验值与该第二校验值是否相同。当该第一校验值与该第二校验值不同时,可以生成上述文件标识。该文件标识可以用于作为待更新的灰度配置文件内容的标识。
在一种可选的实施例中,在步骤S206中,按照文件发布策略获取多个容器载体,包括如下方法步骤:
步骤S261,对文件发布策略进行解析,得到解析结果,其中,解析结果至少包括:多个容器载体的标识信息;
步骤S262,基于标识信息确定多个容器载体。
可选地,在云原生场景下,应用程序可以在业务容器中运行。上述文件发布策略可以是用于确定上述第一文件内容对应的发布对象的灰度策略。对该文件发布策略进行解析,可以得到上述解析结果。该解析结果可以至少包括:多个容器载体的标识信息。基于该标识信息,可以确定该多个容器载体。该多个容器载体中的每个容器载体可以包括至少一个该业务容器。
在一种可选的实施例中,发布文件的方法还包括如下方法步骤:
步骤S210,将第一文件内容存储至预设存储区域,其中,预设存储区域用于存储不同版本号分别对应的灰度配置文件内容。
可选地,上述第一文件内容可以是云原生场景下,待更新的上述灰度配置文件内容。该第一文件内容可以是用户输入的,也可以是应用程序运行时生成的。将该第一文件内容存储至上述预设存储区域。该预设存储区域可以是数据中心,可以用于存储不同版本号分别对应的灰度配置文件内容。
在一种可选的实施例中,解析结果还包括:分批向多个容器载体下发第一文件内容的批次,不同批次之间的暂停方式,待执行的目标动作,文件标识为目标版本号,在步骤S208中,基于文件标识将第一文件内容下发至多个容器载体,包括如下方法步骤:
步骤S281,按照待执行的目标动作,将多个容器载体中每个容器载体的注解上所配置的当前版本号更新为目标版本号;
步骤S282,基于目标版本号获取第一文件内容;
步骤S283,按照批次与暂停方式,将第一文件内容下发至多个容器载体中每个容器载体下的指定路径。
可选地,在云原生场景下,应用程序可以在业务容器中运行。上述文件发布策略可以是用于确定上述第一文件内容对应的发布对象的灰度策略。对该文件发布策略进行解析,可以得到上述解析结果。该解析结果可以至少包括:分批向多个容器载体下发第一文件内容的批次,下发第一文件内容时不同批次之间的暂停方式,待执行的目标动作。该待执行的目标动作可以是分批向多个容器载体下发第一文件内容时对于每个批次或每个容器载体待执行的目标动作。上述文件标识可以是上述第一文件内容对应的目标版本号。
可选地,上述多个容器载体中每个容器载体至少包括对应的注解(annotations),该注解可以用于配置该容器载体内当前灰度配置文件对应的当前版本号。按照上述待执行的目标动作,可以将上述多个容器载体中每个容器载体的注解上所配置的当前版本号更新为上述目标版本号。该目标版本号可以用于作为待更新的灰度配置文件内容的标识。
可选地,基于上述目标版本号,可以获取上述第一文件内容。按照上述分批向多个容器载体下发第一文件内容的批次与不同批次之间的暂停方式,可以将该第一文件内容下发至上述多个容器载体中每个容器载体下的指定路径。该指定路径可以用于表示该容器载体中的一个或多个业务容器。
在一种可选的实施例中,在步骤S282中,基于目标版本号获取第一文件内容,包括如下方法步骤:
步骤S2821,当检测到多个容器载体上配置的当前版本号发生变化,获取第一文件内容对应的文件名称与目标版本号;
步骤S2822,利用文件名称与目标版本号,从预设存储区域获取第一文件内容以及第一文件内容对应的文件加载命令,其中,文件加载命令用于在指定路径下加载第一文件内容。
可选地,按照上述待执行的目标动作,可以将上述多个容器载体中每个容器载体的注解上所配置的当前版本号更新为上述目标版本号,此时当前版本号发生变化。当检测到多个容器载体上配置的当前版本号发生变化时,可以获取上述第一文件内容对应的文件名称与目标版本号。该目标版本号可以用于作为第一文件内容的标识。
可选地,基于上述文件名称与上述目标版本号,可以从上述预设存储区域中获取上述第一文件内容以及该第一文件内容对应的文件加载命令。该文件加载命令可以用于在多个容器载体中每个容器载体的指定路径下加载该第一文件内容。该指定路径可以用于表示该容器载体中的一个或多个业务容器。
在一种可选的实施例中,发布文件的方法还包括如下方法步骤:
步骤S212,更新多个容器载体中的每个容器载体对应的配置记录,其中,配置记录用于记录多个容器载体中每个容器载体所使用的当前灰度配置文件内容的最新版本号为目标版本号。
可选地,上述配置记录可以用于记录多个容器载体中每个容器载体所使用的当前灰度配置文件内容的最新版本号为目标版本号。将上述第一文件内容下发至上述多个容器载体中每个容器载体下的指定路径后,更新该多个容器载体中的每个容器载体对应的配置记录。
图3是根据本发明实施例的一种可选的下发灰度配置文件的过程的示意图,如图3所示,在云原生场景下,配置灰度管理器接收用户输入的云原生声明式,该云原生声明式可以包括配置变更内容(相当于上述第一文件内容)和灰度策略(相当于上述文件发布策略)。该配置灰度管理器基于该云原生声明式调用版本控制器生成对应的配置版本,并将该灰度策略下发至灰度引擎。
仍然如图3所示,数据中心用于存储多个版本的配置文件内容。该多个版本包括:程序运行时变更的多个历史版本。该多个版本的配置文件内容中每个版本对应一个版本号,该版本号用于标识对应版本的配置文件内容。
在版本控制器中,获取云原生声明式中配置变更内容的MD5校验值V1,并获取数据中心中历史最新版本的配置文件内容的MD5校验值V2。将该校验值V1与校验值V2进行比较:如果校验值V1与校验值V2不同,则为云原生声明式中配置变更内容生成新的版本号N1;如果校验值V1与校验值V2相同,表示用户无需变更势力最新版本的配置文件内容。
需要说明的是,版本控制器对云原生声明式中配置变更内容的MD5校验值与数据中心中历史最新版本的配置文件内容的MD5校验值进行实时监测,当发现云原生声明式中配置变更内容的MD5校验值与数据中心中历史最新版本的配置文件内容的MD5校验值不同时,生成与时间相关的与该配置变更内容的版本号(相当于上述目标版本号),并将该配置变更内容及其版本号推送至数据中心。该版本号可用于加载云原生声明式中的配置变更内容。多个版本的版本号还可以用于应用程序运维分析时的配置对比和回滚操作。
仍然如图3所示,灰度引擎可以包括基于POD对象(相当于上述容器载体)的灰度变更组件。在灰度引擎中,对云原生声明式中的灰度策略进行解析,可以得到云原生声明式中配置变更内容对应的多个POD对象标识,进而确定需要下发该配置变更内容的多个POD对象。
此外,在灰度引擎中,还可以对云原生声明式中的灰度策略解析得到下发批次、批次间暂停策略和待执行动作。下发批次可以包括多个批次,该多个批次中每个批次可以用于表示该批次需要下发配置变更内容的部分POD对象。批次间暂停策略可以包括该多个批次中每两个相邻批次间进行手动暂停或自动暂停的策略。批次间待执行动作可以包括该多个批次中每两个相邻批次间需要执行的一个或多个动作(如执行命令、发送消息、传送文件等)。
仍然如图3所示,对于需要下发配置变更内容的多个POD对象,上述由灰度策略解析得到的待执行的动作为:将该多个POD对象中的每个POD对象的注解上配置的版本号更新版本控制器为生成该配置变更内容生成的新版本号(相当于上述目标版本号)。
灰度引擎按照由灰度策略解析得到的新版本号、下发批次、批次间暂停策略以及需要下发配置变更内容的多个POD对象对应的下发路径(相当于上述指定路径),将配置变更内容下发至该多个POD对象中。
需要说明的是,根据本实施例提供的方法,灰度引擎根据灰度策略修改POD对象的注解、指定需要下发的文件及其版本号,上述操作并不会造成POD对象的重建,进而可以避免相关技术中重建或新增的POD对象无法加载最新配置文件的问题。
仍然如图3所示,在配置变更引擎中,可以结合数据中心实现如下动态配置机制:动态监测POD对象的注解上配置版本号的变化;当发现该版本号发生变化(可以是上述灰度引擎更新POD对象的注解上配置的版本号)时,根据POD对象的注解上配置的新版本号,向数据中心请求获取该新版本号对应的配置变更内容和文件加载命令;将配置变更内容写入对应的POD对象并自动执行文件加载命令。
需要说明的是,根据本实施例提供的方法,通过监测版本号的变化得到需要下发到POD对象的配置版本内容,从而进行自动加载配置文件并自动执行文件加载命令。通过上述方法,可以以较低风险快速响应配置加载需求。
仍然如图3所示,在配置持久化管理器中,可以结合数据中心和配置变更引擎生成配置记录,进而实现配置持久化机制。该配置记录是根据云原生场景下应用程序集群中每个POD对象的配置情况生成的。该配置记录可以包括:每个POD对象当前配置的版本号、应用程序集群当前配置的稳定版本号。该稳定版本号为该应用程序集群完成全部灰度配置后的版本号。
需要说明的是,根据本实施例提供的方法,配置持久化管理器结合数据中心和配置变更引擎生成配置记录,可以对每个POD对象每次更新后的配置版本进行记录,进而可以解决相关技术中重建或新增的POD对象无法实现配置持久化的问题。
特别地,在配置引擎实现的动态配置机制中,如果发现重建的POD对象,则从配置记录中查找该POD对象对应的正确配置版本,为该重建的POD对象加载该正确配置版本对应的配置内容;如果发现新增的POD对象,则为该新增的POD对象加载应用程序集群当前配置的稳定版本号。
需要说明的是,本发明实施例提供的方法使用的下发灰度策略支持自定义,用户可以指定需要下发配置变更内容的多个POD对象,可以指定下发配置变更内容的多个批次及批次间暂停策略。
在上述运行环境下,本发明提供了如图4所示的一种发布文件的方法。图4是根据本发明实施例的另一种发布文件的方法的流程图,如图4所示,通过电子装置提供一图形用户界面,图形用户界面所显示的内容至少部分地包含一文件发布场景,该发布文件的方法包括:
步骤S402,响应作用于图形用户界面的第一控制操作,获取第一文件内容,其中,第一文件内容为待更新的灰度配置文件内容;
步骤S404,利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;
步骤S406,响应作用于图形用户界面的第二控制操作,获取文件发布策略,其中,文件发布策略为确定第一文件内容发布对象的灰度策略;
步骤S408,按照文件发布策略获取待更新的多个容器载体,以及基于文件标识将第一文件内容下发至多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器。
在上述可选的实施例中,电子装置可以提供一图形用户界面,用户可以通过该图形用户界面内容,至少部分地获得上述文件发布场景。该文件发布场景中可以使用上述发布文件的方法。
可选地,用户可以对图形用户界面进行第一控制操作,即用户通过控制该图形用户界面中展示的控制按钮(如“获取配置文件内容”按钮),以获取上述第一文件内容,该第一文件内容可以是云原生场景下待更新的灰度配置文件内容。
可选地,上述第二文件内容可以是上述第一文件内容对应的历史版本的灰度配置文件内容。该第二文件内容可以是在应用程序运行的过程中用户人为更新的,也可以是应用程序运行时修改更新的。将该第一文件内容与该第二文件内容进行比较,可以得到比较结果。利用该比较结果,可以生成该第一文件内容对应的文件标识。该文件标识可以用于作为待更新的灰度配置文件内容的标识。
可选地,用户还可以对用户界面进行第二控制操作,即用户通过控制该图形用户界面中展示的控制按钮(如“获取发布策略”按钮),以获取文件发布策略,该文件发布策略可以是用于确定上述第一文件内容对应的发布对象的灰度策略。
可选地,在云原生场景下,应用程序可以在上述业务容器中运行。上述多个容器载体中的每个容器载体可以包括至少一个该业务容器。按照上述文件发布策略,可以获取与上述第一文件内容对应的待更新的上述多个容器载体。将上述待更新的多个容器载体作为文件发布对象,基于上述文件标识,可以将上述第一文件内容下发至该多个容器载体。
特别地,上述第一控制操作和第二控制操作可以是触控操作。该触控操作是指用户用手指接触上述终端设备的显示屏并控制该终端设备的操作,该触控操作可以包括单点触控、多点触控,其中,每个触控点的触控操作可以包括点击、长按、重按、划动等。上述第一控制操作和第二控制操作还可以是通过鼠标、键盘等输入设备进行的控制操作或组合控制操作。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述发布文件的方法的装置,图5是根据本发明实施例的一种发布文件的装置的结构示意图,如图5所示,该装置包括:第一获取模块501、生成模块502、第二获取模块503、下发模块504,其中,
第一获取模块501,用于获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;生成模块502,用于利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;第二获取模块503,用于按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;下发模块504,用于基于文件标识将第一文件内容下发至多个容器载体。
可选地,上述生成模块502,还用于:对第一文件内容的第一校验值与第二文件内容的第二校验值进行比较,得到比较结果;当通过比较结果确定第一校验值不同于第二校验值时,生成文件标识。
可选地,上述第二获取模块503,还用于:对文件发布策略进行解析,得到解析结果,其中,解析结果至少包括:多个容器载体的标识信息;基于标识信息确定多个容器载体。
可选地,图6是根据本发明实施例的另一种发布文件的装置的结构示意图,如图6所示,该装置除包括图5所示的所有模块外,还包括:存储模块505,用于将第一文件内容存储至预设存储区域,其中,预设存储区域用于存储不同版本号分别对应的灰度配置文件内容。
可选地,解析结果还包括:分批向多个容器载体下发第一文件内容的批次,不同批次之间的暂停方式,待执行的目标动作,文件标识为目标版本号,上述下发模块504,还用于:按照待执行的目标动作,将多个容器载体中每个容器载体的注解上所配置的当前版本号更新为目标版本号;基于目标版本号获取第一文件内容;按照批次与暂停方式,将第一文件内容下发至多个容器载体中每个容器载体下的指定路径。
可选地,上述下发模块504,还用于:当检测到多个容器载体上配置的当前版本号发生变化,获取第一文件内容对应的文件名称与目标版本号;利用文件名称与目标版本号,从预设存储区域获取第一文件内容以及第一文件内容对应的文件加载命令,其中,文件加载命令用于在指定路径下加载第一文件内容。
可选地,图7是根据本发明实施例的另一种发布文件的装置的结构示意图,如图7所示,该装置除包括图6所示的所有模块外,还包括:更新模块506,用于更新多个容器载体中的每个容器载体对应的配置记录,其中,配置记录用于记录多个容器载体中每个容器载体所使用的当前灰度配置文件内容的最新版本号为目标版本号。
此处需要说明的是,上述第一获取模块501、生成模块502、第二获取模块503、下发模块504对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本发明实施例中,首先获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略,采用利用第一文件内容与第二文件内容的比较结果生成第一文件内容对应的文件标识的方式,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容,通过按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器,进而基于文件标识将第一文件内容下发至多个容器载体,达到了在云原生场景中变更灰度配置文件内容的目的,从而实现了提高配置操作的效率、降低配置操作的风险、提高配置变更的持久度的技术效果,进而解决了相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本发明实施例,还提供了一种电子装置的实施例,该电子装置可以是计算装置群中的任意一个计算装置。该电子装置包括:处理器和存储器,其中:
存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;基于文件标识将第一文件内容下发至多个容器载体。
在本发明实施例中,首先获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略,采用利用第一文件内容与第二文件内容的比较结果生成第一文件内容对应的文件标识的方式,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容,通过按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器,进而基于文件标识将第一文件内容下发至多个容器载体,达到了在云原生场景中变更灰度配置文件内容的目的,从而实现了提高配置操作的效率、降低配置操作的风险、提高配置变更的持久度的技术效果,进而解决了相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例4
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行发布文件的方法中以下步骤的程序代码:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;基于文件标识将第一文件内容下发至多个容器载体。
可选地,图8是根据本发明实施例的另一种计算机终端的结构框图,如图8所示,该计算机终端可以包括:一个或多个(图中仅示出一个)处理器122、存储器124、以及外设接口126。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的发布文件的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的发布文件的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;基于文件标识将第一文件内容下发至多个容器载体。
可选地,上述处理器还可以执行如下步骤的程序代码:对第一文件内容的第一校验值与第二文件内容的第二校验值进行比较,得到比较结果;当通过比较结果确定第一校验值不同于第二校验值时,生成文件标识。
可选地,上述处理器还可以执行如下步骤的程序代码:对文件发布策略进行解析,得到解析结果,其中,解析结果至少包括:多个容器载体的标识信息;基于标识信息确定多个容器载体。
可选地,上述处理器还可以执行如下步骤的程序代码:将第一文件内容存储至预设存储区域,其中,预设存储区域用于存储不同版本号分别对应的灰度配置文件内容。
可选地,上述处理器还可以执行如下步骤的程序代码:按照待执行的目标动作,将多个容器载体中每个容器载体的注解上所配置的当前版本号更新为目标版本号;基于目标版本号获取第一文件内容;按照批次与暂停方式,将第一文件内容下发至多个容器载体中每个容器载体下的指定路径。
可选地,上述处理器还可以执行如下步骤的程序代码:当检测到多个容器载体上配置的当前版本号发生变化,获取第一文件内容对应的文件名称与目标版本号;利用文件名称与目标版本号,从预设存储区域获取第一文件内容以及第一文件内容对应的文件加载命令,其中,文件加载命令用于在指定路径下加载第一文件内容。
可选地,上述处理器还可以执行如下步骤的程序代码:更新多个容器载体中的每个容器载体对应的配置记录,其中,配置记录用于记录多个容器载体中每个容器载体所使用的当前灰度配置文件内容的最新版本号为目标版本号。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:响应作用于图形用户界面的第一控制操作,获取第一文件内容,其中,第一文件内容为待更新的灰度配置文件内容;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;响应作用于图形用户界面的第二控制操作,获取文件发布策略,其中,文件发布策略为确定第一文件内容发布对象的灰度策略;按照文件发布策略获取待更新的多个容器载体,以及基于文件标识将第一文件内容下发至多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器。
在本发明实施例中,首先获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略,采用利用第一文件内容与第二文件内容的比较结果生成第一文件内容对应的文件标识的方式,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容,通过按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器,进而基于文件标识将第一文件内容下发至多个容器载体,达到了在云原生场景中变更灰度配置文件内容的目的,从而实现了提高配置操作的效率、降低配置操作的风险、提高配置变更的持久度的技术效果,进而解决了相关技术中由于缺乏合适的变更配置文件灰度的方法导致云原生场景中应用程序运维过程风险高、效率低、持久度低、灵活度低的技术问题。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图8并不对上述电子装置的结构造成限定。例如:计算机终端还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
根据本发明实施例,还提供了一种存储介质的实施例。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的发布文件的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一文件内容和文件发布策略,其中,第一文件内容为待更新的灰度配置文件内容,文件发布策略为确定第一文件内容发布对象的灰度策略;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;按照文件发布策略获取待更新的多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器;基于文件标识将第一文件内容下发至多个容器载体。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对第一文件内容的第一校验值与第二文件内容的第二校验值进行比较,得到比较结果;当通过比较结果确定第一校验值不同于第二校验值时,生成文件标识。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对文件发布策略进行解析,得到解析结果,其中,解析结果至少包括:多个容器载体的标识信息;基于标识信息确定多个容器载体。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将第一文件内容存储至预设存储区域,其中,预设存储区域用于存储不同版本号分别对应的灰度配置文件内容。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:按照待执行的目标动作,将多个容器载体中每个容器载体的注解上所配置的当前版本号更新为目标版本号;基于目标版本号获取第一文件内容;按照批次与暂停方式,将第一文件内容下发至多个容器载体中每个容器载体下的指定路径。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当检测到多个容器载体上配置的当前版本号发生变化,获取第一文件内容对应的文件名称与目标版本号;利用文件名称与目标版本号,从预设存储区域获取第一文件内容以及第一文件内容对应的文件加载命令,其中,文件加载命令用于在指定路径下加载第一文件内容。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:更新多个容器载体中的每个容器载体对应的配置记录,其中,配置记录用于记录多个容器载体中每个容器载体所使用的当前灰度配置文件内容的最新版本号为目标版本号。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:响应作用于图形用户界面的第一控制操作,获取第一文件内容,其中,第一文件内容为待更新的灰度配置文件内容;利用第一文件内容与第二文件内容的比较结果,生成第一文件内容对应的文件标识,其中,第二文件内容为第一文件内容对应的历史灰度配置文件内容;响应作用于图形用户界面的第二控制操作,获取文件发布策略,其中,文件发布策略为确定第一文件内容发布对象的灰度策略;按照文件发布策略获取待更新的多个容器载体,以及基于文件标识将第一文件内容下发至多个容器载体,其中,多个容器载体中的每个容器载体包括:至少一个业务容器。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种发布文件的方法,其特征在于,包括:
获取第一文件内容和文件发布策略,其中,所述第一文件内容为待更新的灰度配置文件内容,所述文件发布策略为确定所述第一文件内容发布对象的灰度策略;
利用所述第一文件内容与第二文件内容的比较结果,生成所述第一文件内容对应的文件标识,其中,所述第二文件内容为所述第一文件内容对应的历史灰度配置文件内容;
按照所述文件发布策略获取待更新的多个容器载体,其中,所述多个容器载体中的每个容器载体包括:至少一个业务容器;
基于所述文件标识将所述第一文件内容下发至所述多个容器载体。
2.根据权利要求1所述的方法,其特征在于,利用所述第一文件内容与所述第二文件内容的所述比较结果,生成所述文件标识包括:
对所述第一文件内容的第一校验值与所述第二文件内容的第二校验值进行比较,得到所述比较结果;
当通过所述比较结果确定所述第一校验值不同于所述第二校验值时,生成所述文件标识。
3.根据权利要求1所述的方法,其特征在于,按照所述文件发布策略获取所述多个容器载体包括:
对所述文件发布策略进行解析,得到解析结果,其中,所述解析结果至少包括:所述多个容器载体的标识信息;
基于所述标识信息确定所述多个容器载体。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述第一文件内容存储至预设存储区域,其中,所述预设存储区域用于存储不同版本号分别对应的灰度配置文件内容。
5.根据权利要求4所述的方法,其特征在于,所述解析结果还包括:分批向所述多个容器载体下发所述第一文件内容的批次,不同批次之间的暂停方式,待执行的目标动作,所述文件标识为目标版本号,基于所述文件标识将所述第一文件内容下发至所述多个容器载体包括:
按照所述待执行的目标动作,将所述多个容器载体中每个容器载体的注解上所配置的当前版本号更新为所述目标版本号;
基于所述目标版本号获取所述第一文件内容;
按照所述批次与所述暂停方式,将所述第一文件内容下发至所述多个容器载体中每个容器载体下的指定路径。
6.根据权利要求5所述的方法,其特征在于,基于所述目标版本号获取所述第一文件内容包括:
当检测到所述多个容器载体上配置的所述当前版本号发生变化,获取所述第一文件内容对应的文件名称与所述目标版本号;
利用所述文件名称与所述目标版本号,从所述预设存储区域获取所述第一文件内容以及所述第一文件内容对应的文件加载命令,其中,所述文件加载命令用于在所述指定路径下加载所述第一文件内容。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
更新所述多个容器载体中的每个容器载体对应的配置记录,其中,所述配置记录用于记录所述多个容器载体中每个容器载体所使用的当前灰度配置文件内容的最新版本号为所述目标版本号。
8.一种发布文件的方法,其特征在于,通过电子装置提供一图形用户界面,所述图形用户界面所显示的内容至少部分地包含一文件发布场景,所述方法包括:
响应作用于所述图形用户界面的第一控制操作,获取第一文件内容,其中,所述第一文件内容为待更新的灰度配置文件内容;
利用所述第一文件内容与第二文件内容的比较结果,生成所述第一文件内容对应的文件标识,其中,所述第二文件内容为所述第一文件内容对应的历史灰度配置文件内容;
响应作用于所述图形用户界面的第二控制操作,获取文件发布策略,其中,所述文件发布策略为确定所述第一文件内容发布对象的灰度策略;
按照所述文件发布策略获取待更新的多个容器载体,以及基于所述文件标识将所述第一文件内容下发至所述多个容器载体,其中,所述多个容器载体中的每个容器载体包括:至少一个业务容器。
9.一种发布文件的装置,其特征在于,包括:
第一获取模块,用于获取第一文件内容和文件发布策略,其中,所述第一文件内容为待更新的灰度配置文件内容,所述文件发布策略为确定所述第一文件内容发布对象的灰度策略;
生成模块,用于利用所述第一文件内容与第二文件内容的比较结果,生成所述第一文件内容对应的文件标识,其中,所述第二文件内容为所述第一文件内容对应的历史灰度配置文件内容;
第二获取模块,用于按照所述文件发布策略获取待更新的多个容器载体,其中,所述多个容器载体中的每个容器载体包括:至少一个业务容器;
下发模块,用于基于所述文件标识将所述第一文件内容下发至所述多个容器载体。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的发布文件的方法。
11.一种发布文件的系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
步骤1,获取第一文件内容和文件发布策略,其中,所述第一文件内容为待更新的灰度配置文件内容,所述文件发布策略为确定所述第一文件内容发布对象的灰度策略;
步骤2,利用所述第一文件内容与第二文件内容的比较结果,生成所述第一文件内容对应的文件标识,其中,所述第二文件内容为所述第一文件内容对应的历史灰度配置文件内容;
步骤3,按照所述文件发布策略获取待更新的多个容器载体,其中,所述多个容器载体中的每个容器载体包括:至少一个业务容器;
步骤4,基于所述文件标识将所述第一文件内容下发至所述多个容器载体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109176.5A CN114594999B (zh) | 2022-01-28 | 2022-01-28 | 发布文件的方法、装置、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109176.5A CN114594999B (zh) | 2022-01-28 | 2022-01-28 | 发布文件的方法、装置、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114594999A true CN114594999A (zh) | 2022-06-07 |
CN114594999B CN114594999B (zh) | 2023-09-12 |
Family
ID=81805961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210109176.5A Active CN114594999B (zh) | 2022-01-28 | 2022-01-28 | 发布文件的方法、装置、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114594999B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955761A (zh) * | 2016-06-30 | 2016-09-21 | 乐视控股(北京)有限公司 | 基于docker的灰度发布装置及方法 |
CN110225094A (zh) * | 2019-05-17 | 2019-09-10 | 平安科技(深圳)有限公司 | 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质 |
CN110427204A (zh) * | 2019-08-08 | 2019-11-08 | 浪潮云信息技术有限公司 | 一种基于容器和服务网格技术的自动化灰度发布方法 |
US20190372840A1 (en) * | 2018-05-31 | 2019-12-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for updating configuration object |
CN110912734A (zh) * | 2019-10-31 | 2020-03-24 | 北京浪潮数据技术有限公司 | 云管理平台实现容器应用多维度灰度发布方法及装置 |
CN112486550A (zh) * | 2020-11-25 | 2021-03-12 | 上海中通吉网络技术有限公司 | Web端灰度发布方法、装置和系统 |
CN112686519A (zh) * | 2020-12-25 | 2021-04-20 | 中国平安人寿保险股份有限公司 | 一种灰度调整方法、装置、电子设备及存储介质 |
CN112822272A (zh) * | 2021-01-08 | 2021-05-18 | 上海理想信息产业(集团)有限公司 | 微服务灰度发布方法及装置、计算机设备及存储介质 |
CN113242281A (zh) * | 2021-04-26 | 2021-08-10 | 微梦创科网络科技(中国)有限公司 | 一种灰度发布方法、装置、设备及存储介质 |
WO2021243666A1 (zh) * | 2020-06-04 | 2021-12-09 | 深圳市欢太科技有限公司 | 一种信息处理方法、设备、系统、介质、芯片及程序 |
-
2022
- 2022-01-28 CN CN202210109176.5A patent/CN114594999B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955761A (zh) * | 2016-06-30 | 2016-09-21 | 乐视控股(北京)有限公司 | 基于docker的灰度发布装置及方法 |
US20190372840A1 (en) * | 2018-05-31 | 2019-12-05 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for updating configuration object |
CN110225094A (zh) * | 2019-05-17 | 2019-09-10 | 平安科技(深圳)有限公司 | 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质 |
WO2020232891A1 (zh) * | 2019-05-17 | 2020-11-26 | 平安科技(深圳)有限公司 | 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质 |
CN110427204A (zh) * | 2019-08-08 | 2019-11-08 | 浪潮云信息技术有限公司 | 一种基于容器和服务网格技术的自动化灰度发布方法 |
CN110912734A (zh) * | 2019-10-31 | 2020-03-24 | 北京浪潮数据技术有限公司 | 云管理平台实现容器应用多维度灰度发布方法及装置 |
WO2021243666A1 (zh) * | 2020-06-04 | 2021-12-09 | 深圳市欢太科技有限公司 | 一种信息处理方法、设备、系统、介质、芯片及程序 |
CN112486550A (zh) * | 2020-11-25 | 2021-03-12 | 上海中通吉网络技术有限公司 | Web端灰度发布方法、装置和系统 |
CN112686519A (zh) * | 2020-12-25 | 2021-04-20 | 中国平安人寿保险股份有限公司 | 一种灰度调整方法、装置、电子设备及存储介质 |
CN112822272A (zh) * | 2021-01-08 | 2021-05-18 | 上海理想信息产业(集团)有限公司 | 微服务灰度发布方法及装置、计算机设备及存储介质 |
CN113242281A (zh) * | 2021-04-26 | 2021-08-10 | 微梦创科网络科技(中国)有限公司 | 一种灰度发布方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114594999B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976667B (zh) | 一种镜像管理方法、装置及系统 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN109766082B (zh) | 应用程序页面跳转的方法和装置 | |
CN110969001B (zh) | 反馈信息的生成方法及装置、存储介质、处理器和终端 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN112506584B (zh) | 资源文件加载方法、装置、设备、存储介质以及产品 | |
CN107347093B (zh) | 用于分布式服务器系统的配置方法和装置 | |
CN113407254B (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN110858201B (zh) | 数据处理方法及系统、处理器、存储介质 | |
CN114398397A (zh) | 数据处理方法、装置、存储介质以及系统 | |
CN111694703A (zh) | 缓存区管理方法、装置和计算机设备 | |
CN114020403A (zh) | 一种联盟链的链码管理方法、装置及终端设备 | |
CN112214701A (zh) | 页面的展示方法及系统、存储介质、电子装置 | |
CN116700626A (zh) | 资源的绑定方法、装置及电子设备 | |
CN112069190B (zh) | 一种分批数据获取方法、装置、设备及介质 | |
US20210165728A1 (en) | Intelligent automated way of baselining integration content using messages from historical tests to be used for regression testing | |
CN114594999A (zh) | 发布文件的方法、装置、存储介质及系统 | |
CN115268969A (zh) | 安卓系统升级方法及装置、终端设备 | |
CN115004667B (zh) | 信息推送方法、装置、电子设备及计算机可读介质 | |
CN112835962A (zh) | 信息的显示方法、装置、电子设备和存储介质 | |
CN114675872A (zh) | 一种对应用程序的数据处理方法、装置、设备及存储介质 | |
CN112380411A (zh) | 敏感词处理方法、装置、电子设备、系统及存储介质 | |
CN107493316B (zh) | 应用运营管理方法、服务器及计算机可读存储介质 | |
CN110609701A (zh) | 提供服务的方法、装置和存储介质 | |
CN110609781A (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 |