配置文件管理方法及系统技术方案

技术编号:15286911 阅读:118 留言:0更新日期:2017-05-10 00:34
本发明专利技术实施例公开一种配置文件管理方法及系统,其中所述方法包括:建立所述zookeeper集群中的节点与客户端之间的通信连接;解析生成的配置文件更新指令,以确定所述zookeeper集群中的对应于所述配置文件更新指令的节点为目标节点;将新的配置文件存储至所述目标节点,并将所述新的配置文件备份至配置文件数据库;当所述目标节点所存储的配置文件发生变化后,更新与所述目标节点相连接的客户端的配置文件;当接收到与所述目标节点相连接的客户端反馈的故障信息后,从所述配置文件数据库中获取对应于所述目标节点的历史配置文件版本以更新所述目标节点,并更新所述配置文件数据库。本发明专利技术实施例实现了对分布式系统下的配置文件的同步与版本管理。

Configuration file management method and system

The embodiment of the invention discloses a system and a configuration file management method, wherein said method comprises: establish a connection between the nodes in the zookeeper cluster and client; analytic generated configuration file update instructions, to determine the corresponding node in the zookeeper cluster in the configuration file update instructions for the target node the new configuration file; and stored to the target node, and the configuration file backup configuration file to the database of the new changes; when the target node stored in the configuration file after the update is connected with the target node of the client configuration file; when receiving the fault information is connected with the target node client feedback, obtain the corresponding to the target node's history to update the version of the configuration file from the configuration file in the database And update the profile database. The embodiment of the invention realizes the synchronization and version management of the configuration file in the distributed system.

【技术实现步骤摘要】

本专利技术实施例涉及通信
,尤其涉及一种配置文件管理方法及系统。
技术介绍
互联网行业随着硬件成本的下降及用户量的急剧增长,后端所涉及到的服务器数据也明显增长。为了便于管理和维护,大部分程序都会有配置文件,而服务器的增加导致了管理配置文件不再是件容易的事情。之所以把一些数据当成是配置数据,第一个目的是要用一种方式来记录这些数据,因为系统在运行过程中,要用到这些数据。例如,要配置数据库的登录名和密码,如果没有登录名和密码,就无法登录一个数据库。第二个目的,就是因为这些数据需要根据应用场景动态调整具体的数值,例如,http协议中默认使用80端口,但是有的时候80这个端口会被防火墙关闭了,这时候需要能把端口改成别的,例如8080。第三个目的,就是为了更好地管理系统,把这些经常变化或者需要满足定制化的参数统一放到一个文件里或者都放到数据库里,而不是让这些参数散落在源代码的各个位置。这样管理起来就比较方便了,不需要进入到源代码里去改这些参数。例如,Nginx就把配置文件做的非常好,Nginx基本上把所有重要可变化的参数都统一放在了Nginx.conf这个配置文件里,因此只需要修改配置文件,就可以使用Nginx来完成很多功能。但是,专利技术人在实现本专利技术实施例的过程中发现,在服务器有限的情况下,人为管理配置文件是普遍现象。良好的备份习惯也可以保证出错时能及时回滚到正确的版本。随着服务器数量的增加,用这种方式管理100台,甚至1000,10000台服务器是不可能做到的。于是出现了一些管理软件可以用来同步配置文件,在一定程度上使问题得到缓解。但是这些软件不是分布式的,本身不具备高可用性,效率低下的同时也缺乏完善的版本管理机制。
技术实现思路
本专利技术实施例提供一种配置文件管理方法及系统,用于至少实现对分布式系统下的配置文件的同步与版本管理。第一方面,本专利技术实施例提供一种配置文件管理方法,所述方法应用于一种包括了zookeeper集群的配置文件管理系统,所述方法包括:建立所述zookeeper集群中的节点与客户端之间的通信连接;解析生成的配置文件更新指令,以确定所述zookeeper集群中的对应于所述配置文件更新指令的节点为目标节点;将新的配置文件存储至所述目标节点,并将所述新的配置文件备份至配置文件数据库;当所述目标节点所存储的配置文件发生变化后,更新与所述目标节点相连接的客户端的配置文件;当接收到与所述目标节点相连接的客户端反馈的故障信息后,从所述配置文件数据库中获取对应于所述目标节点的历史配置文件版本以更新所述目标节点,并更新所述配置文件数据库。第一方面,本专利技术实施例提供一种配置文件管理系统,包括:连接建立模块,用于建立所述zookeeper集群中的节点与客户端之间的通信连接;指令解析模块,用于解析生成的配置文件更新指令,以确定所述zookeeper集群中的对应于所述配置文件更新指令的节点为目标节点;配置文件存储模块,用于将新的配置文件存储至所述目标节点,并将所述新的配置文件备份至配置文件数据库;第一配置文件更新模块,用于当所述目标节点所存储的配置文件发生变化后,更新与所述目标节点相连接的客户端的配置文件;第二配置文件更新模块,用于当接收到与所述目标节点相连接的客户端反馈的故障信息后,从所述配置文件数据库中获取对应于所述目标节点的历史配置文件版本以更新所述目标节点,并更新所述配置文件数据库。第三方面,本专利技术实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本专利技术实施例上述任一项配置文件管理方法。第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术实施例上述任一项配置文件管理方法。第五方面,本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项配置文件管理方法。本专利技术实施例通过zookeeper集群实现了对分布式系统下的配置文件的同步与版本管理。本专利技术实施例中采用zookeeper集群中的节点存储最新的配置文件,采用独立的配置文件数据库存储配置文件的历史版本。这样即保证了分布式系统下配置文件更新的实时性,又保证了配置文件管理系统的稳定运行(因为每一个节点的存储空间一般小于1MB,如果将最新配置文件以及历史配置文件都存储在节点处将导致zookeeper集群的崩溃)。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的配置文件管理方法一实施例的流程图;图2为图1中步骤S14的一实施方式的流程图;图3为本专利技术的配置文件管理系统一实施例的结构框图;图4为本专利技术的配置文件管理系统中的第一配置文件更新模块一实施例的结构框图;图5为本专利技术的电子设备的一实施例的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术实施例保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本专利技术实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。在本专利技术实施例中,“模块”、“装置”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操本文档来自技高网
...

【技术保护点】
一种配置文件管理方法,所述方法应用于一种包括了zookeeper集群的配置文件管理系统,所述方法包括:建立所述zookeeper集群中的节点与客户端之间的通信连接;解析生成的配置文件更新指令,以确定所述zookeeper集群中的对应于所述配置文件更新指令的节点为目标节点;将新的配置文件存储至所述目标节点,并将所述新的配置文件备份至配置文件数据库;当所述目标节点所存储的配置文件发生变化后,更新与所述目标节点相连接的客户端的配置文件;当接收到与所述目标节点相连接的客户端反馈的故障信息后,从所述配置文件数据库中获取对应于所述目标节点的历史配置文件版本以更新所述目标节点,并更新所述配置文件数据库。

【技术特征摘要】
1.一种配置文件管理方法,所述方法应用于一种包括了zookeeper集群的配置文件管理系统,所述方法包括:建立所述zookeeper集群中的节点与客户端之间的通信连接;解析生成的配置文件更新指令,以确定所述zookeeper集群中的对应于所述配置文件更新指令的节点为目标节点;将新的配置文件存储至所述目标节点,并将所述新的配置文件备份至配置文件数据库;当所述目标节点所存储的配置文件发生变化后,更新与所述目标节点相连接的客户端的配置文件;当接收到与所述目标节点相连接的客户端反馈的故障信息后,从所述配置文件数据库中获取对应于所述目标节点的历史配置文件版本以更新所述目标节点,并更新所述配置文件数据库。2.根据权利要求1所述的方法,其中,所述当所述目标节点所存储的配置文件发生变化后,更新与所述目标节点相连接的客户端的配置文件包括:当所述目标节点所存储的配置文件发生变化后,通过心跳数据包通知与所述目标节点相连接的客户端;当接收到与所述目标节点相连接的客户端的配置文件更新请求后,发送新的配置文件至与所述目标节点相连接的客户端。3.根据权利要求2所述的方法,其中,在所述将新的配置文件存储至所述目标节点,并将新的配置文件备份至配置文件数据库之前还包括:校验所述新的配置文件的文件格式。4.根据权利要求1-3任一项所述的方法,其中,还包括:建立所述zookeeper集群中的每一个节点所存储的配置文件与对应的客户端之间的映射关系,以用于客户端根据所述映射关系从相对应的节点获取配置文件。5.根据权利要求4所述的方法,其中,还包括:在客户端中嵌入配置文件代理SDK,以用于当客户端监听到所连接的节点所存储的配置文件的变化时处理所述客户端的配置文件,所述配置文件代理SDK关联配置有对配置文件的处理逻辑。6.一种配置文件管理系统,包括:连接建立模块,用于建立所述zookeeper集群中的节点与客户端之间的通信连接;指令解析模块,用于解析生成的配置文件更新指令,以确定所述zookeeper集群中的对应于所述配置文件更新指令的节点为目标节点;配置文件存储模块,用于将新的配置文件存储至所述目标节点,并将所述新的配置文件备份至配置文件数据库;第一配置文件更新模块,用于当所述目标节点所存储...

【专利技术属性】
技术研发人员:冯丙见
申请(专利权)人:乐视控股北京有限公司乐视云计算有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1