CN111045745A - 管理配置信息的方法和*** - Google Patents

管理配置信息的方法和*** Download PDF

Info

Publication number
CN111045745A
CN111045745A CN201811177274.2A CN201811177274A CN111045745A CN 111045745 A CN111045745 A CN 111045745A CN 201811177274 A CN201811177274 A CN 201811177274A CN 111045745 A CN111045745 A CN 111045745A
Authority
CN
China
Prior art keywords
configuration information
configuration
application program
synchronization
client
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
Application number
CN201811177274.2A
Other languages
English (en)
Inventor
罗庆辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Financial Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201811177274.2A priority Critical patent/CN111045745A/zh
Publication of CN111045745A publication Critical patent/CN111045745A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种管理配置信息的方法和***,涉及计算机技术领域。该方法的一具体实施方式包括:在应用程序的配置信息发生变更之后,向所述应用程序所在客户端发送变更通知;其中,所述客户端在接收所述变更通知之后,发出配置信息同步请求;接收所述配置信息同步请求,将变更后的配置信息返回所述客户端。该实施方式能够以服务端推送数据的方式实现应用程序对配置信息变更的实时感知。

Description

管理配置信息的方法和***
技术领域
本发明涉及计算机技术领域,尤其涉及一种管理配置信息的方法和***。
背景技术
在分布式***、微服务化***中,应用程序的***集成配置信息、开关降级配置信息、黑白名单配置信息、业务配置信息等是驱动整个***业务正常运转的基础数据,需要进行统一管理、动态发布,同时在配置信息发生变更后,应用程序需要实时感知配置信息的变化,因此,为了确保业务正常运转,需要实现配置信息的高可用以及配置信息变更的实时感知。
在现有技术中,主要有两种配置信息管理***。第一种基于Zookeeper(一种分布式应用程序协调服务)实现,在Zookeeper节点上的配置信息发生变更时,通过监测机制实时感知变化并通知相应客户端。该***缺少本地持久化机制,在服务端发生故障或本地缓存不可用时,容易造成业务故障。第二种基于Spring(一种开源的Java设计平台,Java是一种程序设计语言)实现,客户端定时发起网络请求,从服务端拉取配置信息。该***采用定时拉取机制,配置信息的同步存在时效性较弱的问题。此外,上述两种***均采用单一的客户端拉取数据的模式,数据同步效果不佳。
发明内容
有鉴于此,本发明实施例提供一种管理配置信息的方法和***,能够以服务端推送数据的方式实现应用程序对配置信息变更的实时感知。
为实现上述目的,根据本发明的一个方面,提供了一种管理配置信息的方法。
本发明实施例的管理配置信息的方法包括:在应用程序的配置信息发生变更之后,向所述应用程序所在客户端发送变更通知;其中,所述客户端在接收所述变更通知之后,发出配置信息同步请求;接收所述配置信息同步请求,将变更后的配置信息返回所述客户端。
可选地,所述方法进一步包括:在所述应用程序启动之后,与所述客户端建立长连接;其中,所述长连接用于向所述客户端发送所述变更通知;在将变更后的配置信息返回所述客户端之后,所述客户端将所述变更后的配置信息存储到本地缓存和本地文件;其中,本地缓存中的配置信息可由所述应用程序读取。
可选地,所述配置信息包括配置项数据和对应于配置项数据的配置版本数据;以及,所述方法进一步包括:接收所述客户端定时发送的定时同步请求;其中,所述定时同步请求中携带所述应用程序的标识;响应于所述定时同步请求,利用同步配置接口将所述应用程序当前的配置信息返回所述客户端;其中,所述客户端接收所述当前的配置信息之后,比较所述当前的配置信息和本地缓存中所述应用程序的配置信息中的相应配置项数据:在相应配置项数据的配置版本数据不一致时,将所述当前的配置信息中的配置项数据更新到本地缓存;在本地缓存更新完成后,将本地缓存中所述应用程序当前的配置信息更新到本地文件。
可选地,所述方法进一步包括:接收所述客户端发出的首次同步请求;其中,所述首次同步请求是所述应用程序首次启动时发出的,其中携带所述应用程序的标识;响应于所述首次同步请求,利用同步配置接口将应用程序当前的配置信息返回所述客户端;其中,所述客户端接收该配置信息之后,将该配置信息存储到本地缓存和本地文件。
可选地,所述方法进一步包括:接收所述客户端发送的配置信息推送请求;其中,所述配置信息推送请求中携带所述应用程序的标识和本地缓存中存储的所述应用程序自动变更的配置信息;从所述配置信息推送请求中获取所述自动变更的配置信息,将所述自动变更的配置信息存储到缓存和数据库。
为实现上述目的,根据本发明的另一方面,提供了一种管理配置信息的***。
本发明实施例的管理配置信息的***可包括:设置在服务端的配置管理***、存储***、通知***、数据交互***以及设置在应用程序所在客户端的配置同步***;其中,配置管理***可用于监测到应用程序的配置信息发生变更之后,向通知***发送配置变更请求,并将变更后的配置信息发送到存储***进行存储;通知***可用于将接收的配置变更请求转换为变更通知,向配置同步***发送;配置同步***可用于接收所述变更通知之后,向数据交互***发送配置信息同步请求;数据交互***可用于接收所述配置信息同步请求之后,从存储***获取所述变更后的配置信息向所述配置同步***返回。
可选地,配置同步***可进一步用于:在所述应用程序启动之后,与通知***建立长连接;其中,所述长连接用于由配置同步***接收所述变更通知;在接收所述变更后的配置信息之后,将所述变更后的配置信息存储到本地缓存和本地文件;其中,本地缓存中的配置信息可由所述应用程序读取。
可选地,所述配置信息包括配置项数据和对应于配置项数据的配置版本数据;数据交互***可进一步用于:接收配置同步***定时发送的定时同步请求;其中,所述定时同步请求中携带所述应用程序的标识;响应于所述定时同步请求,利用同步配置接口将从存储***获取的、所述应用程序当前的配置信息返回配置同步***;配置同步***进一步用于:接收所述当前的配置信息之后,比较所述当前的配置信息和本地缓存中所述应用程序的配置信息中的相应配置项数据:在相应配置项数据的配置版本数据不一致时,将所述当前的配置信息中的配置项数据更新到本地缓存;在本地缓存更新完成后,将本地缓存中所述应用程序当前的配置信息更新到本地文件。
可选地,数据交互***可进一步用于:接收配置同步***发出的首次同步请求;其中,所述首次同步请求是所述应用程序首次启动时发出的,其中携带所述应用程序的标识;响应于所述首次同步请求,利用同步配置接口将从存储***获取的、应用程序当前的配置信息返回配置同步***;配置同步***可进一步用于:接收该配置信息之后,将该配置信息存储到本地缓存和本地文件。
可选地,数据交互***可进一步用于:接收配置同步***发送的配置信息推送请求;其中,所述配置信息推送请求中携带所述应用程序的标识和本地缓存中存储的所述应用程序自动变更的配置信息;从所述配置信息推送请求中获取所述自动变更的配置信息,将所述自动变更的配置信息存储到存储***;其中,存储***中包括缓存和数据库。
根据本发明的技术方案,上述发明中的一个实施例具有如下优点或有益效果:
其一,监测服务端的配置信息,当其发生变更后通过通知***以及预先建立的长连接向客户端发送变更通知;客户端接收到变更通知之后,向服务端发送请求以获取更新后的配置信息。通过上述设置,本发明能够通过服务端推送数据的模式实现配置信息变化的实时感知。
其二,为了进一步保证配置信息的高可用性,本发明可由客户端定时向服务端发送请求以获取服务端最新的配置信息,并通过比较配置版本判断本地存储的配置信息是否过期,进而确定是否更新。通过上述设置,本发明提供了基于客户端拉取的定时同步配置信息机制,其与实时同步配置信息机制结合能够提升配置信息的同步时效性并实现配置信息的最终一致性保障。
其三,当客户端的配置信息因满足触发条件发生变更时,本发明可基于客户端推送数据的机制,使客户端直接将变更后的配置信息推送到服务端,从而实现配置信息在服务端与客户端之间的双向同步。此外,本发明在客户端设置本地缓存与本地文件相结合的存储方案,当服务端不可用时,可从本地文件读取配置信息并加载到本地缓存,从而提升***可用性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例中管理配置信息的方法的服务端与客户端交互示意图;
图2是本发明实施例中管理配置信息的***的组成部分示意图;
图3是根据本发明实施例中管理配置信息的***的首次加载配置信息示意图;
图4是根据本发明实施例中管理配置信息的***的实时同步配置信息示意图;
图5是根据本发明实施例中管理配置信息的***的定时同步配置信息示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例中管理配置信息的方法的服务端与客户端交互示意图。
如图1所示,本发明实施例的管理配置信息的方法可具体按照如下步骤执行:
步骤S101:在应用程序的配置信息发生变更之后,服务端向应用程序所在客户端发送变更通知。
在本步骤中,应用程序可以是使用Java等编程语言设计的各类应用程序,如Web程序(网络程序)、***程序等,也可以是安装在智能终端的软件APP。应用程序的配置信息可在服务端由工作人员进行新建、删除或修改,并需要同步到应用程序所在的客户端,供应用程序使用,以实现正常的业务流程。具体应用中,一个应用程序的全量配置信息(即所需的全部配置信息)由多个配置项组成,每一配置项由配置项数据和配置版本数据组成,通过配置版本数据能够判别配置项数据是否为当前最新的配置数据。
在本发明实施例中,服务端监测配置信息的是否发生变更,在发生变更时,通过通知机制向应用程序所在的客户端发送变更消息,以使客户端获知应用程序发生了变更。一般的,变更消息中可携带上述应用程序的标识。需要说明的是,配置信息的变更包括配置信息的新建、修改和删除。具体应用中,应用程序在客户端启动之后,服务端即与客户端建立长连接;服务端监测到配置信息发生变更之后,可通过上述长连接向客户端发送变更通知。示例性地,上述长连接可以基于Netty(一种Java开源框架)、Tomcat(一种开源Web应用框架)等框架实现。
步骤S102:客户端在接收变更通知之后,向服务端发出配置信息同步请求,以获取变更后的配置信息。具体应用中,客户端发出上述配置信息请求以调用服务端提供配置数据的相应接口,从而获取变更后的配置信息。
步骤S103:服务端接收配置信息同步请求,将变更后的配置信息返回客户端。
在本步骤中,服务端可根据提供配置数据的相应接口向客户端返回变更后的配置信息。客户端接收到变更后的配置信息之后,将其存储在本地缓存和本地文件。其中,本地缓存指的是占用客户端内存的缓存***,本地文件指的是占用客户端磁盘空间的文件。值得一提的是,在本发明实施例中,客户端采用本地缓存与本地文件相结合的存储方案,当服务端可用时,***可从服务端将配置信息加载到本地缓存,供应用程序高效读取;当服务端不可用时,***可从本地文件读取配置信息并加载到本地缓存,供应用程序使用,由此提高***可用性。
通过上述步骤,本发明以服务端推送数据的模式(即服务端主动向客户端发送变更消息,触发配置信息同步)实现了配置信息从服务端到客户端的实时同步。
作为一个优选方案,本发明还提供一种通过客户端定时拉取数据同步配置信息的方案。具体地,客户端定时向服务器发送携带应用程序标识的定时同步请求。其中,上述“定时”可根据预设的定时策略确定,例如,“每30秒一次”、“每周的周一到周五,每10秒一次”等均可作为定时策略。服务端接收定时同步请求之后,利用同步配置接口将应用程序当前的配置信息返回客户端。其中,同步配置接口用于获取配置数据并向客户端发送。客户端接收当前的配置信息之后,比较当前的配置信息和本地缓存中应用程序的配置信息中的相应配置项数据:如果相应配置项数据的配置版本数据一致,则不作处理;如果相应配置项数据的配置版本数据不一致,则将当前的配置信息中的配置项数据更新到本地缓存。在本地缓存更新完成后,将本地缓存中应用程序的全量配置信息更新到本地文件。
这样,通过结合定时同步配置信息方案和实时同步配置信息方案,能够使客户端在第一时间感知并读取最新的配置信息,同时可确保配置信息的最终一致性和可用性。
实际应用中,配置信息往往在服务端由工作人员进行修改而产生变更,所以配置信息一般是从服务端到客户端同步,但在一些情况下,客户端由于满足触发条件,也会自动改变配置信息,例如,在触发条件满足时,客户端某功能或接口的开关类配置信息会自动变更,此时需要将变更后的配置信息同步到服务端。具体地,客户端向服务端发送配置信息推送请求,其中携带应用程序的标识和本地缓存中存储的应用程序自动变更的配置信息;服务端接收配置信息推送请求之后,从中获取自动变更的配置信息,并将其存储到服务端的缓存和数据库。其中,上述缓存可采用分布式缓存JIMDB,数据库可基于MYSQL(一种数据库管理***)实现。这样,即以客户端推送数据的模式实现配置信息从客户端到服务端的同步。
在实际应用场景中,应用程序在客户端首次启动时,需要根据以下步骤从服务端加载配置信息:应用程序首次启动后,客户端向服务端发送首次同步请求,其中携带应用程序的标识;服务端接收到首次同步请求之后,利用同步配置接口将应用程序当前的配置信息返回所述端;客户端接收该配置信息之后,将该配置信息存储到本地缓存和本地文件。这样,即通过客户端拉取数据的模式实现了应用程序首次启动时配置信息从服务端到客户端的同步。
在本发明实施例的技术方案中,能够将JIMDB等缓存***与Netty等框架结合以代替现有技术中广泛使用的Zookeeper架构,并成功解决配置信息一致性、容量灵活扩展等问题,同时其具有通信性能优良、高可用等优点,并支持大量应用程序的接入。
需要说明的是,对于前述的各方法实施例,为了便于描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,某些步骤事实上可以采用其它顺序进行或者同时进行。此外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是实现本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关***。
请参阅图2所示,本发明实施例提供的一种管理配置信息的***可以包括:设置在服务端的配置管理***、存储***、通知***、数据交互***以及设置在应用程序所在客户端的配置同步***,以下将详细介绍上述***。
较佳地,配置管理***作为配置信息维护和人工操作的入口,用于管理配置信息和配置策略,并负责***管理工作。具体应用中,配置管理***可基于计算机集群实现,其包括以下单元:
配置维护单元,用于向工作人员提供界面进行操作,实现配置信息的新建、修改和删除。
历史版本回滚单元,用于显示配置信息的历史版本,并使之生效。
配置依赖单元,用于管理配置信息之间的依赖关系。
动态配置单元,用于实现配置项的动态加载。
配置持久化单元,用于将变更后的配置信息存储到存储***中的数据库和缓存。
灰度策略单元,用于管理配置信息在应用程序的部署比例。例如,配置信息变更后,首先可在较小比例的应用程序部署,检测到效果较好之后,推广到较大比例的应用程序。
黑白名单策略单元,用于设置针对用户的黑名单和白名单。
配置版本单元,用于管理配置信息中的配置版本数据。
配置生效策略单元,用于设置配置信息的生效策略。
配置变更监听单元,用于监测配置信息是否发生变更;监测到配置信息变更时,向通知***发送配置变更请求。
此外,配置管理***还具有用户管理、权限管理、监控报警、数据同步管理等功能。
较佳地,本发明实施例中的存储***用于在服务端存储配置信息,其由缓存和数据库组成。其中,缓存用于与数据交互***进行数据交互,数据库用于配置信息的持久化。实际应用中,缓存可采用分布式缓存JIMDB,数据库可基于MYSQL实现,存储***可基于计算机集群实现。
作为一个优选方案,通知***用于在服务端的配置信息发生变更后向客户端发出通知。通知***可包括通知接口和通信服务端,其中,通知接口可由配置变更监听单元调用,并接收配置变更监听单元发送的配置变更请求。之后,通知接口可将配置变更请求转换为变更通知发送到通信服务端。通信服务端与下面将要介绍的配置同步***中的通信客户端相对应,二者可以是基于同一应用框架的服务端与客户端,如Netty服务端和Netty客户端。实际应用中,应用程序启动之后,设置于应用程序所在客户端的配置同步***中的通信客户端主动发起请求,与通信服务端建立长连接,用于后续通知下发。一般地,通知***可基于计算机集群实现。
在一些实施例中,数据交互***用于与客户端直接交互,向客户端发送服务端变更的配置信息或者从客户端获取客户端变更的配置信息。数据交互***可包括身份鉴权单元和同步配置接口,其中,身份鉴权单元用于对客户端用户权限等进行鉴定,同步配置接口用于与客户端进行配置信息的交互。一般地,数据交互***可基于计算机集群实现。
在本发明实施例中,配置同步***设置于客户端,可通过客户端集成相应的软件开发工具包实现。配置同步***可包括实时同步单元、首次同步单元、定时同步单元、事件监听单元、通信客户端、本地缓存和本地文件。其中,实时同步单元用于在通信客户端接收到变更通知后,获取变更后的配置信息;首次同步单元用于应用程序首次启动时加载配置信息,还用于在服务端不可用时,从本地文件读取最新的配置信息并加载到本地缓存,供应用程序使用;定时同步单元用于定时获取最新的配置信息;事件监听单元用于在配置信息变更时自动触发用户自定义方法;本地缓存和本地文件均依赖于客户端的硬件资源。
以下将详细介绍上述管理配置信息的***在不同应用场景下的具体流程。
图3是根据本发明实施例中管理配置信息的***的首次加载配置信息示意图。如图3所示,应用程序首次启动时,具体执行步骤如下:
步骤S301:客户端预先集成相应软件开发工具包,以加载配置同步***。应用程序在客户端启动时,自动触发其中的首次同步单元。
步骤S302:首次同步单元触发通信客户端向通信服务端发起请求以建立双工长连接,并提供断线自动重连机制,保障连接资源可用性。
步骤S303:首次同步单元向数据交互***发起首次同步请求以调用同步配置接口。
步骤S:304:数据交互***通过同步配置接口从存储***获取应用程序的全量配置信息,并将全量配置信息向首次同步单元返回。
步骤S305:首次同步单元将接收到的全量配置信息更新到本地缓存和本地文件,应用程序可从本地缓存中读取配置信息。
通过上述步骤,可基于客户端拉取数据的模式实现了应用程序首次启动时配置信息从服务端到客户端的同步。
图4是根据本发明实施例中管理配置信息的***的实时同步配置信息示意图,如图4所示,具体执行步骤如下:
步骤S401:配置管理***的配置信息变更后,配置持久化单元将变更后的配置信息更新到存储***。
步骤S402:配置变更监听单元获取变更后的配置信息并向通知***发送配置变更请求以调用通知***中的通知接口。
步骤S403:通知接口将配置变更请求转换为变更通知,并将变更通知发送到通信服务端。
步骤S404:通信服务端从连接资源池中确定相应的通信客户端的连接通道,通过该连接通道将变更通知发送到通信客户端。其中,连接通道为输入数据、输出数据的传输路径,其可以是Netty框架的channel组件。
步骤S405:实时同步单元监测到变更通知后,向数据交互***发送配置信息同步请求以调用同步配置接口。
步骤S406:数据交互***利用同步配置接口从存储***获取变更后的配置信息,向实时同步单元返回。
步骤S407:实时同步单元接收变更后的配置信息,并将其存储到本地缓存和本地文件。
通过上述步骤,可基于服务端推送数据的模式实现配置信息从服务端到客户端的实时同步。
图5是根据本发明实施例中管理配置信息的***的定时同步配置信息示意图,如图5所示,具体执行步骤如下:
步骤S501:定时同步单元定时向数据交互***发起定时同步请求以调用同步配置接口。
步骤S502:数据交互***利用同步配置接口从存储***获取应用程序的全量配置信息,向定时同步单元返回。
步骤S503:定时同步单元将接受到的配置信息与本地缓存中的相应配置项数据进行配置版本比较:如果相应配置项数据的配置版本数据一致,则不作处理;如果相应配置项数据的配置版本数据不一致,则将当前的配置信息中的配置项数据更新到本地缓存。
步骤S504:在本地缓存更新完成后,定时同步单元将本地缓存中应用程序的全量配置信息更新到本地文件。这样,即可实现基于客户端拉取数据的模式实现配置信息从服务端到客户端的定时同步。
通过上述步骤,即可实现客户端配置信息的首次启动同步、实时同步和定时同步。此外,当触发条件满足,客户端的配置信息自动变更时,配置同步***向数据交互***发送配置信息推送请求,其中携带应用程序的标识和本地缓存中存储的应用程序自动变更的配置信息;数据交互***接收配置信息推送请求,从配置信息推送请求中获取自动变更的配置信息,并将自动变更的配置信息存储到存储***,从而以客户端推送数据的模式实现配置信息从客户端到服务端的同步,进而实现配置信息在服务端和客户端的双向高效同步。
需要说明的是,以上内容虽然详细介绍了配置管理***、存储***、通知***、数据交互***和配置同步***中的各单元,但这并不对本发明技术方案的***组成和应用场景形成任何限制,各***中的各单元也并非本发明技术方案所必需,实际应用中,具体的功能单元可根据业务需求设置。
在本发明实施例的技术方案中,能够将JIMDB等缓存***与Netty等框架结合以代替现有技术中广泛使用的Zookeeper架构,并成功解决配置变更的迅速感知(本发明可实现毫秒级同步)、配置信息一致性、容量灵活扩展等问题,同时其具有通信性能优良、高可用等优点,并支持大量应用程序的接入。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种管理配置信息的方法,其特征在于,包括:
在应用程序的配置信息发生变更之后,向所述应用程序所在客户端发送变更通知;其中,所述客户端在接收所述变更通知之后,发出配置信息同步请求;
接收所述配置信息同步请求,将变更后的配置信息返回所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在所述应用程序启动之后,与所述客户端建立长连接;其中,所述长连接用于向所述客户端发送所述变更通知;
在将变更后的配置信息返回所述客户端之后,所述客户端将所述变更后的配置信息存储到本地缓存和本地文件;其中,本地缓存中的配置信息可由所述应用程序读取。
3.根据权利要求1所述的方法,其特征在于,所述配置信息包括配置项数据和对应于配置项数据的配置版本数据;以及,所述方法进一步包括:
接收所述客户端定时发送的定时同步请求;其中,所述定时同步请求中携带所述应用程序的标识;
响应于所述定时同步请求,利用同步配置接口将所述应用程序当前的配置信息返回所述客户端;其中,
所述客户端接收所述当前的配置信息之后,比较所述当前的配置信息和本地缓存中所述应用程序的配置信息中的相应配置项数据:在相应配置项数据的配置版本数据不一致时,将所述当前的配置信息中的配置项数据更新到本地缓存;在本地缓存更新完成后,将本地缓存中所述应用程序当前的配置信息更新到本地文件。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
接收所述客户端发出的首次同步请求;其中,所述首次同步请求是所述应用程序首次启动时发出的,其中携带所述应用程序的标识;
响应于所述首次同步请求,利用同步配置接口将应用程序当前的配置信息返回所述客户端;其中,所述客户端接收该配置信息之后,将该配置信息存储到本地缓存和本地文件。
5.根据权利要求1-4任一所述的方法,其特征在于,所述方法进一步包括:
接收所述客户端发送的配置信息推送请求;其中,所述配置信息推送请求中携带所述应用程序的标识和本地缓存中存储的所述应用程序自动变更的配置信息;
从所述配置信息推送请求中获取所述自动变更的配置信息,将所述自动变更的配置信息存储到缓存和数据库。
6.一种管理配置信息的***,其特征在于,包括:设置在服务端的配置管理***、存储***、通知***、数据交互***以及设置在应用程序所在客户端的配置同步***;其中,
配置管理***用于监测到应用程序的配置信息发生变更之后,向通知***发送配置变更请求,并将变更后的配置信息发送到存储***进行存储;
通知***用于将接收的配置变更请求转换为变更通知,向配置同步***发送;
配置同步***用于接收所述变更通知之后,向数据交互***发送配置信息同步请求;
数据交互***用于接收所述配置信息同步请求之后,从存储***获取所述变更后的配置信息向所述配置同步***返回。
7.根据权利要求6所述的***,其特征在于,配置同步***进一步用于:
在所述应用程序启动之后,与通知***建立长连接;其中,所述长连接用于由配置同步***接收所述变更通知;在接收所述变更后的配置信息之后,将所述变更后的配置信息存储到本地缓存和本地文件;其中,本地缓存中的配置信息可由所述应用程序读取。
8.根据权利要求6所述的***,其特征在于,所述配置信息包括配置项数据和对应于配置项数据的配置版本数据;以及,
数据交互***进一步用于:接收配置同步***定时发送的定时同步请求;其中,所述定时同步请求中携带所述应用程序的标识;响应于所述定时同步请求,利用同步配置接口将从存储***获取的、所述应用程序当前的配置信息返回配置同步***;
配置同步***进一步用于:接收所述当前的配置信息之后,比较所述当前的配置信息和本地缓存中所述应用程序的配置信息中的相应配置项数据:在相应配置项数据的配置版本数据不一致时,将所述当前的配置信息中的配置项数据更新到本地缓存;在本地缓存更新完成后,将本地缓存中所述应用程序当前的配置信息更新到本地文件。
9.根据权利要求6所述的***,其特征在于,
数据交互***进一步用于:接收配置同步***发出的首次同步请求;其中,所述首次同步请求是所述应用程序首次启动时发出的,其中携带所述应用程序的标识;响应于所述首次同步请求,利用同步配置接口将从存储***获取的、应用程序当前的配置信息返回配置同步***;
配置同步***进一步用于:接收该配置信息之后,将该配置信息存储到本地缓存和本地文件。
10.根据权利要求6-9任一所述的***,其特征在于,数据交互***进一步用于:
接收配置同步***发送的配置信息推送请求;其中,所述配置信息推送请求中携带所述应用程序的标识和本地缓存中存储的所述应用程序自动变更的配置信息;从所述配置信息推送请求中获取所述自动变更的配置信息,将所述自动变更的配置信息存储到存储***;其中,存储***中包括缓存和数据库。
CN201811177274.2A 2018-10-10 2018-10-10 管理配置信息的方法和*** Pending CN111045745A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811177274.2A CN111045745A (zh) 2018-10-10 2018-10-10 管理配置信息的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811177274.2A CN111045745A (zh) 2018-10-10 2018-10-10 管理配置信息的方法和***

Publications (1)

Publication Number Publication Date
CN111045745A true CN111045745A (zh) 2020-04-21

Family

ID=70228917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811177274.2A Pending CN111045745A (zh) 2018-10-10 2018-10-10 管理配置信息的方法和***

Country Status (1)

Country Link
CN (1) CN111045745A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857800A (zh) * 2020-07-01 2020-10-30 北京达佳互联信息技术有限公司 组件动态配置方法、装置、电子设备及存储介质
CN111858524A (zh) * 2020-07-27 2020-10-30 北京百川盈孚科技有限公司 数据同步方法及装置
CN111881148A (zh) * 2020-06-18 2020-11-03 北京三快在线科技有限公司 对象组合的属性确定方法、装置、电子设备
CN112445864A (zh) * 2020-12-11 2021-03-05 北京北信源软件股份有限公司 组织人员信息同步方法、装置、电子设备及存储介质
CN112559025A (zh) * 2020-12-16 2021-03-26 中国人寿保险股份有限公司 配置信息更新同步方法及设备
CN112650545A (zh) * 2020-12-30 2021-04-13 邦邦汽车销售服务(北京)有限公司 一种配置管理***、方法及存储介质
CN112988329A (zh) * 2021-03-22 2021-06-18 北京思特奇信息技术股份有限公司 一种容器配置管理的方法和***
CN113656098A (zh) * 2021-08-13 2021-11-16 上海哔哩哔哩科技有限公司 配置获取方法及***
CN115134239A (zh) * 2022-08-31 2022-09-30 广州市千钧网络科技有限公司 一种客户端配置方法、***、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222969A1 (en) * 2004-04-06 2005-10-06 Microsoft Corporation Centralized configuration data management for distributed clients
CN107154922A (zh) * 2016-03-04 2017-09-12 北京京东尚科信息技术有限公司 配置管理***及配置管理方法
CN107947960A (zh) * 2017-10-13 2018-04-20 用友网络科技股份有限公司 配置信息的推送方法及***、配置信息的接收方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222969A1 (en) * 2004-04-06 2005-10-06 Microsoft Corporation Centralized configuration data management for distributed clients
CN107154922A (zh) * 2016-03-04 2017-09-12 北京京东尚科信息技术有限公司 配置管理***及配置管理方法
CN107947960A (zh) * 2017-10-13 2018-04-20 用友网络科技股份有限公司 配置信息的推送方法及***、配置信息的接收方法及***

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881148A (zh) * 2020-06-18 2020-11-03 北京三快在线科技有限公司 对象组合的属性确定方法、装置、电子设备
CN111857800A (zh) * 2020-07-01 2020-10-30 北京达佳互联信息技术有限公司 组件动态配置方法、装置、电子设备及存储介质
CN111858524A (zh) * 2020-07-27 2020-10-30 北京百川盈孚科技有限公司 数据同步方法及装置
CN112445864A (zh) * 2020-12-11 2021-03-05 北京北信源软件股份有限公司 组织人员信息同步方法、装置、电子设备及存储介质
CN112445864B (zh) * 2020-12-11 2024-03-26 北京北信源软件股份有限公司 组织人员信息同步方法、装置、电子设备及存储介质
CN112559025A (zh) * 2020-12-16 2021-03-26 中国人寿保险股份有限公司 配置信息更新同步方法及设备
CN112650545A (zh) * 2020-12-30 2021-04-13 邦邦汽车销售服务(北京)有限公司 一种配置管理***、方法及存储介质
CN112988329A (zh) * 2021-03-22 2021-06-18 北京思特奇信息技术股份有限公司 一种容器配置管理的方法和***
CN113656098A (zh) * 2021-08-13 2021-11-16 上海哔哩哔哩科技有限公司 配置获取方法及***
CN113656098B (zh) * 2021-08-13 2024-02-06 上海哔哩哔哩科技有限公司 配置获取方法及***
CN115134239A (zh) * 2022-08-31 2022-09-30 广州市千钧网络科技有限公司 一种客户端配置方法、***、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN111045745A (zh) 管理配置信息的方法和***
CN111800282B (zh) 网络***、实例管控方法、设备及存储介质
EP3490224B1 (en) Data synchronization method and system
CN111800285B (zh) 实例迁移方法和装置以及电子设备
CN110990047B (zh) 用于多个微服务架构的融合方法及装置
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN107404509B (zh) 分布式服务配置***及信息管理方法
CN113296903A (zh) 边缘云***、边缘管控方法、管控节点及存储介质
CN104935672A (zh) 负载均衡服务高可用实现方法和设备
CN105959078B (zh) 一种集群时间同步方法、集群及时间同步***
CN112910937B (zh) 容器集群中的对象调度方法、装置、服务器和容器集群
CN112015744A (zh) 配置数据访问方法、装置、设备、配置中心及存储介质
CN111459639A (zh) 一种支持全球多机房部署的分布式任务管理平台及方法
EP3457668B1 (en) Clustering in unified communication and collaboration services
CN114900449B (zh) 一种资源信息管理方法、***及装置
CN114130035A (zh) 一种用户匹配方法、装置、设备及存储介质
US9529680B2 (en) Virtual resource-based backup
CN112751693B (zh) 分布式存储***的数据处理方法、装置及电子设备
CN113765690A (zh) 集群切换方法、***、装置、终端、服务器及存储介质
CN109344202B (zh) 一种数据同步方法及管理节点
CN106534758B (zh) 会议备份方法和装置
CN104052799A (zh) 一种利用资源环实现高可用存储的方法
CN116319963A (zh) 服务的管理方法、***、终端设备及存储介质
CN114598711A (zh) 一种数据迁移方法、装置、设备及介质
CN115550424B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.