CN112256344A - 一种数据配置方法 - Google Patents
一种数据配置方法 Download PDFInfo
- Publication number
- CN112256344A CN112256344A CN202011055757.2A CN202011055757A CN112256344A CN 112256344 A CN112256344 A CN 112256344A CN 202011055757 A CN202011055757 A CN 202011055757A CN 112256344 A CN112256344 A CN 112256344A
- Authority
- CN
- China
- Prior art keywords
- data
- configuration
- center
- data center
- change
- 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 22
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000010586 diagram Methods 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
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/546—Message passing systems or structures, e.g. queues
-
- 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/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种数据配置方法,该方法包括:各数据中心的代理程序在启动时从配置中心获取本数据中心的所有配置数据,各数据中心存储本数据中心的所有配置数据;各数据中心的代理程序通过监听机制从配置中心获取本数据中心的变更配置数据,各数据中心更新本数据中心的变更配置数据;各数据中心的代理程序为应用程序提供所需配置数据。与现有技术相比,使配置数据传输稳定性、可靠性和速度得到提升。
Description
技术领域
本发明涉及数据配置架构领域,尤其是涉及一种数据配置方法。
背景技术
随着微服务的兴起,采用配置中心统一为应用程序提供外置的配置服务,已经成为了当前系统架构中很常见的方式,该方式本质是一种中心化的方式。根据策略或者任意选择一个数据中心作为配置中心,配置对应访问入口,其他数据中心使用统一的访问入口来访问配置中心。
此种架构方案中,会存在以下缺点:
1)应用程序每次获取配置时,存在跨数据中心调用的问题,容易因为网络质量问题而导致获取失败。
2)一般开发流程规范中,一个应用会在所有的数据中心都部署,所以对于现有的架构,所有数据中心的所有应用实例加起来的个数,为其客户端个数;在大型企业中,这个数量会是百万、千万以上规模;虽然配置中心本身采用了分布式架构,但还是会对配置中心自身造成极大的负载压力。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种数据配置方法。
本发明的目的可以通过以下技术方案来实现:
一种数据配置方法,该方法包括:
各数据中心的代理程序在启动时从配置中心获取本数据中心的所有配置数据,各数据中心存储本数据中心的所有配置数据;
各数据中心的代理程序通过监听机制从配置中心获取本数据中心的变更配置数据,各数据中心更新本数据中心的变更配置数据;
各数据中心的代理程序为应用程序提供所需配置数据。
所述的监听机制包括:
各数据中心的代理程序通过自身标识调用配置中心接口;
各数据中心的代理程序获取配置中心的变更消息队列队头作为变更配置数据。
各数据中心的代理程序获取配置中心的变更消息队列队头时,若取到消息,则将该消息作为变更配置数据,若未取到消息,则表示没有该数据中心的变更配置数据。
若未取到消息,各数据中心的代理程序判断调用配置中心接口是否超时,若超时,停止本次配置中心接口的调用,若未超时,继续获取配置中心的变更消息队列队头。
判断是否超时的时限为30s。
在各数据中心的代理程序的生命周期中,监听机制持续进行。
各数据中心的所有配置数据存储于各数据中心的代理程序的内存。
所述的数据中心为服务器,所述的配置中心为服务器。
与现有技术相比,本发明具有以下优点:
(1)应用程序不再是直接连接配置中心,而是连接到本环境中的代理程序,本环境的网络质量相对于跨数据中心的网络质量要好很多,应用程序不再需要跨数据中心获取配置数据,稳定性大大提升,同时提高了数据传输质量和速度。
(2)各数据中心只保留了本环境的最新版本的数据,这让数据量小到完全可以放到代理程序内存里,应用程序可以迅速获取配置数据。
(3)代理程序启动之后除了第一次全量同步本环境最新版本数据,后续的数据都是基于监听机制做增量同步,最小化了传输的数据量;假如跨数据中心之间的网络断开,影响的是不能同步最新的配置,但代理服务本身还是可用的,避免网络质量问题的影响,大大提升了稳定性。
附图说明
图1为本发明的架构图;
图2为本发明的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
本实施例提供一种数据配置方法,该方法包括:各数据中心的代理程序在启动时从配置中心获取本数据中心的所有配置数据,各数据中心存储本数据中心的所有配置数据;各数据中心的代理程序通过监听机制从配置中心获取本数据中心的变更配置数据,各数据中心更新本数据中心的变更配置数据;各数据中心的代理程序为应用程序提供所需配置数据。
监听机制包括:各数据中心的代理程序通过自身标识调用配置中心接口;各数据中心的代理程序获取配置中心的变更消息队列队头作为变更配置数据。
各数据中心的代理程序获取配置中心的变更消息队列队头时,若取到消息,则将该消息作为变更配置数据,若未取到消息,则表示没有该数据中心的变更配置数据。
若未取到消息,各数据中心的代理程序判断调用配置中心接口是否超时,若超时,停止本次配置中心接口的调用,若未超时,继续获取配置中心的变更消息队列队头。
判断是否超时的时限为30s;在各数据中心的代理程序的生命周期中,监听机制持续进行;各数据中心的所有配置数据存储于各数据中心的代理程序的内存;数据中心和配置中心均为服务器。
以下以数据中心A为例:
1)数据中心A的代理程序启动,从配置中心一次性获取数据中心A的所有配置数据(全量同步),所有配置数据存放于代理程序的内存中;
2)数据中心A的代理程序在运行过程中,通过监听机制从配置中心监听数据中心A的配置数据的变化(变更配置数据),并进行增量更新;
3)应用程序获取配置数据时,是从代理程序A获取,而不是配置中心。
监听机制表述为:
11)数据中心A的代理程序通过自身标识调用配置中心接口;
12)配置中心收到了请求,从变更消息队列的队头获取变更配置数据;
13)若消息队列的队头存在消息,说明有变更的配置,执行步骤14),否则说明这段时间没有变更的配置,执行步骤15);
14)代理程序接收配置中心的变更配置数据,代理程序将自己内存里的配置更新;
15)若未取到消息,代理程序判断调用配置中心接口是否超时,若超时,停止本次配置中心接口的调用,返回代理程序一个空的消息,若未超时,继续步骤12)。
在各数据中心的代理程序的生命周期中,监听机制持续进行。
本实施例的数据配置方法具有以下优点:
应用程序不再是直接连接配置中心,而是连接到本环境中的代理程序,本环境的网络质量相对于跨数据中心的网络质量要好很多,应用程序不再需要跨数据中心获取配置数据,稳定性大大提升,同时提高了数据传输质量和速度。
各数据中心只保留了本环境的最新版本的数据,这让数据量小到完全可以放到代理程序内存里,应用程序可以迅速获取配置数据。
代理程序启动之后除了第一次全量同步本环境最新版本数据,后续的数据都是基于监听机制做增量同步,最小化了传输的数据量;假如跨数据中心之间的网络断开,影响的是不能同步最新的配置,但代理服务本身还是可用的,避免网络质量问题的影响,大大提升了稳定性。
应用程序直接连接代理程序,性能很快,而且代理本身也是可以集群化部署。
Claims (8)
1.一种数据配置方法,其特征在于,该方法包括:
各数据中心的代理程序在启动时从配置中心获取本数据中心的所有配置数据,各数据中心存储本数据中心的所有配置数据;
各数据中心的代理程序通过监听机制从配置中心获取本数据中心的变更配置数据,各数据中心更新本数据中心的变更配置数据;
各数据中心的代理程序为应用程序提供所需配置数据。
2.根据权利要求1所述的一种数据配置方法,其特征在于,所述的监听机制包括:
各数据中心的代理程序通过自身标识调用配置中心接口;
各数据中心的代理程序获取配置中心的变更消息队列队头作为变更配置数据。
3.根据权利要求2所述的一种数据配置方法,其特征在于,各数据中心的代理程序获取配置中心的变更消息队列队头时,若取到消息,则将该消息作为变更配置数据,若未取到消息,则表示没有该数据中心的变更配置数据。
4.根据权利要求3所述的一种数据配置方法,其特征在于,若未取到消息,各数据中心的代理程序判断调用配置中心接口是否超时,若超时,停止本次配置中心接口的调用,若未超时,继续获取配置中心的变更消息队列队头。
5.根据权利要求4所述的一种数据配置方法,其特征在于,判断是否超时的时限为30s。
6.根据权利要求1所述的一种数据配置方法,其特征在于,在各数据中心的代理程序的生命周期中,监听机制持续进行。
7.根据权利要求1所述的一种数据配置方法,其特征在于,各数据中心的所有配置数据存储于各数据中心的代理程序的内存。
8.根据权利要求1所述的一种数据配置方法,其特征在于,所述的数据中心为服务器,所述的配置中心为服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011055757.2A CN112256344A (zh) | 2020-09-30 | 2020-09-30 | 一种数据配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011055757.2A CN112256344A (zh) | 2020-09-30 | 2020-09-30 | 一种数据配置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256344A true CN112256344A (zh) | 2021-01-22 |
Family
ID=74234749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011055757.2A Pending CN112256344A (zh) | 2020-09-30 | 2020-09-30 | 一种数据配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256344A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083400A1 (en) * | 2005-11-29 | 2009-03-26 | Nicolas Draca | Network Service Configuration Management |
CN108197139A (zh) * | 2017-11-22 | 2018-06-22 | 链家网(北京)科技有限公司 | 一种同步更新配置项的处理方法及终端 |
CN109343979A (zh) * | 2018-09-28 | 2019-02-15 | 珠海沙盒网络科技有限公司 | 一种配置管理方法及系统 |
CN110474983A (zh) * | 2019-08-15 | 2019-11-19 | 上海易点时空网络有限公司 | 基于代理服务的云配置方法及系统 |
-
2020
- 2020-09-30 CN CN202011055757.2A patent/CN112256344A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083400A1 (en) * | 2005-11-29 | 2009-03-26 | Nicolas Draca | Network Service Configuration Management |
CN108197139A (zh) * | 2017-11-22 | 2018-06-22 | 链家网(北京)科技有限公司 | 一种同步更新配置项的处理方法及终端 |
CN109343979A (zh) * | 2018-09-28 | 2019-02-15 | 珠海沙盒网络科技有限公司 | 一种配置管理方法及系统 |
CN110474983A (zh) * | 2019-08-15 | 2019-11-19 | 上海易点时空网络有限公司 | 基于代理服务的云配置方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016184175A1 (zh) | 数据库处理方法及装置 | |
CN106899772B (zh) | 一种呼叫服务的分布式均衡负载控制方法及呼叫系统 | |
EP3607715B1 (en) | NF SERVICE CONSUMER RESTART DETECTION USING DIRECT SIGNALING BETWEEN NFs | |
JP2010170567A (ja) | プッシュコンテンツの配信および処理を容易にする装置および関連方法 | |
CN111858045A (zh) | 一种多任务gpu资源调度方法、装置、设备及可读介质 | |
US7366505B2 (en) | Apparatus and method for delivering messages to a mobile information terminal | |
CN110881055A (zh) | 基于Redis的微服务处理方法和设备 | |
CN115499447A (zh) | 一种集群主节点确认方法、装置、电子设备及存储介质 | |
CN108111630B (zh) | 一种Zookeeper集群系统及其连接方法和系统 | |
CN112256344A (zh) | 一种数据配置方法 | |
CN115190052B (zh) | 一种长连接的管理方法、系统和控制单元 | |
US8359354B1 (en) | Methods for providing a status to devices in a distributed system | |
CN115065686B (zh) | 分布式负载均衡系统的配置方法、装置及系统 | |
CN116743844A (zh) | 分布式系统的服务调用装置及方法 | |
CN112417349B (zh) | 一种编程装置、网络状态监控方法 | |
CN113472566A (zh) | 一种联盟区块链的状态监控方法及主节点状态监控系统 | |
CN114172792A (zh) | 一种保证服务高可用的序号生成方法的实现方法及装置 | |
CN109460251B (zh) | 构件集成框架管理方法和装置 | |
CN113094074A (zh) | 一种服务集群的更新方法及装置 | |
CN105827567B (zh) | 服务管控方法及能力开放平台 | |
CN113010330A (zh) | 一种微服务请求重试的方法及终端 | |
CN111083182B (zh) | 分布式物联网设备管理方法及装置 | |
CN116361016B (zh) | 一种网络控制器消息处理方法、系统 | |
CN113904953B (zh) | 通信设备的离线检测方法、装置和设备 | |
CN113992516B (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 |