一种基于Git的配置同步方法及系统技术方案

技术编号:37706423 阅读:16 留言:0更新日期:2023-06-01 23:55
本申请提出的一种基于Git的配置同步方法及系统,应用于配置服务端的方法包括:接收客户端发送的变更参数;根据所述变更参数生成变更后的配置文件;将所述变更后的配置文件上传到GitLab仓库;拉取所述GitLab仓库中的最新配置文件,生成第一临时配置文件;根据所述变更参数校验所述第一临时配置文件的合法性;在所述第一临时配置文件合法的情况下,将所述第一临时配置文件覆盖所述配置服务端的第一当前配置文件。本申请提出的方案根据变更参数验证从GitLab仓库获取的最新配置文件的合法性,通过GitLab仓库进行配置文件的版本管理和配置文件的获取,保证了配置文件的有效版本管理。根据本申请提出的方案,能够规避不同运维人员人工操作带来的配置文件备份不完整、变更不可靠的问题。靠的问题。靠的问题。

【技术实现步骤摘要】
一种基于Git的配置同步方法及系统


[0001]本申请涉及配置文件同步领域,尤其是涉及一种基于Git的配置同步方法及系统。

技术介绍

[0002]随着互联网技术的发展,客户

服务器模式(Client

server model)得到广泛应用。在这种模式下,传统的客户端的配置更新过程一般采用TCP长连接或HTTP短连接等,具体实施过程为客户端定时的与服务端进行网络通信,每次从服务端拉取最新的配置,进行本地更新。
[0003]然而,传统的配置同步方法存在诸多弊端,其中包括多集群内配置更新的可靠性以及版本管理问题。在对多集群系统进行配置更新时,往往会出现不同的运维人员由于操作不当带来的失误,导致备份不完整、配置文件无法恢复。此外,由于缺乏有效的版本管理工具,造成配置文件的各个版本不可追溯、重要版本丢失的问题。
[0004]因此,需要一种面向多集群的具备可靠性、版本管理能力的配置同步方法。

技术实现思路

[0005]针对现有技术中存在的问题,本申请提供了一种基于Git的配置同步方法及系统。本申请提出的方案在客户端发出请求到配置服务端,配置服务端变更配置文件后,将变更后的配置文件发送给GitLab仓库做版本管理,从GitLab仓库拉取的最新配置文件进行合法性验证,在最新配置文件合法的情况下完成配置更新和下发,保证了配置变更的可靠性和配置文件的有效版本管理。
[0006]根据本申请的第一个方面,提出一种基于Git的配置同步方法,应用于配置服务端,包括:接收客户端发送的变更参数;根据所述变更参数生成变更后的配置文件;将所述变更后的配置文件上传到GitLab仓库;拉取所述GitLab仓库中的最新配置文件,生成第一临时配置文件;根据所述变更参数校验所述第一临时配置文件的合法性;在所述第一临时配置文件合法的情况下,将所述第一临时配置文件覆盖所述配置服务端的第一当前配置文件。
[0007]根据一些实施例,所述变更参数包括第一变更动作和第一变更文件名。
[0008]根据一些实施例,所述根据变更参数校验所述第一临时配置文件的合法性包括:比较所述第一临时配置文件和所述第一当前配置文件,获得第二变更动作和第二变更文件名;在所述第二变更动作、所述第二变更文件名和所述第一变更动作、所述第一变更文件名分别相同的情况下,确定所述第一临时配置文件合法。
[0009]根据一些实施例,所述第一变更动作和所述第二变更动作包括增加、删除和编辑
中的一种或多种。
[0010]根据一些实施例,一种基于Git的配置同步方法还包括:在所述第一临时配置文件不合法的情况下,退出与所述客户端同步的过程。
[0011]根据一些实施例,一种基于Git的配置同步方法还包括:在所述第一临时配置文件覆盖所述配置服务端的第一当前配置文件之前,备份所述第一当前配置文件;在同步失败的情况下,将所备份的第一当前配置文件作为当前使用的配置文件。
[0012]根据本申请的第二个方面,提出一种基于Git的配置同步装置,包括接收模块、变更模块、上传模块、拉取模块、校验模块和覆盖模块,其中:所述接收模块用于接收客户端发送的变更参数;所述变更模块用于根据所述变更参数生成变更后的配置文件;所述上传模块用于将所述变更后的配置文件上传到GitLab仓库;所述拉取模块用于拉取所述GitLab仓库中的最新配置文件,生成第一临时配置文件;所述校验模块用于根据所述变更参数校验所述第一临时配置文件的合法性;所述覆盖模块用于在所述第一临时配置文件合法的情况下,将所述第一临时配置文件覆盖所述配置服务端的第一当前配置文件。
[0013]根据本申请的第三个方面,提出一种基于Git的配置同步系统,包括客户端、配置服务端、GitLab仓库和同步服务端,其特征在于,所述配置服务端用于执行如本申请第一个方面所述的方法;所述客户端用于变更配置文件,将变更后的配置文件上传到GitLab仓库中,记录变更参数,并将所述变更参数发送到所述配置服务端;所述GitLab仓库用于接收配置服务端发送的变更的配置文件,存放所述配置服务端配置文件的多个版本,响应于所述配置服务端的拉取请求,将所述拉取请求对应的配置文件发送给所述配置服务端,响应于所述同步服务端的拉取请求,将最新的配置文件发送给所述同步服务端;所述同步服务端用于接收所述配置服务端下发的第二临时配置文件,将所述第二临时配置文件覆盖所述同步服务端的第二当前配置文件。
[0014]根据一些实施例,所述同步服务端或所述配置服务端还用于重启,以完成配置同步。
[0015]根据一些实施例,所述同步服务端还用于:在所述第二临时配置文件覆盖所述第二当前配置文件之前,备份所述第二当前配置文件;在所述同步服务端重启失败的情况下,将备份的配置文件作为当前使用的配置文件。
[0016]根据本申请的第四个方面,提出一种电子设备,包括:处理器;存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如本申请第一个方面所述的方法。
[0017]根据本申请的第五个方面,提出一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如本申请第一个方面所述的方法。
[0018]本申请提出的一种基于Git的配置同步方法及系统,通过配置服务端变更配置文件,根据变更参数验证从GitLab仓库获取的最新配置文件的合法性,同时同步服务端在配置变更时直接从GitLab仓库拉取最新的配置文件,增强了配置变更的可靠性以及系统内配置的统一性。本申请的方案通过Git进行配置文件的版本管理和配置文件的获取,保证了配置文件的有效版本管理。根据本申请提出的方案,能够规避不同的运维人员人工操作带来的配置文件备份不完整、变更不可靠的问题。
附图说明
[0019]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本申请要求保护的范围。
[0020]图1为本申请的基于Git的配置同步方法应用于配置服务端的步骤流程图;图2为本申请的基于Git的配置同步装置的示意图;图3为本申请的基于Git的配置同步系统的结构示意图;图4为本申请提供的一种电子设备的结构图。
具体实施方式
[0021]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]图1为本申请的基于Git的配置同步方法应用于配置服务端的步骤流程图。
[0023]步骤S101,接收客户端发送的变更参数。
[0024]步骤S102,根据所述变更参数生成变更后的配置文件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Git的配置同步方法,应用于配置服务端,包括:接收客户端发送的变更参数;根据所述变更参数生成变更后的配置文件;将所述变更后的配置文件上传到GitLab仓库;拉取所述GitLab仓库中的最新配置文件,生成第一临时配置文件;根据所述变更参数校验所述第一临时配置文件的合法性;在所述第一临时配置文件合法的情况下,将所述第一临时配置文件覆盖所述配置服务端的第一当前配置文件。2.如权利要求1所述的方法,其特征在于,所述变更参数包括第一变更动作和第一变更文件名。3.如权利要求2所述的方法,其特征在于,所述根据变更参数校验所述第一临时配置文件的合法性包括:比较所述第一临时配置文件和所述第一当前配置文件,获得第二变更动作和第二变更文件名;在所述第二变更动作、所述第二变更文件名和所述第一变更动作、所述第一变更文件名分别相同的情况下,确定所述第一临时配置文件合法。4.如权利要求3所述的方法,其特征在于,所述第一变更动作和所述第二变更动作包括增加、删除和编辑中的一种或多种。5.如权利要求1所述的方法,其特征在于,还包括:在所述第一临时配置文件不合法的情况下,退出与所述客户端同步的过程。6.如权利要求1所述的方法,其特征在于,还包括:在所述第一临时配置文件覆盖所述配置服务端的第一当前配置文件之前,备份所述第一当前配置文件;在同步失败的情况下,将所备份的第一当前配置文件作为当前使用的配置文件。7.一种基于Git的配置同步装置,包括接收模块、变更模块、上传模块、拉取模块、校验模块和覆盖模块,其中:所述接收模块用于接收客户端发送的变更参数;所述变更模块用于根据所述变更参数生成变更后的配置文件;所述上传模块用于将所述变更后的配置文件上传到GitLab仓库;所述拉取模块用于拉取所述GitLab仓库中的最新配置文件,...

【专利技术属性】
技术研发人员:高晓峰郭志敏
申请(专利权)人:北京微吼时代科技有限公司
类型:发明
国别省市:

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

1