CN106681861A - 一种新环境隔离的配置数据管理方法及系统 - Google Patents

一种新环境隔离的配置数据管理方法及系统 Download PDF

Info

Publication number
CN106681861A
CN106681861A CN201611124275.1A CN201611124275A CN106681861A CN 106681861 A CN106681861 A CN 106681861A CN 201611124275 A CN201611124275 A CN 201611124275A CN 106681861 A CN106681861 A CN 106681861A
Authority
CN
China
Prior art keywords
configuration
server
data
environment
operation system
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
CN201611124275.1A
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.)
Hangzhou Pin Guan Network Technology Co Ltd
Original Assignee
Hangzhou Pin Guan Network Technology 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 Hangzhou Pin Guan Network Technology Co Ltd filed Critical Hangzhou Pin Guan Network Technology Co Ltd
Priority to CN201611124275.1A priority Critical patent/CN106681861A/zh
Publication of CN106681861A publication Critical patent/CN106681861A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Abstract

本发明公开了一种新环境隔离的配置数据管理方法及系统,方法包括:在配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据。本发明的方法基于Http协议进行系统交互,并利用MYSQL数据库对配置内容进行存储,在分布式集群形成多节点部署。此外,本发明具有配置数据及时感知、环境隔离以及强大的容灾策略。

Description

一种新环境隔离的配置数据管理方法及系统
技术领域
本发明涉及配置数据领域,特别涉及一种新环境隔离的配置数据管理方法及系统。
背景技术
配置中心是一个针对不同环境的管理持久配置的系统,为应用系统提供了获取配置的服务,应用系统不仅可以在启动时从配置中心上获取相关的配置,而且可以在运行中对配置数据的变化进行感知并获取变化后的配置数据。
配置数据在大多数系统中有以下几种解决方案:
1)将配置信息存储在本地磁盘文件,配置项变更时修改本地文件,这种方式有以下几种缺点:
首先,不便于运维管理,应用系统的复杂度日益增加,配置分散,如果再加上集群节点数量多的话,配置变更得相当麻烦,逐台机器登录上去改,增加停机维护时间成本,而且还容易出错。
其次,不利于发布,针对每种环境需要打不同的部署包。
另外,安全性问题,导致线上账户等隐秘信息处于公开状态。
2)是基于zookeeper实现的配置中心,ZooKeeper是一个Paxos算法实现,也是Hadoop下的一个子项目,被认为是Google Chubby的开源版,主要用来在分布式环境下提供分布式锁、配置管理、名字服务、群组服务。它具有很高的可用性、稳定性、可靠性。但主要缺点是只能在java系统中使用,无法在其它系统(如.net等)中使用。
发明内容
本发明要解决的技术问题是,如何提供一配置中心,然后基于Http协议进行系统交互,利用MYSQL数据库对配置内容进行存储,并在分布式集群多节点部署的配置数据管理方法。
解决上述技术问题,本发明提供了一种新环境隔离的配置数据管理方法,包括:部署配置中心后台、配置中心服务器、业务系统以及数据库,还包括步骤如下:
在配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;
调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;
在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据;
上述服务器的节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。
更进一步,所述业务系统中的服务器还用以,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。
更进一步,所述数据库包括多个数据库集群节点,若所述数据库集群节点全部宕机时,则所述配置中心服务器直接从内存中提取所述配置项内容给业务系统中的服务器;
所述配置中心后台包括多个后台集群节点,若所述配置中心后台的一部分机器宕机时,则所述业务系统中的服务器正常获取配置项内容;若所述配置中心后台的机器全部宕机,且所述业务系统中的服务器的节点全部不可用时,则所述业务系统中的服务器从本地磁盘上的最近一次配置信息的快照文件中读取配置项内容。
更进一步,所述配置项内容可采用spring的bean注入特性,将获取到的所述配置内容注入已经注解了的属性。
更进一步,方法还包括根据获得的配置项内容,采用WEBSOCKET定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据采用方式感知配置项内容发生变化。
基于上述本申请还提供了一种新环境隔离的配置数据管理系统,包括:集群化的配置中心后台、集群化的配置中心服务器、集群化的业务系统以及集群化的数据库,
配置管理员在所述配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;
调用所述配置中心服务器中上节点的远程接口,将所述初始配置数据持久化至所述数据库;以及在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的集群服务器的任一节点,并通知除该节点以外的节点,同时在所述数据库中同步得到最新配置数据;
上述集群服务器的任一节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。
更进一步,所述集群化的配置中心后台还被配置为:在测试环境、开发环境、集成测试环境、线上环境、DEMO环境中进行环境和/或业务系统的配置。
更进一步,所述业务系统中的服务器还被配置为,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。
更进一步,集群化的配置中心服务器还被配置为:根据获得的配置项内容,采用WEBSOCKET定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据采用方式感知配置项内容发生变化。
更进一步,所述配置中心被配置为具备容灾处理机制:通过在本地缓存一份配置数据到内存,防止所述集群化的数据库宕机;集群化的业务系统上的服务器根据储存至本地磁盘文件的配置快照,防止业务系统上的服务器的全部宕机
本发明的有益效果:
1)本发明提供了新环境隔离的配置数据管理方法,由于在配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据;上述服务器的节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。本发明的方法基于Http协议进行系统交互,并利用MYSQL数据库对配置内容进行存储,在分布式集群形成多节点部署。
2)更进一步,由于所述业务系统中的服务器还用以,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。通过上述可以实现环境隔离,同时根据当前服务器所属环境,在配置中心服务器上获取指定环境的配置数据,运维人员不需要再为不同环境打不同的部署包,简化部署工作。
2)部署配置中心后台被配置为配置信息集中管理,所有环境、业务系统的配置管理,均使用同一套管理后台集中配置,不再需要登录到不同系统中去维护配置数据。
3)本发明中配置内容变更及时感知,业务系统中的服务器可以自动感知配置数据发生变化,降低运维成本,配置变更后,所有服务器节点迅速生效,不再需要运维人员去逐台停机处理。
4)另外,本发明还具备了强大的容灾策略,在配置中心服务器、业务系统的服务器上都有容灾处理,配置中心服务器会在本地缓存一份配置数据到内存,防止数据库宕机带来的影响;业务系统的服务器会写一份配置快照到本地磁盘文件,防止服务器全部宕机带来的影响。
5)本发明的管理系统,简单易用,无耦合,很容易集成到到业务系统中。
附图说明
图1是本发明的方法流程示意图;
图2是本发明的系统结构示意图;
图3是图2中的拓扑结构示意图。
具体实施方式
现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
可以理解,在本申请的所述数据持久化是指将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。数据模型包括但不限于任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。保存:把域对象永久保存到数据库。
上述数据持久化,包括但不限于:更新:更新数据库中域对象的状态。删除:从数据库中删除一个域对象。加载:根据特定的OID,把一个域对象从数据库加载到内存。查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。
在本申请中,配置中心服务器、业务系统基于服务器集群架构。服务器集群架构是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。从群集中的其它节点和群集服务管理接口的角度看,当形成群集时,群集中的每个节点可能处于三种不同状态中的一种。事件处理器会记录这些状态,而事件日志管理器会将这些状态复制到群集的其它节点。
群集服务状态包括:脱机。此时的节点不是完全有效的群集成员。该节点及其群集服务器可能在运行,也可能未运行。联机。此时的节点是完全有效的群集成员。它遵从群集数据库的更新、对仲裁算法施加自己的影响、维护心跳通讯,并可以拥有和运行资源组。暂停。它只能支持它当前已拥有的那些资源组。之所以提供暂停状态,是为了允许执行某些维护。大多数服务器群集组件会将联机和暂停视为等价的状态。
可以理解,在本申请中获取订阅的配置项内容可以按照如下的方式进行配置:
(1)软件准备条件:作为发布服务器的第一机器端,比如:SqlServer2005Management Studio+Win Server 2003Enterprise;作为订阅服务器的第二机器端,比如:Sqlserver2005Management Studio Express+Win XP()
(2)数据库复制准备条件:所有被同步的数据表尽量采用主键,在SQL Server提示为表自动生成主键,发布服务器、分发服务器和订阅服务器采用使用计算机名称来进行SQLSERVER服务器的注册。
(3)SQLSERVER需要以本地计算机的帐号运行启动代理服务。
(4)如果非同一网段或者远程服务器,或者只能用IP,不能用计算机名的,为对方注册服务器别名,将其对应关系加到本地系统网络配置文件中
本申请中采用WEBSOCKET,建立服务端与客户端的连接,WEBSOCKET是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。在WEBSOCKET API,客户端中的浏览器和服务器只需要做一个握手的动作,然后,客户端中的浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
图1是本发明的方法流程示意图,一种新环境隔离的配置数据管理方法,包括:部署配置中心后台、配置中心服务器、业务系统以及数据库,还包括步骤为:步骤S100在配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;具体地在配置中心后台,数据配置人员在配置中心后台的管理系统中,通过管理页面录入或者变更业务系统所使用的配置数据,即为初始配置数据。
在一些实施例中,管理页面基于WEB客户端。
在一些实施例中,录入包括但不限于:数据批量导入、数据单独输入、数据的结构化处理、数据的归一化处理等。
在一些实施例中,变更数据包括但不限于:将配置信息存储在本地磁盘文件,配置项变更时修改本地文件。
作为本实施例中的优选,所述业务系统中的服务器还用以,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。具体地,所述业务系统中的服务器的环境区分是通过在当前服务器上设置一个系统环境变量ENV_CODE,来标识当前应用所属的服务器环境,比如开发环境、测试环境、生产环境。在业务系统中的客户端根据当前服务器所属环境,去配置中心服务端获取指定环境的配置数据,从而运维人员不需要再为不同环境打不同的部署包,极大地简化部署工作。
步骤S101调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;将上述初始配置数据持久化至所述数据库可以减少访问数据库数据次数,增加应用程序执行速度;同时代码重用性高,能够完成大部分数据库操作。另外,松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。步骤S102在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据;步骤S103上述服务器的节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;步骤S104根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,作为本实施例中的优选所述配置项内容可采用spring的bean注入特性,将获取到的所述配置内容注入已经注解了的属性。步骤S105若是,则获取得到上述最新配置数据。在spring中一些注解用于简化Spring的开发,比如@Repository可用于将数据访问层的类标识为SpringBean。具体只需将该注解标注在DAO类上即可。同时,为了让Spring能够扫描类路径中的类并识别出@Repository注解,需要在XML配置文件中启用Bean的自动扫描功能,这可以通过<context:component-scan/>实现。该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为Spring的数据访问异常类型。Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。
作为本实施例中的优选,所述数据库包括多个数据库集群节点,若所述数据库集群节点全部宕机时,则所述配置中心服务器直接从内存中提取所述配置项内容给业务系统中的服务器;所述配置中心后台包括多个后台集群节点,若所述配置中心后台的一部分机器宕机时,则所述业务系统中的服务器正常获取配置项内容;若所述配置中心后台的机器全部宕机,且所述业务系统中的服务器的节点全部不可用时,则所述业务系统中的服务器从本地磁盘上的最近一次配置信息的快照文件中读取配置项内容。上述数据库采用集群系统可解决所有的服务器硬件故障,当某一台服务器出现任何故障,如:硬盘、内存、CPU、主板、I/O板以及电源故障,运行在这台服务器上的应用就会切换到其它的服务器上。更进一步,集群系统可解决软件系统问题,在计算机系统中,用户所使用的是应用程序和数据,而应用系统运行在操作系统之上,操作系统又运行在服务器上。只要应用系统、操作系统、服务器三者中的任何一个出现故障,系统实际上就停止了向客户端提供服务,而集群的最大优势在于对故障服务器的监控是基于应用的,也就是说,只要服务器的应用停止运行,其它的相关服务器就会接管这个应用,而不必理会应用停止运行的原因是什么。此外,数据库采用集群系统可以解决人为失误造成的应用系统停止工作的情况,例如,当系统管理员对某台服务器操作不当导致该服务器停机,因此运行在这台服务器上的应用系统也就停止了运行。由于集群是对应用进行监控,因此其它的相关服务器就会接管这个应用。
作为本实施例中的优选,方法还包括根据获得的配置项内容,采用WEBSOCKET定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据采用方式感知配置项内容发生变化。在此WebSocket协议中,互相沟通的Header是很小,节约系统资源;另外集群服务器中的推送,服务器不再被动的接收到浏览器的request之后才返回数据,而是在有新数据时就主动推送给客户端的浏览器。
图2是本发明的系统结构示意图;一种新环境隔离的配置数据管理系统,包括:集群化的配置中心后台1、集群化的配置中心服务器2、集群化的业务系统4以及集群化的数据库3,配置管理员在所述配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;调用所述配置中心服务器中上节点的远程接口,将所述初始配置数据持久化至所述数据库;以及在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的集群服务器的任一节点,并通知除该节点以外的节点,同时在所述数据库中同步得到最新配置数据;上述集群服务器的任一节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。
上述集群化的业务系统4以及集群化的数据库3采用集群化的服务器,服务器集群架构是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。从群集中的其它节点和群集服务管理接口的角度看,当形成群集时,群集中的每个节点可能处于三种不同状态中的一种。事件处理器会记录这些状态,而事件日志管理器会将这些状态复制到群集的其它节点。
作为本实施例中的优选,上述所述集群化的配置中心后台1还被配置为:在测试环境、开发环境、集成测试环境、线上环境、DEMO环境中进行环境和/或业务系统的配置。
作为本实施例中的优选,所述业务系统中的服务器还被配置为,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。服务器环境区分是通过在当前服务器上设置一个系统环境变量ENV_CODE,来标识当前应用所属的服务器环境,如开发环境、测试环境、生产环境。客户端根据当前服务器所属环境,去配置中心服务端获取指定环境的配置数据,运维人员不需要再为不同环境打不同的部署包,简化部署工作。
作为本实施例中的优选,集群化的配置中心服务器还被配置为:根据获得的配置项内容,采用WEBSOCKET定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据采用方式感知配置项内容发生变化。
作为本实施例中的优选,所述配置中心被配置为具备容灾处理机制:通过在本地缓存一份配置数据到内存,防止所述集群化的数据库宕机;集群化的业务系统上的服务器根据储存至本地磁盘文件的配置快照,防止业务系统上的服务器的全部宕机。系统具备强大的容灾策略,集群化的配置中心后台在服务端和客户端都有容灾处理,会服务端会在本地缓存一份配置数据到内存,防止数据库宕机带来的影响;客户端会写一份配置快照到本地磁盘文件,防止服务端全部宕机带来的影响。如果数据库集群节点全部宕机时,配置中心服务端会直接从内存中取配置信息给客户端,所以也不会影响客户端的数据获取。果配置中心服务端某几台机器宕机,这时由于配置中心服务端为集群环境,所以也不会影响到客户端的配置获取。如果配置中心服务端节点全部宕机,这时客户端容灾会派上用场,客户端在服务端节点全部不可用时,会从本地磁盘上的最近一次配置快照文件中读取作配置内容,所以不会影响客户端应用启动。
图3是图2中的拓扑结构示意图,集群化的配置中心后台(即管理后台集群)、集群化的配置中心服务器(即配置中心服务集群)、集群化的业务系统(即各个业务系统)以及集群化的数据库(即数据库集群),还包括步骤如下:
配置管理员在配置中心后台进行维护配置,维护配置包括但不限于:录入和/或变更所述业务系统所使用的初始配置数据;在集群化的配置中心服务器中包括多个配置服务节点服务器,节点服务器之间相互进行数据同步通知。所述集群化的配置中心后台与集群化的配置中心服务器连接,进行远程方法调用:通过调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据;上述服务器的节点在所述业务系统初次启动(基于HTTP协议的首次握手)时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。所述集群化的数据库至少包括一主库以及一备库。具体地,所述数据库包括多个数据库集群节点,若所述数据库集群节点全部宕机时,则所述配置中心服务器直接从内存中提取所述配置项内容给业务系统中的服务器;所述配置中心后台包括多个后台集群节点,若所述配置中心后台的一部分机器宕机时,则所述业务系统中的服务器正常获取配置项内容;若所述配置中心后台的机器全部宕机,且所述业务系统中的服务器的节点全部不可用时,则所述业务系统中的服务器从本地磁盘上的最近一次配置信息的快照文件中读取配置项内容。
由于在配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据;上述服务器的节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。本发明的方法基于Http协议进行系统交互,并利用MYSQL数据库对配置内容进行存储,在分布式集群形成多节点部署。
虽然本公开以具体结构特征和/或方法动作来描述,但是可以理解在所附权利要求书中限定的本公开并不必然限于上述具体特征或动作。而是,上述具体特征和动作仅公开为实施权利要求的示例形式。

Claims (10)

1.一种新环境隔离的配置数据管理方法,其特征在于,包括:部署配置中心后台、配置中心服务器、业务系统以及数据库,还包括步骤如下:
在配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;
调用所述配置中心服务器的远程接口,将所述初始配置数据持久化至所述数据库;
在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的服务器的节点,并通知除该服务器的节点以外的节点,同时在所述数据库中同步得到最新配置数据;
上述服务器的节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。
2.根据权利要求1所述的配置数据管理方法,其特征在于,所述业务系统中的服务器还用以,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。
3.根据权利要求1所述的配置数据管理方法,其特征在于,所述数据库包括多个数据库集群节点,若所述数据库集群节点全部宕机时,则所述配置中心服务器直接从内存中提取所述配置项内容给业务系统中的服务器;
所述配置中心后台包括多个后台集群节点,若所述配置中心后台的一部分机器宕机时,则所述业务系统中的服务器正常获取配置项内容;若所述配置中心后台的机器全部宕机,且所述业务系统中的服务器的节点全部不可用时,则所述业务系统中的服务器从本地磁盘上的最近一次配置信息的快照文件中读取配置项内容。
4.根据权利要求1所述的配置数据管理方法,其特征在于,所述配置项内容可采用spring的bean注入特性,将获取到的所述配置内容注入已经注解了的属性。
5.根据权利要求1所述的配置数据管理方法,其特征在于,还包括根据获得的配置项内容,采用WEBSOCKET定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据采用方式感知配置项内容发生变化。
6.一种新环境隔离的配置数据管理系统,其特征在于,包括:集群化的配置中心后台、集群化的配置中心服务器、集群化的业务系统以及集群化的数据库,
配置管理员在所述配置中心后台,录入和/或变更所述业务系统所使用的初始配置数据;
调用所述配置中心服务器中上节点的远程接口,将所述初始配置数据持久化至所述数据库;以及在上述数据持久化完成后,所述配置中心后台请求并接收在所述业务系统中的集群服务器的任一节点,并通知除该节点以外的节点,同时在所述数据库中同步得到最新配置数据;
上述集群服务器的任一节点在所述业务系统初次启动时,调用所述配置中心服务器中的http接口,获取订阅的配置项内容;根据获得的配置项内容,采用长轮询的方式定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据。
7.根据权利要求6所述的配置数据管理系统,其特征在于,所述集群化的配置中心后台还被配置为:在测试环境、开发环境、集成测试环境、线上环境、DEMO环境中进行环境和/或业务系统的配置。
8.根据权利要求6所述的配置数据管理系统,其特征在于,所述业务系统中的服务器还被配置为,在当前服务器上设置一个系统环境变量ENV_CODE,进行服务器环境区分;并根据当前系统环境变量所属的环境,使得所述配置中心服务器获取指定环境的配置数据。
9.根据权利要求6所述的配置数据管理系统,其特征在于,集群化的配置中心服务器还被配置为:根据获得的配置项内容,采用WEBSOCKET定期向所述配置中心服务器发请求,检测订阅的配置项内容是否有变化,若是,则获取得到上述最新配置数据采用方式感知配置项内容发生变化。
10.根据权利要求6所述的配置数据管理系统,其特征在于,所述配置中心被配置为具备容灾处理机制:通过在本地缓存一份配置数据到内存,防止所述集群化的数据库宕机;集群化的业务系统上的服务器根据储存至本地磁盘文件的配置快照,防止业务系统上的服务器的全部宕机。
CN201611124275.1A 2016-12-08 2016-12-08 一种新环境隔离的配置数据管理方法及系统 Pending CN106681861A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611124275.1A CN106681861A (zh) 2016-12-08 2016-12-08 一种新环境隔离的配置数据管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611124275.1A CN106681861A (zh) 2016-12-08 2016-12-08 一种新环境隔离的配置数据管理方法及系统

Publications (1)

Publication Number Publication Date
CN106681861A true CN106681861A (zh) 2017-05-17

Family

ID=58868454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611124275.1A Pending CN106681861A (zh) 2016-12-08 2016-12-08 一种新环境隔离的配置数据管理方法及系统

Country Status (1)

Country Link
CN (1) CN106681861A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632899A (zh) * 2017-08-08 2018-01-26 山东中创软件商用中间件股份有限公司 一种应用服务器的快照服务方法及装置
CN108491732A (zh) * 2018-03-13 2018-09-04 山东超越数控电子股份有限公司 一种基于业务隔离存储的海量存储数据保护系统及方法
CN109245908A (zh) * 2017-07-10 2019-01-18 北京京东尚科信息技术有限公司 一种主从集群切换的方法和装置
CN109936618A (zh) * 2017-12-19 2019-06-25 阿瓦亚公司 用于集群应用负载均衡的长轮询
CN111435919A (zh) * 2019-01-15 2020-07-21 菜鸟智能物流控股有限公司 一种配置参数的管理方法、装置及系统
CN111930758A (zh) * 2020-07-14 2020-11-13 广西东信互联科技有限公司 一种基于Paxos算法的微服务配置数据实时更新方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488677A (zh) * 2013-07-22 2014-01-01 广州唯品会信息科技有限公司 项目配置方法和装置
CN104202383A (zh) * 2014-08-26 2014-12-10 浪潮软件股份有限公司 一种分布式集群环境下集中配置分发管理的方法
CN104965726A (zh) * 2015-03-10 2015-10-07 腾讯科技(深圳)有限公司 配置更新方法、装置及系统
CN105204916A (zh) * 2015-10-30 2015-12-30 北京奇虎科技有限公司 基于环境变量的项目进程运行方法及装置
CN105790997A (zh) * 2014-12-26 2016-07-20 北大医疗信息技术有限公司 配置数据更新方法及系统、客户端和服务器
CN106020877A (zh) * 2016-05-16 2016-10-12 乐视控股(北京)有限公司 系统环境配置自动更新方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488677A (zh) * 2013-07-22 2014-01-01 广州唯品会信息科技有限公司 项目配置方法和装置
CN104202383A (zh) * 2014-08-26 2014-12-10 浪潮软件股份有限公司 一种分布式集群环境下集中配置分发管理的方法
CN105790997A (zh) * 2014-12-26 2016-07-20 北大医疗信息技术有限公司 配置数据更新方法及系统、客户端和服务器
CN104965726A (zh) * 2015-03-10 2015-10-07 腾讯科技(深圳)有限公司 配置更新方法、装置及系统
CN105204916A (zh) * 2015-10-30 2015-12-30 北京奇虎科技有限公司 基于环境变量的项目进程运行方法及装置
CN106020877A (zh) * 2016-05-16 2016-10-12 乐视控股(北京)有限公司 系统环境配置自动更新方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109245908A (zh) * 2017-07-10 2019-01-18 北京京东尚科信息技术有限公司 一种主从集群切换的方法和装置
CN109245908B (zh) * 2017-07-10 2022-04-26 北京京东尚科信息技术有限公司 一种主从集群切换的方法和装置
CN107632899A (zh) * 2017-08-08 2018-01-26 山东中创软件商用中间件股份有限公司 一种应用服务器的快照服务方法及装置
CN109936618A (zh) * 2017-12-19 2019-06-25 阿瓦亚公司 用于集群应用负载均衡的长轮询
CN109936618B (zh) * 2017-12-19 2022-05-24 阿瓦亚公司 用于集群应用负载均衡的长轮询方法和系统
CN108491732A (zh) * 2018-03-13 2018-09-04 山东超越数控电子股份有限公司 一种基于业务隔离存储的海量存储数据保护系统及方法
CN111435919A (zh) * 2019-01-15 2020-07-21 菜鸟智能物流控股有限公司 一种配置参数的管理方法、装置及系统
CN111930758A (zh) * 2020-07-14 2020-11-13 广西东信互联科技有限公司 一种基于Paxos算法的微服务配置数据实时更新方法

Similar Documents

Publication Publication Date Title
CN106681861A (zh) 一种新环境隔离的配置数据管理方法及系统
CN102640108B (zh) 已复制数据的监控
JP4307673B2 (ja) マルチクラスタ化コンピュータ・システムを構成及び管理する方法及び装置
CA2604312C (en) Apparatus and method for managing a network of intelligent devices
CA2284376C (en) Method and apparatus for managing clustered computer systems
CN102656565B (zh) 已复制数据的故障切换和恢复的方法和系统
US7844851B2 (en) System and method for protecting against failure through geo-redundancy in a SIP server
CN107947960A (zh) 配置信息的推送方法及系统、配置信息的接收方法及系统
US7937716B2 (en) Managing collections of appliances
CN109995586A (zh) 基于微服务架构下的统一配置与动态配置参数刷新模型
WO2016184175A1 (zh) 数据库处理方法及装置
CN107343034A (zh) 基于QConf的Redis高可用系统及方法
US20080270596A1 (en) System and method for validating directory replication
US8078737B2 (en) System and method for efficient storage of long-lived session state in a SIP server
CN103488526A (zh) 在分布式系统中锁定业务资源的系统和方法
CN103973725A (zh) 一种分布式协同方法和协同器
CN112667362A (zh) Kubernetes上部署Kubernetes虚拟机集群的方法与系统
EP2817726A1 (en) Systems and methods involving virtual machine host isolation over a network
CN111522665A (zh) 一种基于zookeeper实现Influxdb-proxy的高可用及负载均衡方法
CN114448983A (zh) 基于ZooKeeper的分布式数据交换方法
CN101751292B (zh) Atc系统中一种实现多机关键数据一致性功能的方法
CN110022257A (zh) 分布式消息系统
CN116723077A (zh) 一种分布式it自动化运维系统
CN115396302B (zh) 一种多节点高可用的配置分发系统及其工作方法
Dimitrov et al. Low-cost Open Data As-a-Service in the Cloud.

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

Address after: Room 2328, room 8, Taihe square, Shangcheng District, Hangzhou, Zhejiang Province, Zhejiang

Applicant after: Pin Guan Network Technology Co., Ltd.

Address before: Room 2328, room 8, Taihe square, Shangcheng District, Hangzhou, Zhejiang Province, Zhejiang

Applicant before: Hangzhou pin Guan Network Technology Co., Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20170517

RJ01 Rejection of invention patent application after publication