CN114489856A - 应用程序配置文件获取方法、装置和设备 - Google Patents
应用程序配置文件获取方法、装置和设备 Download PDFInfo
- Publication number
- CN114489856A CN114489856A CN202210109395.3A CN202210109395A CN114489856A CN 114489856 A CN114489856 A CN 114489856A CN 202210109395 A CN202210109395 A CN 202210109395A CN 114489856 A CN114489856 A CN 114489856A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- application program
- configuration
- target application
- distributed
- 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 55
- 238000010200 validation analysis Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000002085 persistent effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 229920000915 polyvinyl chloride Polymers 0.000 description 5
- 239000004800 polyvinyl chloride Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
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 Transfer Between Computers (AREA)
Abstract
本申请提供一种应用程序配置文件获取方法、装置和设备。该方法包括:响应于针对目标应用程序的配置指令,从目标应用程序对应的本地缓存中读取生效配置文件,生效配置文件表示从分布式配置中心获取并缓存至本地缓存的配置文件;若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件;若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。本申请的方法,可以在云环境下应用程序重启且连接不到分布式配置中心的服务时,保证应用程序的正常重启。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序配置文件获取方法、装置和设备。
背景技术
随着应用程序功能的日益复杂,应用程序的配置日益增多,在实际开发过程中,很多配置参数在不同环境下有不同的值,如开关类配置、服务地址等,管理难度大。应用程序的发展,需要有专门的配置管理系统实现对参数的集中管理,实现程序和配置参数的分离,分布式配置中心应运而生。
传统技术中,应用程序启动后从分布式配置中心获取配置文件,并将配置文件缓存到本地文件系统中,缓存的配置文件通过应用程序对应的节点服务器地址来标识。当分布式配置中心服务不可用时,应用程序重启后通过节点服务器地址在本地缓存中寻找对应的配置文件。
然而,分布式环境下的节点是无状态的,应用程序重启后对应的节点服务器地址可能会发生变化,导致无法通过节点服务器地址获取到所需要的配置文件。
发明内容
本申请提供一种应用程序配置文件获取方法、装置和设备,用以解决分布式配置中心服务不可用时应用程序无法获取到配置文件的问题。
第一方面,本申请提供一种应用程序配置文件获取方法,包括:
响应于针对目标应用程序的配置指令,从所述目标应用程序对应的本地缓存中读取生效配置文件,所述生效配置文件表示从分布式配置中心获取并缓存至所述本地缓存的配置文件;
若从所述本地缓存中读取生效配置文件失败,则从所述目标应用程序对应的网络共享缓存中读取主版本配置文件;
若从所述网络共享缓存中读取到主版本配置文件,则基于从所述网络共享缓存中读取到的主版本配置文件运行所述目标应用程序。
第二方面,本申请提供一种应用程序配置文件获取装置,包括:
第一读取单元,用于响应于针对目标应用程序的配置指令,从所述目标应用程序对应的本地缓存中读取生效配置文件,所述生效配置文件表示从分布式配置中心获取并缓存至所述本地缓存的配置文件;
第二读取单元,用于若从所述本地缓存中读取生效配置文件失败,则从所述目标应用程序对应的网络共享缓存中读取主版本配置文件;
运行单元,用于若从所述网络共享缓存中读取到主版本配置文件,则基于从所述网络共享缓存中读取到的主版本配置文件运行所述目标应用程序。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的方法。
本申请提供的应用程序配置文件获取方法、装置和设备,响应于针对目标应用程序的配置指令,从目标应用程序对应的本地缓存中读取生效配置文件,生效配置文件表示从分布式配置中心获取并缓存至本地缓存的配置文件;若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件;若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。其中,网络共享缓存中的数据通过持久化类型存储,不会随着应用程序的重启而销毁,将主版本配置文件持久化到网络共享缓存中,可以在云环境下应用程序重启且连接不到分布式配置中心的服务时,通过读取网络共享缓存中的主版本配置文件,作为应用程序的配置文件,从而保证应用程序的正常重启。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为一示例性实施例示出的持久化本地存储配置的示意图;
图2为一示例性实施例示出的应用程序配置文件获取方法的流程示意图;
图3为一示例性实施例示出的配置文件缓存示意图;
图4为另一示例性实施例示出的应用程序配置文件获取方法的流程示意图;
图5为另一示例性实施例示出的应用程序配置文件获取方法的流程示意图;
图6为另一示例性实施例示出的应用程序配置文件获取方法的流程示意图;
图7为一示例性实施例示出的应用程序配置文件获取方法的流程示意图;
图8为一示例性实施例示出的应用程序配置文件获取装置的结构示意图;
图9为另一示例性实施例示出的应用程序配置文件获取装置的结构示意图;
图10为一示例性实施例中电子设备的结构示意图;
图11为一示例性实施例中电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
PaaS:Platform as a Service,平台即服务,是指把应用服务的运行和开发环境作为服务提供的一种商业模式。应用基础云(PaaS)作为以应用为中心的平台,总体上分为容器云平台和云管理云平台两大部门,为跨机器运行的容器化应用提供一站式完备的分布式应用系统开发、运行和支撑平台。
PVC:Persistent Volume Claim,持久化存储卷声明,用于纳管外部存储资源,如应用系统有NAS(Network Attached Storage:网络附属存储)存储需求,则需要申请PVC纳管NAS存储。
分布式配置中心:一种支持对消费方程序和配置参数的分离、提供配置参数集中管理和实时推送的应用系统,具备主版本发布和灰度发布等配置发布能力。
本申请具体的应用场景可以是分布式配置中心客户端。应用程序的发展,需要有专门的配置管理系统实现对参数的集中管理,实现服务建设过程中程序和配置分离的目的,原因有以下几点:其一,随着程序功能的日益复杂,程序的配置日益增多,管理难度大;其二,在实际开发过程中,很多配置在不同环境下有不同的值,如开关类配置,服务地址等,同样增加管理难度。分布式配置中心应运而生,其高可用性也愈来愈重要。
应用基础云PaaS具有镜像管理、快速集成发布、应用自动化发布、中间件快速发布、弹性伸缩、健康检查等功能,部署到PaaS的应用越来越多。高可用的解决方案需要适配PaaS云场景。为增强配置获取的高可用,分布式配置中心客户端启动获取配置后会缓存到本地缓存文件中,当分布式配置中心服务不可用时,客户端重启可以从本地缓存文件中获取配置,从而保证高可用。
部署在PaaS的客户端,本地缓存文件默认存储在Pod内部,通过PodName唯一标识,文件存储与Pod生命周期相同,Pod停止、销毁后,文件存储不复存在,失去了原本的作用。
在一个示例中,可以通过PVC向平台声明所需要的持久存储类型及大小,用于持久化应用数据,避免其随着Pod销毁而销毁。图1是根据一示例性实施例示出的持久化本地存储配置的示意图。如图1所示,节点(Node)上运行一个或多个Pod,不同的Pod都往NAS共享存储中缓存配置,Pod重启后PodName发生改变,此时,无法通过PodName寻找重启前使用的配置。
在现有的技术方案中,应用程序启动后从分布式配置中心获取配置文件,并将获取的配置文件缓存到本地文件系统中,缓存的配置文件通过节点服务器地址(ip)标识。当分布式配置中心服务不可用时,应用程序重启后通过ip寻找对应的缓存文件。
然而,现有技术方案不适用PaaS云场景。现有方案下配置文件是以本地文件的方式存储在服务器上,但云上Pod节点是无状态的,重启后ip可能会发生变化,不能通过ip寻找到原先的Pod缓存的文件,此外Pod资源服务器随着应用程序的重启而销毁重建,导致存储在Pod服务器中的配置文件随之丢失,因而无法获取到配置文件。
本申请提供的应用程序配置文件获取方法、装置和设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2是根据一示例性实施例示出的应用程序配置文件获取方法的流程示意图,如图2所示,该方法包括:
S201,响应于针对目标应用程序的配置指令,从目标应用程序对应的本地缓存中读取生效配置文件,生效配置文件表示从分布式配置中心获取并缓存至本地缓存的配置文件。
本实施例以执行主体为分布式配置中心客户端进行介绍。
目标应用程序是指待获取配置文件的应用程序,配置指令用于触发执行获取配置文件。可选地,用户通过分布式配置中心客户端启动目标应用程序,以发起针对该目标应用程序的配置指令,客户端接收到该配置指令之后,从该目标应用程序对应的本地缓存中读取生效配置文件。
图3是根据一示例性实施例示出的配置文件缓存示意图。客户端向分布式配置中心服务端发送配置请求,以请求获取应用程序1的配置文件;分布式配置中心服务端接收到该配置请求之后,向客户端返回配置应答,配置应答中包括应用程序1的生效配置文件;客户端拉取到应用程序1的生效配置文件之后,将应用程序1的生效配置文件缓存到Pod内部的本地缓存中,将主版本配置缓存到网络共享缓存(NAS)中。
示例性地,若应用程序1为灰度实例,则客户端从分布式配置中心服务端拉取到的应用程序1的生效配置文件为灰度配置文件;若应用程序1为主版本实例,则客户端从分布式配置中心服务端拉取到的应用程序1的生效配置文件为主版本配置文件。
S202,若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件。
客户端从本地缓存中读取生效配置文件失败,即客户端无法从本地缓存中获取到目标应用程序的配置文件,这可能是由于目标应用程序重启导致目标应用程序对应的本地缓存中的文件丢失。
若客户端从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件。网络共享缓存中的主版本配置文件表示从分布式配置中心获取并缓存至网络共享缓存的主版本配置文件。网络共享缓存中的数据通过持久化类型存储,不会随着目标应用程序重启而丢失,因此,将从分布式配置中心获取到的主版本配置文件缓存至网络共享缓存后,即使目标应用程序重启,也可以从目标应用程序对应的网络共享缓存中获取到主版本配置文件。
S203,若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。
示例性地,目标应用程序的主版本配置文件可能会发生更新,若发生配置更新,则将更新后的主版本配置文件存储至网络共享缓存。客户端从网络共享缓存中读取最新存储的主版本配置文件,基于从网络共享缓存中读取到的最新存储的主版本配置文件运行目标应用程序。
本实施例中,响应于针对目标应用程序的配置指令,从目标应用程序对应的本地缓存中读取生效配置文件,生效配置文件表示从分布式配置中心获取并缓存至本地缓存的配置文件;若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件;若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。其中,网络共享缓存中的数据通过持久化类型存储,不会随着应用程序的重启而销毁,将主版本配置文件持久化到网络共享缓存中,可以在云环境下应用程序重启且连接不到分布式配置中心的服务时,通过读取网络共享缓存中的主版本配置文件,作为应用程序的配置文件,从而保证应用程序的正常重启。
图4是根据一示例性实施例示出的应用程序配置文件获取方法的流程示意图,如图4所示,该方法包括:
S401,响应于针对目标应用程序的配置指令,检测目标应用程序是否处于本地模式。
分布式配置中心提供了本地模式配置项,当应用程序处于本地模式时,可以不再尝试访问分布式配置中心服务端,直接从缓存文件中读取配置文件。客户端接收到针对目标应用程序的配置指令之后,先判断应用程序是否处于本地模式。
S402,在目标应用程序处于本地模式时,从目标应用程序对应的本地缓存中读取生效配置文件。
客户端在确定目标应用程序处于本地模式时,直接从目标应用程序对应的本地缓存中读取生效配置文件。
示例性地,步骤S402中从目标应用程序对应的本地缓存中读取生效配置文件与步骤S201中从目标应用程序对应的本地缓存中读取生效配置文件的实现方式类似,此处不再赘述。
S403,若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件。
示例性地,步骤S403与步骤S202的实现方式类似,此处不再赘述。
S404,若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。
示例性地,步骤S404与步骤S203的实现方式类似,此处不再赘述。
S405,将从网络共享缓存中读取到的主版本配置文件作为生效配置文件存储至本地缓存。
客户端从网络共享缓存中读取到主版本配置文件后,将从网络共享缓存中读取到的主版本配置文件作为生效配置文件,存储至目标应用程序对应的本地缓存,使得此时从目标应用程序对应的本地缓存可以读取到生效配置文件。
图5是根据一示例性实施例示出的应用程序配置文件获取方法的流程示意图,如图5所示,该方法包括:
S501,响应于针对目标应用程序的配置指令,检测目标应用程序是否处于本地模式。
示例性地,步骤S501与步骤S401的实现方式类似,此处不再赘述。
S502,在目标应用程序处于非本地模式时,从分布式配置中心获取目标应用程序对应的生效配置文件。
客户端在确定目标应用程序处于非本地模式时,从分布式配置中心获取目标应用程序对应的生效配置文件。示例性地,若目标应用程序为灰度实例,则客户端从分布式配置中心服务端获取的目标应用程序对应的生效配置文件为灰度配置文件;若目标应用程序为主版本实例,则客户端从分布式配置中心服务端获取的目标应用程序对应的生效配置文件为主版本配置文件。
S503,若从分布式配置中心获取目标应用程序对应的生效配置文件失败,则从目标应用程序对应的本地缓存中读取生效配置文件。
客户端从分布式配置中心获取目标应用程序对应的生效配置文件失败,即客户端无法从分布式配置中心获取到目标应用程序对应的生效配置文件,说明此时分布式配置中心服务端不可用。在分布式配置中心服务端不可用的情况下,客户端从目标应用程序对应的本地缓存中读取生效配置文件。
示例性地,步骤S503中从目标应用程序对应的本地缓存中读取生效配置文件与步骤S201中从目标应用程序对应的本地缓存中读取生效配置文件的实现方式类似,此处不再赘述。
S504,若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件。
示例性地,步骤S504与步骤S202的实现方式类似,此处不再赘述。
S505,若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。
示例性地,步骤S505与步骤S203的实现方式类似,此处不再赘述。
S506,将从网络共享缓存中读取到的主版本配置文件作为生效配置文件存储至本地缓存。
示例性地,步骤S506与步骤S405的实现方式类似,此处不再赘述。
图6是根据一示例性实施例示出的应用程序配置文件获取方法的流程示意图,如图6所示,该方法包括:
S601,响应于针对目标应用程序的配置指令,检测目标应用程序是否处于本地模式。
示例性地,步骤S601与步骤S401的实现方式类似,此处不再赘述。
S602,在目标应用程序处于非本地模式时,从分布式配置中心获取目标应用程序对应的生效配置文件。
示例性地,步骤S602与步骤S502的实现方式类似,此处不再赘述。
S603,若从分布式配置中心获取到目标应用程序对应的生效配置文件,则基于从分布式配置中心获取到的生效配置文件运行目标应用程序。
客户端从分布式配置中心获取到目标应用程序对应的生效配置文件,说明此时分布式配置中心服务端可用,客户端从分布式配置中心获取到目标应用程序对应的生效配置文件之后,基于从分布式配置中心获取到的生效配置文件运行目标应用程序。
S604,若从分布式配置中心获取到的生效配置文件包括灰度配置文件,则从分布式配置中心获取目标应用程序对应的主版本配置文件。
灰度配置指的是指定部分客户端进行新配置的下发,其余客户端配置保持不变,用以验证新配置对客户端的影响,保证配置的平稳发布。
客户端从分布式配置中心获取到的生效配置文件包括灰度配置文件,说明该客户端上运行的目标应用程序为灰度实例,此时客户端继续从分布式配置中心获取目标应用程序对应的主版本配置文件。
S605,若从分布式配置中心获取到目标应用程序对应的主版本配置文件,则根据从分布式配置中心获取到的生效配置文件的更新状态,对缓存至本地缓存的生效配置文件进行更新,根据从分布式配置中心获取到的主版本配置文件的更新状态,对缓存至网络共享缓存的主版本配置文件进行更新。
生效配置文件的更新状态包括两种状态,一种状态表征生效配置文件存在配置更新,另一种状态表征生效配置文件无配置更新。主版本配置文件的更新状态包括两种状态,一种状态表征主版本配置文件存在配置更新,另一种状态表征主版本配置文件无配置更新。
在一示例中,根据从分布式配置中心获取到的生效配置文件的更新状态,对缓存至本地缓存的生效配置文件进行更新,包括:若从分布式配置中心获取到的生效配置文件的更新状态表征存在配置更新,则将从分布式配置中心获取到的生效配置文件存储至本地缓存。
若客户端根据从分布式配置中心获取到的生效配置文件的更新状态判断生效配置文件存在配置更新,则客户端从分布式配置中心获取到的生效配置文件为更新后的生效配置文件,客户端将该更新后的生效配置文件存储至本地缓存,以实现对目标应用程序对应的本地缓存中的生效配置文件的更新,便于后续客户端能够从本地缓存读取到最新的生效配置文件。
在一示例中,根据从分布式配置中心获取到的主版本配置文件的更新状态,对缓存至网络共享缓存的主版本配置文件进行更新,包括:若从分布式配置中心获取到的主版本配置文件的更新状态表征存在配置更新,则将从分布式配置中心获取到的主版本配置文件存储至网络共享缓存。
若客户端根据从分布式配置中心获取到的主版本配置文件的更新状态判断主版本配置文件存在配置更新,则客户端从分布式配置中心获取到的主版本配置文件为更新后的主版本配置文件,客户端将该更新后的主版本配置文件存储至网络共享缓存,以实现对网络共享缓存中的主版本配置文件的更新,便于后续客户端能够从网络共享缓存读取到最新的主版本配置文件。
上述实施例中,存在灰度配置文件时,客户端从分布式配置中心服务端获取主版本配置文件,缓存到网络共享缓存中。当分布式配置中心服务不可用时,部署在云上的应用程序可以通过修改网络共享缓存中的缓存文件后重启,完成配置更新。
S606,若从分布式配置中心获取到的生效配置文件不包括灰度配置文件,则将从分布式配置中心获取到的生效配置文件存储至本地缓存,将从分布式配置中心获取到的生效配置文件作为主版本配置文件存储至网络共享缓存。
客户端从分布式配置中心获取到的生效配置文件不包括灰度配置文件,说明该客户端上运行的目标应用程序为不是灰度实例,此时客户端从分布式配置中心获取到的生效配置文件即为主版本配置文件。
可选地,若客户端从分布式配置中心获取到的生效配置文件存在配置更新,则将从分布式配置中心获取到的生效配置文件存储至本地缓存,同时将从分布式配置中心获取到的生效配置文件作为主版本配置文件存储至网络共享缓存。
可选地,若客户端从分布式配置中心获取到的生效配置文件无配置更新,则将从分布式配置中心获取到的生效配置文件作为主版本配置文件存储至网络共享缓存,还可以进一步同时将从分布式配置中心获取到的生效配置文件存储至本地缓存。
图7是根据一示例性实施例示出的应用程序配置文件获取方法的流程示意图,如图7所示,该方法包括:
步骤1,判断目标应用程序是否处于本地模式,若是,则执行步骤2至步骤5;若否,则进入步骤6;
步骤2,从目标应用程序对应的本地缓存(POD)中读取生效配置文件,若失败,进入步骤3;
步骤3,从目标应用程序对应的网络共享缓存(NAS)中读取最新的主版本配置文件,若成功,进入步骤4;
步骤4,确定生效配置文件等于主版本配置文件;
步骤5,将生效配置文件缓存至POD内部;
步骤6,从分布式配置中心获取目标应用程序对应的生效配置文件,若失败,则执行步骤2至步骤5;若成功,则进入步骤7;
步骤7,判断生效配置文件是否有配置更新,若是,则执行步骤8至步骤14;若否,则执行步骤15至步骤20;
步骤8,判断生效配置文件是否包含灰度配置文件,若是,则执行步骤9至步骤12;若否,则执行步骤13至步骤14;
步骤9,从分布式配置中心获取目标应用程序对应的主版本配置文件;
步骤10,判断主版本配置文件是否有配置更新,若是,则执行步骤11至步骤12;若否,则执行步骤12;
步骤11,将主版本配置文件缓存至NAS;
步骤12,将生效配置文件缓存至POD内部;
步骤13,确定主版本配置文件等于生效配置文件,将主版本配置文件缓存至NAS;
步骤14,将生效配置文件缓存至POD内部;
步骤15,判断生效配置文件是否包含灰度配置文件,若是,则执行步骤16至步骤18;若否,则执行步骤19至步骤20;
步骤16,从分布式配置中心获取目标应用程序对应的主版本配置文件;
步骤17,判断主版本配置文件是否有配置更新,若是,则执行步骤18;
步骤18,将主版本配置文件缓存至NAS;
步骤19,确定主版本配置文件等于生效配置文件,将主版本配置文件缓存至NAS;
步骤20,将生效配置文件缓存至POD内部。
上述实施例中,可以基于PaaS PVC挂载NAS,将主版本配置文件持久化到NAS设备中,保证在云环境下Pod重启且连接不到分布式配置中心的服务时,通过读取NAS中存储的配置信息保证服务的正常重启。据此,可以为云上应用在分布式配置中心不可用的情况下提供了应急方案,为云上应用的应急配置提供了解决方案;也适用于传统服务器环境,具有可推广性,实现云下和云上高可用方案的统一;还可以支持应急场景下直接修改NAS配置文件中的配置数据,简单高效。
图8是根据一示例性实施例示出的应用程序配置文件获取装置的结构示意图,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,如图8所示,该装置800包括:
第一读取单元810,用于响应于针对目标应用程序的配置指令,从目标应用程序对应的本地缓存中读取生效配置文件,生效配置文件表示从分布式配置中心获取并缓存至本地缓存的配置文件;
第二读取单元820,用于若从本地缓存中读取生效配置文件失败,则从目标应用程序对应的网络共享缓存中读取主版本配置文件;
运行单元830,用于若从网络共享缓存中读取到主版本配置文件,则基于从网络共享缓存中读取到的主版本配置文件运行目标应用程序。
图9是根据一示例性实施例示出的应用程序配置文件获取装置的结构示意图,在图8所示实施例的基础上,该装置900还包括:
检测单元840,用于在从目标应用程序对应的本地缓存中读取生效配置文件之前,检测目标应用程序是否处于本地模式。
在一示例中,第一读取单元810在从目标应用程序对应的本地缓存中读取生效配置文件时,具体用于:在目标应用程序处于本地模式时,从目标应用程序对应的本地缓存中读取生效配置文件。
在一示例中,该装置900还包括:
获取单元850,用于在目标应用程序处于非本地模式时,从分布式配置中心获取目标应用程序对应的生效配置文件;
第一读取单元810在从目标应用程序对应的本地缓存中读取生效配置文件时,具体用于:若从分布式配置中心获取目标应用程序对应的生效配置文件失败,则从目标应用程序对应的本地缓存中读取生效配置文件。
在一示例中,该装置900还包括:
存储单元860,用于将从网络共享缓存中读取到的主版本配置文件作为生效配置文件存储至本地缓存。
在一示例中,运行单元830还用于:若从分布式配置中心获取到目标应用程序对应的生效配置文件,则基于从分布式配置中心获取到的生效配置文件运行目标应用程序。
在一示例中,获取单元850还用于:若从分布式配置中心获取到的生效配置文件包括灰度配置文件,则从分布式配置中心获取目标应用程序对应的主版本配置文件;该装置900还包括:
更新单元870,用于若从分布式配置中心获取到目标应用程序对应的主版本配置文件,则根据从分布式配置中心获取到的生效配置文件的更新状态,对缓存至本地缓存的生效配置文件进行更新,根据从分布式配置中心获取到的主版本配置文件的更新状态,对缓存至网络共享缓存的主版本配置文件进行更新。
在一示例中,更新单元870具体用于:若从分布式配置中心获取到的生效配置文件的更新状态表征存在配置更新,则将从分布式配置中心获取到的生效配置文件存储至本地缓存;若从分布式配置中心获取到的主版本配置文件的更新状态表征存在配置更新,则将从分布式配置中心获取到的主版本配置文件存储至网络共享缓存。
在一示例中,更新单元870还用于:若从分布式配置中心获取到的生效配置文件不包括灰度配置文件,则将从分布式配置中心获取到的生效配置文件存储至本地缓存,将从分布式配置中心获取到的生效配置文件作为主版本配置文件存储至网络共享缓存。
图10是根据一示例性实施例示出的一种电子设备的结构示意图,该电子设备包括:处理器1001,以及与处理器1001通信连接的存储器1002;存储器1002存储计算机执行指令;处理器1001执行存储器1002存储的计算机执行指令,以实现如上述实施例提供的应用程序配置文件获取方法。
电子设备还包括接收器1003和发送器1004。接收器1003用于接收外部设备发送的指令和数据,发送器1004用于向外部设备发送指令和数据。
图11是根据一示例性实施例示出的一种终端设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电源组件1106,多媒体组件1108,音频组件1110,输入/输出(I/O)接口1112,传感器组件1114,以及通信组件1116。
处理组件1102通常控制装置1100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
存储器1104被配置为存储各种类型的数据以支持在装置1100的操作。这些数据的示例包括用于在装置1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1106为装置1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为装置1100生成、管理和分配电力相关联的组件。
多媒体组件1108包括在装置1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当装置1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(MIC),当装置1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
I/O接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1114包括一个或多个传感器,用于为装置1100提供各个方面的状态评估。例如,传感器组件1114可以检测到装置1100的打开/关闭状态,组件的相对定位,例如组件为装置1100的显示器和小键盘,传感器组件1114还可以检测装置1100或装置1100一个组件的位置改变,用户与装置1100接触的存在或不存在,装置1100方位或加速/减速和装置1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1116被配置为便于装置1100和其他设备之间有线或无线方式的通信。装置1100可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件1116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1104,上述指令可由装置1100的处理器1120执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行上述任一实施例提供的方法。
本发明实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得计算机设备执行上述任一实施例提供的方法。
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种应用程序配置文件获取方法,其特征在于,所述方法包括:
响应于针对目标应用程序的配置指令,从所述目标应用程序对应的本地缓存中读取生效配置文件,所述生效配置文件表示从分布式配置中心获取并缓存至所述本地缓存的配置文件;
若从所述本地缓存中读取生效配置文件失败,则从所述目标应用程序对应的网络共享缓存中读取主版本配置文件;
若从所述网络共享缓存中读取到主版本配置文件,则基于从所述网络共享缓存中读取到的主版本配置文件运行所述目标应用程序。
2.根据权利要求1所述的方法,其特征在于,在从所述目标应用程序对应的本地缓存中读取生效配置文件之前,还包括:检测所述目标应用程序是否处于本地模式。
3.根据权利要求2所述的方法,其特征在于,从所述目标应用程序对应的本地缓存中读取生效配置文件,包括:
在所述目标应用程序处于本地模式时,从所述目标应用程序对应的本地缓存中读取生效配置文件。
4.根据权利要求2所述的方法,其特征在于,从所述目标应用程序对应的本地缓存中读取生效配置文件,包括:
在所述目标应用程序处于非本地模式时,从所述分布式配置中心获取所述目标应用程序对应的生效配置文件;
若从所述分布式配置中心获取所述目标应用程序对应的生效配置文件失败,则从所述目标应用程序对应的本地缓存中读取生效配置文件。
5.根据权利要求1-4中任一项所述的方法,其特征在于,还包括:将从所述网络共享缓存中读取到的主版本配置文件作为生效配置文件存储至所述本地缓存。
6.根据权利要求4所述的方法,其特征在于,还包括:
若从所述分布式配置中心获取到所述目标应用程序对应的生效配置文件,则基于从所述分布式配置中心获取到的生效配置文件运行所述目标应用程序。
7.根据权利要求6所述的方法,其特征在于,还包括:若从所述分布式配置中心获取到的生效配置文件包括灰度配置文件,则从所述分布式配置中心获取所述目标应用程序对应的主版本配置文件;
若从所述分布式配置中心获取到所述目标应用程序对应的主版本配置文件,则根据从所述分布式配置中心获取到的生效配置文件的更新状态,对缓存至所述本地缓存的生效配置文件进行更新,根据从所述分布式配置中心获取到的主版本配置文件的更新状态,对缓存至所述网络共享缓存的主版本配置文件进行更新。
8.根据权利要求7所述的方法,其特征在于,根据从所述分布式配置中心获取到的生效配置文件的更新状态,对缓存至所述本地缓存的生效配置文件进行更新,根据从所述分布式配置中心获取到的主版本配置文件的更新状态,对缓存至所述网络共享缓存的主版本配置文件进行更新,包括:
若从所述分布式配置中心获取到的生效配置文件的更新状态表征存在配置更新,则将从所述分布式配置中心获取到的生效配置文件存储至所述本地缓存;
若从所述分布式配置中心获取到的主版本配置文件的更新状态表征存在配置更新,则将从所述分布式配置中心获取到的主版本配置文件存储至所述网络共享缓存。
9.根据权利要求6所述的方法,其特征在于,还包括:若从所述分布式配置中心获取到的生效配置文件不包括灰度配置文件,则将从所述分布式配置中心获取到的生效配置文件存储至所述本地缓存,将从所述分布式配置中心获取到的生效配置文件作为主版本配置文件存储至所述网络共享缓存。
10.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109395.3A CN114489856A (zh) | 2022-01-28 | 2022-01-28 | 应用程序配置文件获取方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109395.3A CN114489856A (zh) | 2022-01-28 | 2022-01-28 | 应用程序配置文件获取方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489856A true CN114489856A (zh) | 2022-05-13 |
Family
ID=81478142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210109395.3A Pending CN114489856A (zh) | 2022-01-28 | 2022-01-28 | 应用程序配置文件获取方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489856A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569859A (zh) * | 2016-10-28 | 2017-04-19 | 搜游网络科技(北京)有限公司 | 一种目标文件的加载方法及装置 |
CN107483250A (zh) * | 2017-08-21 | 2017-12-15 | 郑州云海信息技术有限公司 | 分布式配置管理方法、装置及实现分布式配置管理的系统 |
CN109614376A (zh) * | 2018-12-04 | 2019-04-12 | 郑州云海信息技术有限公司 | Nas节点配置文件的更新方法及nas配置节点控制器 |
CN110262872A (zh) * | 2019-05-17 | 2019-09-20 | 平安科技(深圳)有限公司 | 负载均衡应用管理方法、装置、计算机设备及存储介质 |
CN111399760A (zh) * | 2019-11-19 | 2020-07-10 | 杭州海康威视系统技术有限公司 | Nas集群元数据处理方法、装置、nas网关及介质 |
CN112231168A (zh) * | 2020-09-03 | 2021-01-15 | 平安信托有限责任公司 | 微服务器管控方法、装置、设备及存储介质 |
CN112698847A (zh) * | 2020-12-31 | 2021-04-23 | 江苏视博云信息技术有限公司 | 一种云应用的部署方法、装置及系统 |
CN113934707A (zh) * | 2021-10-09 | 2022-01-14 | 京东科技信息技术有限公司 | 云原生数据库、数据库扩容方法、数据库缩容方法和装置 |
-
2022
- 2022-01-28 CN CN202210109395.3A patent/CN114489856A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569859A (zh) * | 2016-10-28 | 2017-04-19 | 搜游网络科技(北京)有限公司 | 一种目标文件的加载方法及装置 |
CN107483250A (zh) * | 2017-08-21 | 2017-12-15 | 郑州云海信息技术有限公司 | 分布式配置管理方法、装置及实现分布式配置管理的系统 |
CN109614376A (zh) * | 2018-12-04 | 2019-04-12 | 郑州云海信息技术有限公司 | Nas节点配置文件的更新方法及nas配置节点控制器 |
CN110262872A (zh) * | 2019-05-17 | 2019-09-20 | 平安科技(深圳)有限公司 | 负载均衡应用管理方法、装置、计算机设备及存储介质 |
CN111399760A (zh) * | 2019-11-19 | 2020-07-10 | 杭州海康威视系统技术有限公司 | Nas集群元数据处理方法、装置、nas网关及介质 |
CN112231168A (zh) * | 2020-09-03 | 2021-01-15 | 平安信托有限责任公司 | 微服务器管控方法、装置、设备及存储介质 |
CN112698847A (zh) * | 2020-12-31 | 2021-04-23 | 江苏视博云信息技术有限公司 | 一种云应用的部署方法、装置及系统 |
CN113934707A (zh) * | 2021-10-09 | 2022-01-14 | 京东科技信息技术有限公司 | 云原生数据库、数据库扩容方法、数据库缩容方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388625B (zh) | 多分布式文件系统中处理配置文件的方法及装置 | |
CN108833585B (zh) | 信息交互方法、装置及存储介质 | |
CN108600529B (zh) | 信息交互方法、装置及计算机可读存储介质 | |
CN107423394A (zh) | 页面显示方法及装置 | |
US20220159336A1 (en) | Method and system for displaying screen | |
CN111241134B (zh) | 一种数据处理方法及装置 | |
CN111865630B (zh) | 拓扑信息获取方法、装置、终端及存储介质 | |
WO2023024435A1 (zh) | 设备注册方法及装置、电子设备、存储介质和计算机程序产品 | |
RU2632396C2 (ru) | Способ и устройство для управления подключаемым модулем маршрутизатора | |
CN112068876A (zh) | 一种进程管理方法、装置和系统 | |
CN109245992B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN114489856A (zh) | 应用程序配置文件获取方法、装置和设备 | |
CN110995767B (zh) | 一种请求处理方法及装置 | |
CN111274590B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN109948012B (zh) | 序列号的生成方法、装置及存储介质 | |
CN116346975A (zh) | 同步通话记录的方法、电子设备及可读存储介质 | |
CN106992882B (zh) | 路由器文件迁移方法和装置 | |
CN115437717A (zh) | 跨操作系统的调用方法、装置及电子设备 | |
CN107257384B (zh) | 服务状态监控方法及装置 | |
CN112201236A (zh) | 终端唤醒方法、装置及计算机可读存储介质 | |
CN115134231B (zh) | 一种通信方法、装置和用于通信的装置 | |
CN114237497B (zh) | 一种分布式存储方法及装置 | |
CN110716985B (zh) | 一种节点信息处理方法、装置及介质 | |
CN110311968B (zh) | 流式加载文件的方法、装置及智能设备 | |
CN113157495A (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 |