CN109936476A - 一种配置数据的调用方法、装置及其设备 - Google Patents
一种配置数据的调用方法、装置及其设备 Download PDFInfo
- Publication number
- CN109936476A CN109936476A CN201910142262.4A CN201910142262A CN109936476A CN 109936476 A CN109936476 A CN 109936476A CN 201910142262 A CN201910142262 A CN 201910142262A CN 109936476 A CN109936476 A CN 109936476A
- Authority
- CN
- China
- Prior art keywords
- client
- configuration data
- configuration
- local
- server
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种配置数据的调用方法、装置及其设备,用于解决现有技术中的配置数据的调用方法不够优化问题。所述方法包括:获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;从所述客户端的本地查找所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;其中,所述客户端本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种配置数据的调用方法、装置及其设备。
背景技术
通常一个项目工程中,需要对该项目工程中涉及的服务器或者客户端进行一些配置,比如,配置服务器的端口号、客户端访问服务器中数据库的参数(比如域名地址、加解密密钥等参数)、或者其他一些项目工程所涉及到的参数。
而若某一庞大的项目工程涉及到复杂的分布式系统,该分布式系统往往会包括多个分布式节点,每个分布式节点包括一个或多个客户端或服务器,也就是说,该分布式系统中则可能会存在很多需要配置的项目,那么对该分布式系统中的客户端和服务器进行配置则会耗费大量的时间和精力。此外,有些配置在设置完成后可能还需要经常改动,这就会给开发人员带来极大的工作量。
现有技术中,对于复杂的分布式系统,通常包括两种配置方式,一种是接口集群化,另外一种是数据静态化。其中,接口集群化是客户端从远程服务器端请求并获取配置,而数据静态化则是将配置相关数据缓存在客户端本地,从而使得客户端能够从本地获取相关配置数据。
在上述两种配置获取方式中,由于接口集群化方式中需要客户端获取并解析远端服务器提供的域名,再通过代理服务器转发来获取配置,尽管保证了配置的实时性,但其获取路径较长,稳定性较差;而数据静态化方式中尽管客户端从其本地获取配置相关数据较为稳定,但其本地缓存的配置并不能够保证配置的实时性。
因此,亟需一种配置数据的调用方法以解决现有技术中的存在的缺陷。
发明内容
本申请实施例提供了一种配置数据的调用方法、装置及其设备,以解决现有技术中配置数据的调用方法不够优化的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出了一种配置数据的调用方法,所述方法应用于客户端,包括:
获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
从所述客户端的本地查找所述配置数据;
若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
第二方面,提出了一种客户端,包括:
获取单元,用于获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
本地查找单元,用于从所述客户端的本地查找所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
第一调用单元,用于若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;
第二调用单元,用于若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
第三方面,提出了一种配置数据的调用设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的配置数据的调用方法的步骤。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的配置数据的调用方法的步骤。
本申请实施例采用上述技术方案至少可以达到下述技术效果:
本发明实施例中,能够获取项目工程的配置需求,该配置需求用于请求项目工程的配置数据,并能够首先从客户端的本地查找该配置数据,该配置数据用于客户端对收到的请求进行持续响应,若该客户端的本地存在配置数据,则可以从客户端的本地直接调用该配置数据,而若客户端的本地不存在该配置数据,则可以从配置服务器调用该配置数据并在客户端的本地进行存储,其中,客户端本地的配置数据能够基于配置服务器中对应生成的配置数据定时更新。也就是说,能够同时在客户端本地和配置服务器中缓存配置数据,且客户端本地的配置数据为基于配置服务器中对应生成的配置数据定时更新,一方面保证了配置数据的实时性,另一方面也保证了配置数据的高可用性,即可以从客户端本地和配置服务器两个途径来获取配置数据,即使一方出现故障,也能从另一方获取到配置数据。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书一个实施例提供的一种配置数据的调用方法应用于客户端的实施流程示意图;
图2为本说明书一个实施例提供的配置数据的调用方法中的配置数据的调用来源示意图;
图3为本说明书一个实施例提供的配置数据的调用方法应用的分布式系统的结构示意图;
图4为本说明书一个实施例提供的一种客户端的结构示意图;
图5为本说明书一个实施例提供的一种配置数据的调用设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
现有技术中,针对某一项目工程,客户端若想完成该项目工程所需的配置需求,一种方式是通过接口集群化的方式来调用配置数据,即从维护有配置数据的配置服务器的数据库中请求并获取该项目工程的配置数据,而由于在客户端从配置服务器的数据库获取项目工程的配置数据的过程往往会包括域名解析、代理服务器转发等步骤,这就使得客户端从配置服务器获取项目工程的配置数据的路径较长,进而使得配置数据的获取稳定性较差。
另一种方式则可以通过数据静态化的方式来调用配置数据,即可以通过配置服务器将项目工程的配置数据下发到客户端本地,使得客户端将项目工程的配置数据缓存在本地,这样做虽然提高了配置数据的获取稳定性,但缓存在客户端本地的配置数据也可能长时间没有更新,而使得其缓存在客户端本地的配置数据实时性较差。
为解决现有技术中配置数据的调用方法不够优化的问题,本说明书实施例提供一种配置数据的调用方法。
本说明书实施例提供的配置数据的调用方法涉及到客户端和配置服务器,其中,客户端为配置数据的使用方或者也可以说是配置数据的调用方,客户端本地和配置服务器中均保存有配置数据,且客户端缓存在本地的配置数据能够基于配置服务器中对应的配置数据定时更新。那么,在客户端获取了项目工程的配置需求之后,则可以首先从客户端的本地查找该配置需求所请求的项目工程的配置数据;若客户端的本地存在该配置数据,则可以直接从客户端的本地调用该配置数据;而若客户端的本地不存在该配置数据,则可以从配置服务器中调用该配置数据并在客户端的本地进行存储。通过客户端本地和配置服务器两侧都保存配置数据,能够极大地保证配置数据的高可用。
具体地,本说明书一个或多个实施例提供的一种配置数据的调用方法应用于客户端的实现流程示意图如图1所示,包括:
步骤110,获取项目工程的配置需求,该配置需求用于请求项目工程的配置数据;
为了获取项目工程的配置数据,客户端首先可以获取该项目工程的配置需求,该配置需求用于请求该项目工程的配置数据。应理解,为便于客户端调用该项目工程的配置数据,该项目工程的配置需求中可以包括配置数据的本地查找标识、以及为避免该配置数据在客户端本地查找不到时,用于从配置服务器查找该配置数据的远程查找标识。
步骤120,从客户端的本地查找配置数据;
其中,该配置数据用于客户端对收到的请求进行持续响应。
可选地,为了提高配置数据的高可用性,本说明书实施例中的客户端的本地包括客户端的本地进程和客户端的本地磁盘,即可以预先在客户端的本地进程和本地磁盘中均缓存配置数据,那么从客户端的本地查找配置数据,包括:
从客户端的本地进程中查找配置数据;
若客户端的本地进程中不存在配置数据,则从客户端的本地磁盘中查找配置数据。
在客户端运行时,其当前运行的本地进程中可能会缓存有配置数据,若能够基于该配置数据的本地查找标识从客户端当前运行的本地进程中查找到配置数据,则可以直接从客户端的本地进程中调用该配置数据。而若基于该配置数据的本地查找标识在客户端的本地进程中查找后确定客户端的本地进程中不存在该配置数据,则可以继续基于该配置数据的本地查找标识从客户端的本地磁盘中查找该配置数据。若基于该配置数据的本地查找标识从客户端的本地磁盘中查找到该配置数据,则可以直接从客户端的本地磁盘中调用该配置数据。
需要说明的是,为了避免客户端的本地缓存的配置数据由于长时间未更新而过期,本说明书实施例中的客户端的本地缓存的配置数据可以基于配置服务器中对应的配置数据定时更新。
具体来说,客户端可以每隔预设时间段,比如每隔5分钟,则向配置服务器发送配置数据是否发生更新的确认消息,若配置服务器中对应的配置数据没有发生更新,配置服务器则可以向客户端发送该配置数据没有发生更新的消息;而若配置服务器中对应的配置数据发生了更新,配置服务器则可以向客户端发送最新的配置数据,以使得客户端将该最新的配置数据缓存在本地,以替换更新之前的配置数据。
步骤130,若客户端的本地存在配置数据,则从客户端的本地调用配置数据;
可选地,为了提高调用配置数据的速度,本说明实施例在基于配置数据的本地查找标识确定客户端的本地进程中存在配置数据时,则可以直接从客户端的本地进程中调用该配置数据。
那么,若从客户端的本地进程中查找到配置数据,则从客户端的本地调用配置数据,包括:
从客户端的本地进程中调用配置数据。
可选地,为了提高配置数据的高可用,避免客户端的本地进程处于阻塞态或睡眠态,而使得无法从客户端的本地进程中查找到配置数据,本说明书一个或多个实施例可以在客户端的本地进程中未查找到配置数据的情况下,基于配置数据的本地查找标识从客户端的本地磁盘中查找配置数据。
那么,若从客户端的本地磁盘中查找到配置数据,则从客户端的本地调用配置数据,包括:
确定配置数据在客户端的本地磁盘中的磁盘目录;
基于配置数据在客户端的本地磁盘中的磁盘目录,从客户端的本地磁盘调用配置数据。
具体来说,若基于配置数据的本地查找标识从客户端的本地磁盘中查找到该配置数据,则可以首先确定该配置数据在客户端的本地磁盘中的磁盘目录,再基于该配置数据在客户端的本地磁盘中的磁盘目录,直接从客户端的本地磁盘中调用该配置数据。
也就是说,从客户端的本地的角度来说,客户端的本地建立了两层缓存架构(即二层容灾)来提高客户端本地的配置数据的可用性。即使客户端的本地进程出现阻塞态或睡眠态等非正常运行的状态,而导致不能从客户端的本地进程查找并调用项目工程的配置数据,或者该客户端的本地进程并不存在所请求的项目工程的配置数据的情况,还可以从客户端的本地磁盘中查找项目工程的配置数据。
步骤140,若客户端的本地不存在配置数据,则从配置服务器调用配置数据并在客户端的本地进行存储;
其中,为了保证客户端的本地缓存的配置数据的实时性,客户端的本地的配置数据基于配置服务器中对应生成的配置数据定时更新。
需要说明的是,本发明实施例中的配置服务器用于管理并维护生成的配置数据,并接收客户端发送的获取配置数据的请求,向客户端发送其请求的配置数据。客户端在获取了配置服务器发送的配置数据后,为便于客户端对应的应用服务器获取该配置数据,客户端还可以将该配置数据存储在客户端的本地。
如图2所示,为本说明书实施例提供的用于管理配置数据的配置服务器的结构示意图。在图2中,该配置服务器的微服务框架采用spring boot,注册中心采用Eureka,且Eureka包含了Eureka服务器组件和Eureka客户端组件。其中,Eureka是Spring CloudNetflix微服务套件中的一部分,可以与微服务框架Spring boot构建的微服务很容易整合起来。
其中,Eureka服务器即图2所示的注册中心服务器,也被称作是服务注册中心,用于提供服务的注册与发现,且Eureka服务器支持高可用的配置,当微服务集群中有分片出现故障时,Eureka服务器就会转入自动保护模式,即使得出现故障的分片停止提供服务,它允许分片故障期间继续提供服务的发现和注册;而当出现故障的分片恢复正常时,微服务集群中其他分片则会将这些出现故障的分片的状态再次同步回来,即允许恢复正常的分片继续提供服务。客户端组件包含服务消费者与服务生产者。
在Eureka客户端运行时,Eureka客户端向注册中心服务器即eureka服务器注册自身提供的服务,并周期性的向注册中心服务器发送心跳来更新它的服务租约。同时,Eureka客户端也可以从注册中心服务器查询当前注册的服务信息并把它们缓存到本地并周期性的刷新服务状态。
在图2中,包括注册中心服务器1、注册中心服务器2和注册中心服务器3、服务提供者1和服务提供者2、以及服务消费者1和服务消费者2。
其中,注册中心服务器1、注册中心服务器2和注册中心服务器3用于提供服务的注册与发现,当这三个注册中心服务器中有注册中心服务器出现故障时,其他的注册中心服务器就会注入自动保护模式,即使得出现故障的注册中心服务器停止提供服务,且其他未出现故障的注册中心服务器正常提供服务。而当出现故障的注册中心服务器恢复正常时,其他未出现故障的注册中心服务器则会将出现故障的注册中心服务器的状态再次同步回来,即允许恢复正常的注册中心服务器继续提供服务。且为了保证配置数据的高可用,注册中心服务器1、注册中心服务器2和注册中心服务器3还会将各自存储的配置数据进行复制,并存储到其他两个注册中心服务器中。
服务提供者1和服务提供者2与注册中心服务器之间保持一个长连接,并定时向注册中心服务器获取最新的配置数据,还可以向注册中心服务器查询当前注册的服务信息并把它们缓存到本地并周期性的刷新服务状态。服务消费者1和服务消费者2与注册中心服务器之间也保持一个长连接,并定时向注册中心服务器查询当前注册的服务信息并把它们缓存到本地并周期性的刷新服务状态。客户端在向配置服务器远程调用配置数据时,具体可以通过服务消费者1和服务消费者2向服务提供者1或服务提供者2调用所需的配置数据。
可选地,为了提高配置服务器中配置数据的高可用性,本说明书一个或多个实施例中的配置服务器包括配置服务器的数据库和配置服务器的磁盘,则从配置服务器中调用配置数据,包括:
基于配置数据的动态域名地址,从配置服务器的数据库查找配置数据;其中,配置数据的动态域名地址为客户端基于配置服务器的数据库中配置数据的存储目录预先配置的;
若配置服务器的数据库中存在配置数据,则从配置服务器的数据库中调用配置数据;
若配置服务器的数据库不存在配置数据,则基于配置数据的静态域名地址,从配置服务器的磁盘中调用配置数据;其中,配置数据的静态域名地址为客户端基于配置服务器的磁盘中配置数据的磁盘目录预先配置的。
可选地,为了避免配置服务器出现宕机等意外状况而导致配置服务器的数据库中保存的配置数据出现丢失,同时也为了避免配置服务器中的磁盘中的配置数据因长时间未更新而过期等情况,本说明书一个或多个实施例中的配置服务器的磁盘中的配置数据基于配置服务器的数据库中对应生成的配置数据定时更新。
具体来说,可以在配置服务器的数据库和配置服务器的磁盘的交互接口中设置定时器,比如可以设置定时器java timer,并设置每隔预设时间段后便触发获取配置服务器中的配置数据,然后写入与该配置服务器的数据库对应的配置服务器的预设磁盘目录中,其中,写入到与该配置服务器的数据库对应的配置服务器的预设磁盘目录中的配置数据的文件格式可以是json格式、或者xml格式等其他文件格式。
需要说明的是,在将配置服务器的数据库中的配置数据定时写入到与该配置服务器的数据库对应的配置服务器的预设磁盘目录中之后,为了提高配置数据的高可用性,本说明书实施例可以将写入到与配置服务器的数据库对应的配置服务器的预设磁盘目录中的配置数据再复制一份,以保存到另外一台配置服务器的磁盘中,从而能够在从其中一台配置服务器的预设磁盘目录中调用配置数据时出现异常的情况下,切换到另外一台配置服务器的预设磁盘目录调用配置数据。
下面以图3所示的配置使用方即客户端调用配置数据的多级结构图,对本说明书实施例提供的配置数据的调用方法进行详细说明。
从图3中可以看出,客户端在调用配置数据时,缓存有配置数据的配置库建立了三层缓存架构(即三层容灾)来提高配置数据的高可用性。该三层缓存架构包括:一级配置库(即客户端的本地进程)、二级配置库(即客户端的本地磁盘)、以及三级配置库(即配置服务器,包括配置服务器的数据库和配置服务器的磁盘)。此外,图3中的客户端A和客户端B为两个配置数据的请求方,与该客户端A和客户端B相对应的,配置服务器的数据库中维护有客户端A的配置数据即动态数据A和客户端B的配置数据即动态数据B,配置服务器的磁盘中保存有客户端A的配置数据即静态数据A和客户端B的配置数据即静态数据B。
具体来说,在客户端获取了项目工程的配置需求之后,首先基于配置数据的本地查找标识从一级配置库即客户端的本地进程中查找配置数据;若客户端的本地进程出现阻塞态或睡眠态等非正常运行的状态,而导致不能从客户端的本地进程查找并调用配置数据,或者该客户端的本地进程并不存在所请求的配置数据的情况,再基于配置数据的本地查找标识从二级配置库即客户端的本地磁盘中查找配置数据;若客户端的本地磁盘中也不存在所请求的配置数据,则可以基于配置数据的动态域名地址,从配置服务器的数据库查找配置数据;而若配置服务器的数据库出现故障等情况而导致无法从配置服务器的数据库中查找配置数据,则可以基于配置数据的静态域名地址,从配置服务器的磁盘中查找配置数据。如此,通过采用三级配置库建立三层容灾,极大地提高配置数据的高可用性。
本发明实施例中,能够获取项目工程的配置需求,该配置需求用于请求项目工程的配置数据,并能够首先从客户端的本地查找该配置数据,该配置数据用于客户端对收到的请求进行持续响应,若该客户端的本地存在配置数据,则可以从客户端的本地直接调用该配置数据,而若客户端的本地不存在该配置数据,则可以从配置服务器调用该配置数据并在客户端的本地进行存储,其中,客户端本地的配置数据能够基于配置服务器中对应的配置数据定时更新。也就是说,能够同时在客户端本地和配置服务器中缓存配置数据,且客户端本地的配置数据为基于配置服务器中对应生成的配置数据定时更新,一方面保证了配置数据的实时性,另一方面也保证了配置数据的高可用性,即可以从客户端本地和配置服务器两个途径来获取配置数据,即使一方出现故障,也能从另一方获取到配置数据。
图4是本说明书提供的客户端400的结构示意图。请参考图4,在一种软件实施方式中,客户端400可包括获取单元401、本地查找单元402、第一调用单元403和第二调用单元404,其中:
获取单元401,用于获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
本地查找单元402,用于从所述客户端的本地查找所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
第一调用单元403,用于若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;
第二调用单元404,用于若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
本发明实施例中,获取单元401能够获取项目工程的配置需求,该配置需求用于请求项目工程的配置数据,并能够首先通过本地查找单元402从客户端的本地查找该配置数据,该配置数据用于客户端对收到的请求进行持续响应,若第一调用单元403确定该客户端的本地存在配置数据,则可以从客户端的本地直接调用该配置数据,而若第二调用单元404确定客户端的本地不存在该配置数据,则可以从配置服务器调用该配置数据并在客户端的本地进行存储,其中,客户端本地的配置数据能够基于配置服务器中对应的配置数据定时更新。也就是说,能够同时在客户端本地和配置服务器中缓存配置数据,且客户端本地的配置数据为基于配置服务器中对应生成的配置数据定时更新,一方面保证了配置数据的实时性,另一方面也保证了配置数据的高可用性,即可以从客户端本地和配置服务器两个途径来获取配置数据,即使一方出现故障,也能从另一方获取到配置数据。
可选地,在一种实施方式中,所述客户端的本地包括所述客户端的本地进程和所述客户端的本地磁盘,则所述本地查找单元402,具体用于:
从所述客户端的本地进程中查找所述配置数据;
若所述客户端的本地进程中不包含存在所述配置数据,则从所述客户端的本地磁盘中查找所述配置数据。
可选地,在一种实施方式中,所述第一调用单元403,具体用于:
从所述客户端的本地进程中调用所述配置数据。
可选地,在一种实施方式中,所述第一调用单元403,具体用于:
确定所述配置数据在所述客户端的本地磁盘中的磁盘目录;
基于所述配置数据在所述客户端的本地磁盘中的磁盘目录,从所述客户端的本地磁盘调用所述配置数据。
可选地,在一种实施方式中,所述配置服务器包括所述配置服务器的数据库和所述配置服务器的磁盘,则所述第二调用单元404,具体用于:
基于所述配置数据的动态域名地址,从所述配置服务器的数据库查找所述配置数据;其中,所述配置数据的动态域名地址为所述客户端基于所述配置服务器的数据库中所述配置数据的存储目录预先配置的;
若所述配置服务器的数据库中存在所述配置数据,则从所述配置服务器的数据库中调用所述配置数据;
若所述配置服务器的数据库不存在所述配置数据,则基于所述配置数据的静态域名地址,从所述配置服务器的磁盘中调用所述配置数据;其中,所述配置数据的静态域名地址为所述客户端基于配置服务器的磁盘中所述配置数据的磁盘目录预先配置的。
可选地,在一种实施方式中,所述配置服务器的磁盘中的配置数据基于所述配置服务器的数据库中对应的配置数据定时更新。
客户端400能够实现图1~图3的配置数据的调用方法实施例的方法,具体可参考图1~图3所示实施例的配置数据的调用方法,不再赘述。
本发明实施例还提供了一种配置数据的调用设备,图5为本申请实施例提供的配置数据的调用设备的结构示意图。如图5所示,配置数据的调用设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对内存数据加载设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在内存数据加载设备上执行存储器502中的一系列计算机可执行指令。内存数据加载设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入输出接口505,一个或一个以上键盘506等。
在一个具体的实施例中,配置数据的调用设备500包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现以下流程:
获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
从所述客户端的本地查找所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
可选地,所述计算机可执行指令被所述处理器执行时,
所述客户端的本地包括所述客户端的本地进程和所述客户端的本地磁盘,则从所述客户端的本地查找所述配置数据,包括:
从所述客户端的本地进程中查找所述配置数据;
若所述客户端的本地进程中不存在所述配置数据,则从所述客户端的本地磁盘中查找所述配置数据。
若从所述客户端的本地进程中查找到所述配置数据,则从所述客户端的本地调用所述配置数据,包括:
从所述客户端的本地进程中调用所述配置数据。
若从所述客户端的本地磁盘中查找到所述配置数据,则从所述客户端的本地调用所述配置数据,包括:
确定所述配置数据在所述客户端的本地磁盘中的磁盘目录;
基于所述配置数据在所述客户端的本地磁盘中的磁盘目录,从所述客户端的本地磁盘调用所述配置数据。
所述配置服务器包括所述配置服务器的数据库和所述配置服务器的磁盘,则从所述配置服务器中调用所述配置数据,包括:
基于所述配置数据的动态域名地址,从所述配置服务器的数据库查找所述配置数据;其中,所述配置数据的动态域名地址为所述客户端基于所述配置服务器的数据库中所述配置数据的存储目录预先配置的;
若所述配置服务器的数据库中存在所述配置数据,则从所述配置服务器的数据库中调用所述配置数据;
若所述配置服务器的数据库不存在所述配置数据,则基于所述配置数据的静态域名地址,从所述配置服务器的磁盘中调用所述配置数据;其中,所述配置数据的静态域名地址为所述客户端基于配置服务器的磁盘中所述配置数据的磁盘目录预先配置的。
所述配置服务器的磁盘中的配置数据基于所述配置服务器的数据库中对应的配置数据定时更新。
本发明实施例中,能够获取项目工程的配置需求,该配置需求用于请求项目工程的配置数据,并能够首先从客户端的本地查找该配置数据,该配置数据用于客户端对收到的请求进行持续响应,若该客户端的本地存在配置数据,则可以从客户端的本地直接调用该配置数据,而若客户端的本地不存在该配置数据,则可以从配置服务器调用该配置数据并在客户端的本地进行存储,其中,客户端本地的配置数据能够基于配置服务器中对应生成的配置数据定时更新。也就是说,能够同时在客户端本地和配置服务器中缓存配置数据,且客户端本地的配置数据为基于配置服务器中对应生成的配置数据定时更新,一方面保证了配置数据的实时性,另一方面也保证了配置数据的高可用性,即可以从客户端本地和配置服务器两个途径来获取配置数据,即使一方出现故障,也能从另一方获取到配置数据。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:
获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
从所述客户端的本地查找所述配置数据;
若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
可选地,所述计算机可执行指令被所述处理器执行时,
所述客户端的本地包括所述客户端的本地进程和所述客户端的本地磁盘,则从所述客户端的本地查找所述配置数据,包括:
从所述客户端的本地进程中查找所述配置数据;
若所述客户端的本地进程中不存在所述配置数据,则从所述客户端的本地磁盘中查找所述配置数据。
若从所述客户端的本地进程中查找到所述配置数据,则从所述客户端的本地调用所述配置数据,包括:
从所述客户端的本地进程中调用所述配置数据。
若从所述客户端的本地磁盘中查找到所述配置数据,则从所述客户端的本地调用所述配置数据,包括:
确定所述配置数据在所述客户端的本地磁盘中的磁盘目录;
基于所述配置数据在所述客户端的本地磁盘中的磁盘目录,从所述客户端的本地磁盘调用所述配置数据。
所述配置服务器包括所述配置服务器的数据库和所述配置服务器的磁盘,则从所述配置服务器中调用所述配置数据,包括:
基于所述配置数据的动态域名地址,从所述配置服务器的数据库查找所述配置数据;其中,所述配置数据的动态域名地址为所述客户端基于所述配置服务器的数据库中所述配置数据的存储目录预先配置的;
若所述配置服务器的数据库中存在所述配置数据,则从所述配置服务器的数据库中调用所述配置数据;
若所述配置服务器的数据库不存在所述配置数据,则基于所述配置数据的静态域名地址,从所述配置服务器的磁盘中调用所述配置数据;其中,所述配置数据的静态域名地址为所述客户端基于配置服务器的磁盘中所述配置数据的磁盘目录预先配置的。
所述配置服务器的磁盘中的配置数据基于所述配置服务器的数据库中对应生成的配置数据定时更新。
本发明实施例中,能够获取项目工程的配置需求,该配置需求用于请求项目工程的配置数据,并能够首先从客户端的本地查找该配置数据,该配置数据用于客户端对收到的请求进行持续响应,若该客户端的本地存在配置数据,则可以从客户端的本地直接调用该配置数据,而若客户端的本地不存在该配置数据,则可以从配置服务器调用该配置数据并在客户端的本地进行存储,其中,客户端本地的配置数据能够基于配置服务器中对应生成的配置数据定时更新。也就是说,能够同时在客户端本地和配置服务器中缓存配置数据,且客户端本地的配置数据为基于配置服务器中对应生成的配置数据定时更新,一方面保证了配置数据的实时性,另一方面也保证了配置数据的高可用性,即可以从客户端本地和配置服务器两个途径来获取配置数据,即使一方出现故障,也能从另一方获取到配置数据。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种配置数据的调用方法,其特征在于,所述方法应用于客户端,所述方法包括:
获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
从所述客户端的本地查找所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;
若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端的本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
2.如权利要求1所述的方法,其特征在于,所述客户端的本地包括所述客户端的本地进程和所述客户端的本地磁盘,则从所述客户端的本地查找所述配置数据,包括:
从所述客户端的本地进程中查找所述配置数据;
若所述客户端的本地进程中不存在所述配置数据,则从所述客户端的本地磁盘中查找所述配置数据。
3.如权利要求2所述的方法,其特征在于,若从所述客户端的本地进程中查找到所述配置数据,则从所述客户端的本地调用所述配置数据,包括:
从所述客户端的本地进程中调用所述配置数据。
4.如权利要求2所述的方法,其特征在于,若从所述客户端的本地磁盘中查找到所述配置数据,则从所述客户端的本地调用所述配置数据,包括:
确定所述配置数据在所述客户端的本地磁盘中的磁盘目录;
基于所述配置数据在所述客户端的本地磁盘中的磁盘目录,从所述客户端的本地磁盘调用所述配置数据。
5.如权利要求1所述的方法,其特征在于,所述配置服务器包括所述配置服务器的数据库和所述配置服务器的磁盘,则从所述配置服务器中调用所述配置数据,包括:
基于所述配置数据的动态域名地址,从所述配置服务器的数据库查找所述配置数据;其中,所述配置数据的动态域名地址为所述客户端基于所述配置服务器的数据库中所述配置数据的存储目录预先配置的;
若所述配置服务器的数据库中存在所述配置数据,则从所述配置服务器的数据库中调用所述配置数据;
若所述配置服务器的数据库不存在所述配置数据,则基于所述配置数据的静态域名地址,从所述配置服务器的磁盘中调用所述配置数据;其中,所述配置数据的静态域名地址为所述客户端基于配置服务器的磁盘中所述配置数据的磁盘目录预先配置的。
6.如权利要求5所述的方法,其特征在于,所述配置服务器的磁盘中的配置数据基于所述配置服务器的数据库中对应生成的配置数据定时更新。
7.一种客户端,其特征在于,包括:
获取单元,用于获取项目工程的配置需求,所述配置需求用于请求所述项目工程的配置数据;
本地查找单元,用于从所述客户端的本地查找所述配置数据;所述配置数据用于所述客户端对收到的请求进行持续响应;
第一调用单元,用于若所述客户端的本地存在所述配置数据,则从所述客户端的本地调用所述配置数据;
第二调用单元,用于若所述客户端的本地不存在所述配置数据,则从配置服务器调用所述配置数据并在所述客户端的本地进行存储;
其中,所述客户端的本地的配置数据基于所述配置服务器中对应生成的配置数据定时更新。
8.如权利要求7所述的客户端,其特征在于,所述客户端的本地包括所述客户端的本地进程和所述客户端的本地磁盘,则所述本地查找单元,具体用于:
从所述客户端的本地进程中查找所述配置数据;
若所述客户端的本地进程中不包含存在所述配置数据,则从所述客户端的本地磁盘中查找所述配置数据。
9.如权利要求8所述的客户端,其特征在于,所述第一调用单元,具体用于:
从所述客户端的本地进程中调用所述配置数据。
10.如权利要求8所述的客户端,其特征在于,所述第一调用单元,具体用于:
确定所述配置数据在所述客户端的本地磁盘中的磁盘目录;
基于所述配置数据在所述客户端的本地磁盘中的磁盘目录,从所述客户端的本地磁盘调用所述配置数据。
11.如权利要求7所述的客户端,其特征在于,所述配置服务器包括所述配置服务器的数据库和所述配置服务器的磁盘,则所述第二调用单元,具体用于:
基于所述配置数据的动态域名地址,从所述配置服务器的数据库查找所述配置数据;其中,所述配置数据的动态域名地址为所述客户端基于所述配置服务器的数据库中所述配置数据的存储目录预先配置的;
若所述配置服务器的数据库中存在所述配置数据,则从所述配置服务器的数据库中调用所述配置数据;
若所述配置服务器的数据库不存在所述配置数据,则基于所述配置数据的静态域名地址,从所述配置服务器的磁盘中调用所述配置数据;其中,所述配置数据的静态域名地址为所述客户端基于配置服务器的磁盘中所述配置数据的磁盘目录预先配置的。
12.如权利要求11所述的客户端,其特征在于,所述配置服务器的磁盘中的配置数据基于所述配置服务器的数据库中对应生成的配置数据定时更新。
13.一种配置数据的调用设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如权利要求1~6中任一所述的配置数据的调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910142262.4A CN109936476A (zh) | 2019-02-26 | 2019-02-26 | 一种配置数据的调用方法、装置及其设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910142262.4A CN109936476A (zh) | 2019-02-26 | 2019-02-26 | 一种配置数据的调用方法、装置及其设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109936476A true CN109936476A (zh) | 2019-06-25 |
Family
ID=66985960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910142262.4A Pending CN109936476A (zh) | 2019-02-26 | 2019-02-26 | 一种配置数据的调用方法、装置及其设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109936476A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377328A (zh) * | 2019-07-15 | 2019-10-25 | 深圳乐信软件技术有限公司 | 一种数据获取方法、装置、设备以及存储介质 |
CN110673881A (zh) * | 2019-09-06 | 2020-01-10 | 深圳平安通信科技有限公司 | 微服务集群的配置管理方法、装置和计算机设备 |
CN113872785A (zh) * | 2020-06-30 | 2021-12-31 | 大唐移动通信设备有限公司 | 一种模型获取方法、装置以及操作维护终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075059A1 (en) * | 2004-08-31 | 2006-04-06 | Red Hat, Inc. | Method and system for caching directory services |
CN102843437A (zh) * | 2012-09-17 | 2012-12-26 | 北京星网锐捷网络技术有限公司 | 网页应用的转换方法、装置和网络设备 |
CN107071059A (zh) * | 2017-05-25 | 2017-08-18 | 腾讯科技(深圳)有限公司 | 分布式缓存服务实现方法、装置、终端、服务器及系统 |
CN107612982A (zh) * | 2017-08-31 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种降低功能页面请求次数的方法、存储介质、设备及系统 |
CN108256006A (zh) * | 2018-01-02 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种直播间徽章图片加载方法及系统 |
-
2019
- 2019-02-26 CN CN201910142262.4A patent/CN109936476A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075059A1 (en) * | 2004-08-31 | 2006-04-06 | Red Hat, Inc. | Method and system for caching directory services |
CN102843437A (zh) * | 2012-09-17 | 2012-12-26 | 北京星网锐捷网络技术有限公司 | 网页应用的转换方法、装置和网络设备 |
CN107071059A (zh) * | 2017-05-25 | 2017-08-18 | 腾讯科技(深圳)有限公司 | 分布式缓存服务实现方法、装置、终端、服务器及系统 |
CN107612982A (zh) * | 2017-08-31 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种降低功能页面请求次数的方法、存储介质、设备及系统 |
CN108256006A (zh) * | 2018-01-02 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种直播间徽章图片加载方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377328A (zh) * | 2019-07-15 | 2019-10-25 | 深圳乐信软件技术有限公司 | 一种数据获取方法、装置、设备以及存储介质 |
CN110673881A (zh) * | 2019-09-06 | 2020-01-10 | 深圳平安通信科技有限公司 | 微服务集群的配置管理方法、装置和计算机设备 |
CN113872785A (zh) * | 2020-06-30 | 2021-12-31 | 大唐移动通信设备有限公司 | 一种模型获取方法、装置以及操作维护终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180063237A1 (en) | Distributed global load-balancing system for software-defined data centers | |
JP5078384B2 (ja) | 電子商取引などのデータベース・クラスタを利用するウェブ・サービスを実行するための方法、サーバ、プログラム(ウェブ・サービス・データベース・クラスタのアーキテクチャ) | |
US8843386B2 (en) | Method and system for realizing an avatar in a management operations center implemented in a global ecosystem of interrelated services | |
CN104823170B (zh) | 分布式缓存群集管理 | |
CA2859163C (en) | Content delivery network | |
US9940403B2 (en) | System and method for managing dedicated caches | |
KR100450727B1 (ko) | 클러스터 자동 구성 방법 및 시스템과 컴퓨터 판독가능한 기록 매체 | |
US10534776B2 (en) | Proximity grids for an in-memory data grid | |
CN109189334B (zh) | 一种区块链网络服务平台及其扩容方法、存储介质 | |
US20020173984A1 (en) | Method and system for implementing improved containers in a global ecosystem of interrelated services | |
US8082548B2 (en) | System and method for performing systems management on IT-resources using web services | |
CN109936476A (zh) | 一种配置数据的调用方法、装置及其设备 | |
US20080189402A1 (en) | Method and Respective System for Performing Systems Management on IT-Resources Using Web Services | |
JP7143434B2 (ja) | クラウドサービスのデータキャッシング | |
CN103607424A (zh) | 一种服务器连接方法及服务器系统 | |
CN109213571A (zh) | 一种内存共享方法、容器管理平台及计算机可读存储介质 | |
US10715472B2 (en) | System and method for unit-of-order routing | |
CN111966482A (zh) | 边缘计算系统 | |
GB2514459A (en) | Method and system for registering software systems in data-sharing sessions | |
US20160226963A1 (en) | Load balancing using predictable state partitioning | |
US20100250860A1 (en) | Method and System for Managing Cache Invalidation | |
CN108595616B (zh) | 一种面向分布式文件系统的统一命名空间管理的方法 | |
CN113672346A (zh) | 一种基于rook实现多MGR服务部署的方法 | |
CN105450606B (zh) | 一种ldap服务节点及同步方法 | |
US20240106907A1 (en) | Entity for implementing a service in a network, application device, and method for executing an operation of a service |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190625 |
|
RJ01 | Rejection of invention patent application after publication |