CN114721681A - 配置文件更新方法、装置、设备及存储介质 - Google Patents

配置文件更新方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114721681A
CN114721681A CN202210280946.2A CN202210280946A CN114721681A CN 114721681 A CN114721681 A CN 114721681A CN 202210280946 A CN202210280946 A CN 202210280946A CN 114721681 A CN114721681 A CN 114721681A
Authority
CN
China
Prior art keywords
configuration file
content
server
target configuration
target
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
CN202210280946.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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202210280946.2A priority Critical patent/CN114721681A/zh
Publication of CN114721681A publication Critical patent/CN114721681A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请关于一种配置文件更新方法、装置、设备及存储介质,涉及计算机技术领域,有助于提高配置文件的更新效率以及准确性。该方法包括:解析预先获取的规则文件,得到目标配置文件的更新规则,更新规则包括目标配置文件的标识信息和更新内容信息;规则文件包括至少一个配置文件的更新规则;针对服务器集群中的每个服务器执行如下操作:基于标识信息,读取服务器集群中一个服务器的目标配置文件;基于更新内容信息,更新目标配置文件的内容,并将更新后的目标配置文件,写入一个服务器。

Description

配置文件更新方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种配置文件更新方法、装置、设备及存储介质。
背景技术
随着X86平台的推广和国产化的推进,越来越多的互联网技术服务系统采用分布式架构部署。在分布式架构部署下,多台服务器组成服务器集群,且每台服务器上部署有相同名称的配置文件。另外,有时需要对服务器集群中的部分服务器进行个性化配置,也即,对服务器上的配置文件进行个性化修改。对部分服务器进行个性化配置之后,相同名称的配置文件在每台服务器上的内容会略有不同。
相关技术中,在对服务器集群中的每个服务器上的同一配置文件进行个性化配置之后,还存在对服务器上的该同一配置文件进行版本更新/版本升级的需求。此时,由于每个服务器上的该同一配置文件的内容会略有不同,因此,无法统一以版本下发的形式进行配置文件的整体替换更新,需要使用手工替换配置文件的更新方法逐一进行替换更新。而手工替换配置文件的更新方式,不仅效率低,而且容易产生错误。
因此,设计一种新的配置文件更新方法,成为亟待解决的技术问题。
发明内容
本申请提供一种配置文件更新方法、装置、设备及存储介质,以至少解决相关技术中存在的效率低以及容易产生错误的问题。本申请的技术方案如下:
根据本申请实施例的第一方面,提供一种配置文件更新方法,包括:解析预先获取的规则文件,得到目标配置文件的更新规则,更新规则包括目标配置文件的标识信息和更新内容信息;规则文件包括至少一个配置文件的更新规则;针对服务器集群中的每个服务器执行如下操作:基于标识信息,读取服务器集群中一个服务器的目标配置文件;基于更新内容信息,更新目标配置文件的内容,并将更新后的目标配置文件,写入一个服务器。
在一种可能的实施方式中,配置文件更新方法还包括:获取初始规则文件,初始规则文件包括待配置参数;获取待配置参数对应的目标内容,并将目标内容与待配置参数进行配置,得到规则文件。
另一种可能的实施方式中,基于更新内容信息,更新目标配置文件的内容,包括:基于更新内容信息,对目标配置文件执行新增内容操作;和/或基于更新内容信息,对目标配置文件执行删除内容操作;和/或基于更新内容信息,对目标配置文件的目标内容执行替换操作。
另一种可能的实施方式中,配置文件更新方法还包括:在更新目标配置文件的内容之前,对目标配置文件执行备份操作。
另一种可能的实施方式中,配置文件更新方法还包括:在更新目标配置文件的内容时,生成更新日志,更新日志包括目标配置文件的更新前的内容和更新后的内容。
另一种可能的实施方式中,更新内容信息使用预定义语句描述。
根据本申请实施例的第二方面,提供一种配置文件更新装置,包括:解析模块,被配置为执行解析预先获取的规则文件,得到目标配置文件的更新规则,更新规则包括目标配置文件的标识信息和更新内容信息;规则文件包括至少一个配置文件的更新规则;更新模块,被配置为执行针对服务器集群中的每个服务器执行如下操作:基于标识信息,读取服务器集群中一个服务器的目标配置文件;基于更新内容信息,更新目标配置文件的内容,并将更新后的目标配置文件,写入一个服务器。
在一种可能的实施方式中,配置文件更新装置还包括获取模块,被配置为执行:获取初始规则文件,初始规则文件包括待配置参数;获取待配置参数对应的目标内容,并将目标内容与待配置参数进行配置,得到规则文件。
另一种可能的实施方式中,更新模块具体被配置为执行:基于更新内容信息,对目标配置文件执行新增内容操作;和/或基于更新内容信息,对目标配置文件执行删除内容操作;和/或基于更新内容信息,对目标配置文件的目标内容执行替换操作。
另一种可能的实施方式中,配置文件更新装置还包括备份模块,被配置为执行:在更新目标配置文件的内容之前,对目标配置文件执行备份操作。
另一种可能的实施方式中,配置文件更新装置还包括日志模块,被配置为执行:在更新目标配置文件的内容时,生成更新日志,更新日志包括目标配置文件的更新前的内容和更新后的内容。
另一种可能的实施方式中,更新内容信息使用预定义语句描述。
根据本申请实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面及其任一种可能的实施方式的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中及其任一种可能的实施方式的方法。
根据本申请实施例的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一种可能的实施方式的方法。
本申请的实施例提供的技术方案至少带来以下有益效果:能够自动解析预先获取的规则文件,得到目标配置文件的标识信息和更新内容信息,然后,自动基于标识信息读取服务器集群中的一个服务器的目标配置文件,并基于更新内容信息对目标配置文件的内容进行更新,再自动将更新后的目标配置文件写入一个服务器,实现自动更新服务器集群中的一个服务器的目标配置文件,不仅有效节约了人工成本及处理时间,大幅提高了更新效率,能够适用于使用频率较高的服务器,还能够避免人工操作带来的失误。此外,通过对服务器集群中的每个服务器执行前述操作,实现自动对服务器集群中的每个服务器的目标配置文件的更新,由于每次仅读取服务器集群中的一个服务器目标配置文件进行更新,有助于降低目标配置文件在电子设备上占用的存储空间,进而有助于降低对电子设备的性能要求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据一示例性实施例示出的一种应用场景的示意图;
图2是根据一示例性实施例示出的一种实施架构的示意图;
图3是根据一示例性实施例示出的一种配置文件更新方法的流程图;
图4是根据一示例性实施例示出的另一种配置文件更新方法的流程图;
图5是根据一示例性实施例示出的另一种配置文件更新的流程图;
图6是根据一示例性实施例示出的另一种配置文件更新的流程图;
图7是根据一示例性实施例示出的一种配置文件更新装置的框图;
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例可以使用除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请提供的配置文件更新方法进行详细介绍之前,先对本申请涉及的相关要素、应用场景和实施环境进行简单介绍。
首先,为了便于理解本申请,现对本申请涉及到的相关要素进行描述。
服务器集群:是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。
互联网技术(Internet Technology,IT):指在计算机技术的基础上开发建立的一种信息技术。
部署:就是在软件开发结束后,使得软件在某一环境中运行起来。这个过程中会将源代码生成可运行的软件包,然后将软件包放到要部署的环境中,通过一些配置使得这个软件包在目标环境上也能够正常工作。
自动化部署:部署的过程中所有的操作全部自动化,无需人工手工干预。
其次,对本申请涉及的应用场景进行简单介绍。
参照图1,为应用场景示意图,如图1所示,服务器101、服务器102和服务器103组建成服务器集群100。服务器集群100中的每个服务器(即服务器101、服务器102和服务器103)上均配置有第一配置文件,其中,第一配置文件包括片段A1、片段B1和片段C1。此外,为了满足不同用户的需求,对服务器集群100中的部分服务器的第一配置文件进行了个性化配置,例如,对服务器102和服务器103的第一配置文件进行个性化配置,对第一配置文件进行个性化配置之后,第一配置文件在每个服务器上的内容不完全相同。具体地,服务器101上的第一配置文件包括片段A1、片段B1和片段C1,服务器102上的第一配置文件包括片段A1、片段B1和片段C2,服务器103上的第一配置文件包括片段A1、片段B1和片段C3。
需要说明的,服务器集群100中的每个服务器上可以配置多个配置文件,例如,服务器集群100的每个服务器上还配置有第二配置文件。
在上述应用场景中,由于用户需求的变化,存在对第一配置文件进行版本更新的需求,比如,对第一配置文件中的片段B1进行更新,具体为,使用片段B2替换片段B1。此时,则需要更新服务器集群100中每个服务器上的第一配置文件,以满足用户新的需求等。
但是,相关技术中,在对服务器集群100中的每个服务器上的第一配置文件进行版本更新/版本升级时,由于每个服务器上的第一配置文件的内容略有不同,因此,无法统一以版本下发的形式进行第一配置文件的整体替换,需要使用手工替换第一配置文件的更新方法,对每个服务器的第一配置文件逐一进行替换更新。例如,用户/开发人员手动点击运行shell脚本,触发shell脚本批量取出每个服务器的第一配置文件。之后,用户/开发人员在文本编辑器中手动输入第一配置文件中修改前的内容和修改后的内容,对所有第一配置文件进行替换/更新。最后,手动点击运行shell脚本,触发shell脚本将替换/更新后的所有第一配置文件分别写入原服务器。这种手工替换更新的方式,不仅效率低下,而且容易产生错误。此外,由于手工替换更新第一配置文件的过程用时较长,原服务器的第一配置文件在较长时间内无法使用,还导致这种手工替换更新的方式无法适用于使用率较高的服务器。
针对上述问题,本申请提供了一种配置文件更新方法,能够自动解析预先获取的规则文件,得到目标配置文件的标识信息和更新内容信息,然后,自动基于目标配置文件的标识信息读取服务器集群中的一个服务器的目标配置文件,并基于更新内容信息对目标配置文件的内容进行更新,再自动将更新后的目标配置文件写入一个服务器,实现自动更新服务器集群中的一个服务器的目标配置文件,不仅有效节约了人工成本及处理时间,大幅提高了更新效率,能够适用于使用频率较高的服务器,还能够避免人工操作带来的失误。此外,通过对服务器集群中的每个服务器执行前述操作,实现自动对服务器集群中的每个服务器的目标配置文件的更新,相对于手工替换配置文件的更新方式,有效提高了服务器集群中每个服务器的配置文件的更新效率,并且有助于保证服务器集群中不同服务器上配置文件修改的一致性。此外,由于每次仅读取服务器集群中的一个服务器的目标配置文件进行更新,有助于降低目标配置文件在电子设备上占用的存储空间,进而有助于降低对电子设备的性能要求。
最后,下面对本申请涉及的实施环境(实施架构)进行简单介绍。
如图2所示,为本申请的实施架构图。本申请的配置文件修改方法应用于电子设备200时,由运维人员启动电子设备200上的自动部署程序,自动部署程序通过网络201读取服务器集群100中的服务器101上第一配置文件,并将第一配置文件更新为第一配置文件*,然后,再通过网络201将第一配置文件*写入服务器101,从而完成服务器101上的第一配置文件的更新。
需要说明的,对于服务器集群100中的其他服务器(例如,服务器102和服务器103)的第一配置文件的修改方法,与服务器101的修改原理相同,具体修改过程,可以参考服务器101的第一配置文件的修改过程,此处不再赘述。
在一些实施例中,电子设备可以为终端设备或服务器。其中,终端设备可以为手机、平板电脑、笔记本电脑、掌上电脑、台式计算机、便携式计算机、车载终端以及可穿戴设备等,本申请对此不做限定。服务器可以为一台服务器,或者,也可以为由多台服务器组成的服务器集群,本申请对此不做限定。
为了便于理解,以下结合附图对本申请提供的配置文件更新方法进行具体介绍。
图3是根据一示例性实施例示出的一种配置文件更新方法的流程图,配置文件更新方法可以应用于电子设备。如图1所示,配置文件更新方法包括以下步骤:
S301:解析预先获取的规则文件,得到目标配置文件的更新规则,更新规则包括目标配置文件的标识信息和更新内容信息。
可选地,在执行S301之前,在电子设备上安装自动部署程序。例如,运维人员将自动部署程序存储至电子设备上,并解压自动部署程序,从而实现在电子设备上安装自动部署程序。
在一种实施方式中,自动部署程序为运维人员/其他人员预先编写的能够执行自动化部署的软件包。在申请中,自动化部署可以理解为自动基于规则文件对服务器上的配置文件进行更新。具体地,自动部署程序能够自动解析规则文件得到配置文件的更新规则、从服务器上读取配置文件、基于更新内容信息对配置文件进行更新以及将更新后的配置文件写入服务器。
在一种实施方式中,运维人员启动电子设备中的自动部署程序,触发电子设备中的自动部署程序自动解析规则文件,得到目标配置文件的更新规则。
在一种实施方式中,开发人员将目标配置文件需要修改的内容编写成规则文件,并交付给运维人员。运维人员将规则文件存储至电子设备。例如,可以将规则文件存储至目标目录下,该目标目录为自动部署程序自动读取规则文件的目录,也即,自动部署程序启动后,会自动到目标目录下读取规则文件。
例如,解析规则文件后得到代码1所示的内容,其中,代码1如下所示:
Figure BDA0003556829080000071
Figure BDA0003556829080000081
在上述规则文件的内容中,其中,“<CFGFileName>web.config</CFGFileName>”表征目标配置文件的标识信息,也即,目标配置的标识信息为“web.config”。需要说明的,目标配置文件的标识信息可以是目标配置文件的名称。
此外,在上述规则文件的内容中,更新内容信息包括:删除目标配置文件中的“<add key="LogSourcePrefix"value="D"/>”,使用“<add key="EventLogBaseID"value="200"/>”替换目标配置文件中的“<add key="EventLogBaseID"value="15000"/>”,并在目标配置文件中增加了“<add key="delayTime"value="200"/>”。
可选地,更新规则还包括目标配置文件的存储路径。存储路径用于指示目标配置文件在服务器集群的各个服务器上的存储地址。例如,在上述规则文件的内容中,“<CFGFilepath>c:\CBSFront\WFSite\</CFGFilepath>”表征目标配置文件的存储路径为“c:\CBSFront\WFSite\”。通过设置更新规则包括目标配置文件的存储路径,在从服务器上服务器目标配置文件时,有助于快速定位目标配置文件的位置,从而提高读取速度。
可选地,更新内容信息使用预定义语句描述。通过使用预定义语句描述更新内容信息,不仅有助于解析规则文件得到的更新内容信息的准确性,还有助于降低规则文件的编写难度。
例如,在上述规则文件中,使用“<type>add</type>”描述新增内容操作,其中,add即为本申请的表征“新增内容操作”的预定义语句。使用“<type>delete</type>”描述删除内容操作,其中,delete即为本申请的表征“删除内容操作”的预定义语句。使用“<type>update</type>”描述替换操作,其中,update即为本申请的表征“替换操作”的预定义语句。
S302:针对服务器集群中的每个服务器执行如下操作:基于目标配置文件的标识信息,读取服务器集群中一个服务器的目标配置文件;基于更新内容信息,更新目标配置文件的内容,并将更新后的目标配置文件,写入一个服务器。
需要说明的,由于对服务器集群中的每个服务器执行相同的操作,因此,对每个服务器上的目标配置文件的更新内容是相同的。
在一种实施方式中,更新内容信息包括多个更新内容,例如,更新内容1、……更新内容N。通过在一个更新内容信息中配置多个更新内容,可以在读取目标配置文件后,执行多个更新操作,例如,更新操作可以是在目标配置文件中新增内容、删除内容或修改内容,从而有助于减少目标配置文件的读取和写入次数,进而提高目标配置文件的更新效率。
在一种实施方式中,如图4所示,电子设备获取规则文件并存储。自动部署程序解析规则文件得到目标配置文件的标识信息和更新内容信息后,基于标识信息和/或存储路径,获取服务器集群中的一个服务器(例如,服务器1)的目标配置文件,然后,基于更新内容信息对目标配置文件的内容进行更新,得到更新后的目标配置文件,并将更新后的目标配置文件重新写入一个服务器(即服务器1),从而完成服务器集群中的一个服务器的配置文件的更新。进一步地,针对服务器集群中的服务器2、……、服务器N执行前述操作(即对服务器1执行的操作),即可完成服务器集群中每个服务器的目标配置文件的更新。
在另一种实施方式中,自动部署程序基于目标配置文件的标识信息,读取服务器集群中的每个服务器的目标配置文件,然后,基于目标配置文件的更新内容信息对每个服务器的目标配置文件进行更新,并将每个服务器的更新后的目标配置文件写入原服务器。通过批量读取目标配置文件,并批量修改目标配置文件,然后将修改后的目标配置文件批量写入原服务器,有助于减少读取和写入的次数,从而提高更新配置文件的效率。
需要说明的,在同时读取多个服务器的目标配置文件时,可以同时读取多个服务器中每个服务器的标识,并与目标配置文件相关联,以便目标配置文件更新完成后,可以根据每个服务器的标识,将更新后的目标配置文件写入原服务器。
例如,电子设备获取的代码2所示的目标配置文件,其中,代码2如下所示:
Figure BDA0003556829080000101
基于上述规则文件中的内容,对代码2所示的目标配置文件进行更新,得到代码3所示的更新后的目标配置文件。具体的,更新内容信息包括:
其中,代码2如下所示:
Figure BDA0003556829080000102
可选地,在规则文件包括至少两个配置文件的更新规则的情况下,重复执行S301和S302,直至规则文件中的每个配置文件完成更新。通过设置规则文件包括至少两个配置文件,并重复执行S301和S302,可以实现对规则文件中的每个配置文件完成更新,从而能够通过一个规则文件实现对多个配置文件的更新,有助于提高更新效率。此外,由于每次仅更新一个配置文件,从而在一个配置文件更新完成后,服务器便可以使用该更新完成的配置文件,相对于同时更新多个配置文件,有助于提高服务器的可用性。
需要说明的,目标配置文件是至少两个配置文件中的任意一个配置文件。另外,重复执行S301和S302时,每次解析规则文件得到的待修改的配置文件是不同的,也即,得到的配置文件的标识信息和更新内容信息时不同的,从而实现对规则文件中的每个配置文件进行更新。
在一种实施方式中,规则文件包括两个配置文件,两个配置文件为第一配置文件和第二配置文件,自动部署程序自动执行S301得到第一配置文件的第一更新规则,例如,包括第一配置文件的第一标识信息和第一更新内容信息,然后基于第一标识信息,从服务器集群中的目标服务器上获取第一标识信息对应的第一配置文件,再基于第一更新内容信息对第一配置文件的内容进行更新,然后,将第一配置文件写入目标服务器,完成对目标服务器的第一配置文件的更新。进一步地,针对服务器集群中的其他服务器(即服务器集群中除目标服务器之外的服务器)重复前述操作,直至完成对服务集群中每个服务器的第一配置文件的更新。
以上述代码1所示的规则文件为例进行说明,其中,例如,在上述代码1所示的规则文件中,第一配置文件为“web.config”,第二配置文件为“External.cfg”。
第一标识信息为:<CFGFileName>web.config</CFGFileName>。
第一更新规则如下所示:
Figure BDA0003556829080000111
Figure BDA0003556829080000121
第二标识信息为:<CFGFileName>External.cfg</CFGFileName>。
第二更新规则如下所示:
Figure BDA0003556829080000122
在完成对服务器集群中的每个服务器的第一配置文件的更新后,再次读取规则文件进行解析,得到第二配文件的第二更新规则,例如,包括第一标识信息和第二更新内容信息。关于对服务器集群中每个服务器的第二配置文件的更新,与第一配置文件的更新原理相同,具体可以参考第一配置文件的更新操作,此处不再赘述。
需要说明的,对服务器集群中每个服务器的目标配置文件完成更新后,即实现目标配置文件的版本发布。
可选地,基于更新内容信息,更新目标配置文件的内容,包括:基于更新内容信息,对目标配置文件执行新增内容操作;和/或基于更新内容信息,对目标配置文件执行删除内容操作;和/或基于更新内容信息,对目标配置文件的目标内容执行替换操作。通过设置更新配置文件的内容包括新增内容操作、删除内容操作以及对目标内容执行替换操作,有助于实现对配置文件的多样化更新操作。
在一种实施方式中,更新内容信息包括新增内容信息。例如,上述代码1中局部代码A,表征在目标配置文件中新增“<add key="delayTime"value="200"/>”自动部署程序基于新增内容信息,对目标配置文件执行新增内容操作,从而得到更新后的目标配置文件。
其中,局部代码A的内容如下所示:
Figure BDA0003556829080000131
在另一种实施方式中,更新内容信息删除内容信息。例如,上述代码1中的局部代码B,表征在目标配置文件中删除“<add key="LogSourcePrefix"value="D"/>”自动部署程序基于删除内容信息,对目标配置文件执行删除内容操作,从而得到更新后的目标配置文件。
其中,局部代码B的内容如下所示:
Figure BDA0003556829080000132
在另一种实施方式中,更新内容信息包括第一内容信息和第二内容信息,第一内容信息表征目标配置文件中待更新的内容,第二内容信息表征用于替换待更新的内容的信息。例如,上述代码1中的局部代码C,表征使用“<add key="EventLogBaseID"value="200"/>”替换目标配置文件中的“<add key="EventLogBaseID"value="15000"/>”。此时,自动部署程序自动使用第二内容信息替换目标配置文件中的第一内容信息,从而得到更新后的目标配置文件。
其中,局部代码B的内容如下所示:
Figure BDA0003556829080000133
上述实施例中,能够自动解析预先获取的规则文件,得到目标配置文件的标识信息和更新内容信息,然后,自动基于标识信息读取服务器集群中的一个服务器的目标配置文件,并基于更新内容信息对目标配置文件的内容进行更新,再自动将更新后的目标配置文件写入一个服务器,实现自动更新服务器集群中的一个服务器的目标配置文件,不仅有效节约了人工成本及处理时间,大幅提高了更新效率,能够适用于使用频率较高的服务器,还能够避免人工操作带来的失误。此外,通过对服务器集群中的每个服务器执行前述操作,实现自动对服务器集群中的每个服务器的目标配置文件的更新,由于每次仅读取服务器集群中的一个服务器目标配置文件进行更新,有助于降低目标配置文件在电子设备上占用的存储空间,进而有助于降低对电子设备的性能要求。
可选地,结合图1,如图5所示,在S301之前,配置文件更新方法还包括:
S201:获取初始规则文件,初始规则文件包括待配置参数。
可选地,初始规则文件为可扩展标记语言(简称XML)文件。
需要说明的,初始规则文件也可以为其他格式的文件,本申请对此不做限制。
在一种实施方式中,开发人员获取待修改的将配置文件,将配置文件中需要修改的内容编写成初始规则文件,例如,XML文件,然后将初始规则文件交付给运维人员,运维人员将初始规则文件上传到电子设备,并存储在目标目录。
需要说明的,目标目录指示自动部署程序自动读取规则文件的路径。
S202:获取待配置参数对应的目标内容,并将目标内容与待配置参数进行配置,得到规则文件。
在一种实施方式中,运维人员向电子设备输入待配置参数对应的目标内容,电子设备获取到该目标内容,并将该目标内容与待配置参数进行配置,也即,将目标内容写入初始规则文件中,并与待配置参数相关联,得到规则文件。
例如,以上述代码1所示的规则文件为例进行说明,其中,“<path>root/EventLogBaseID</path><!--下面的值内容请根据实际情况修改--><value>200</value>”表征“EventLogBaseID”为待配置参数,运维人员向电子设备“200”后,电子设备获取到“200”,并将“<value>200</value>”写入初始规则文件,得到本申请的规则文件。
需要说明的,待配置参数可以是初始规则文件中需要客户化的内容,也即,需要运维人员填写的内容,将待配置参数对应的目标内容填入初始规则文件的过程,可以理解为对待配置参数进行客户化。可选地,结合图5,如图6所示,配置文件更新方法还包括:
S303:在更新目标配置文件的内容之前,对目标配置文件执行备份操作。
上述实施例中,通过对目标配置文件执行备份操作,有助于在本次更新发生错误时,执行回退操作,避免重新去服务器读取目标配置文件,影响更新效率。
可选地,配置文件更新方法还包括:在更新目标配置文件的内容时,生成更新日志,更新日志包括目标配置文件的更新前的内容和更新后的内容。通过生成更新日志,在目标配置文件发生错误时,通过查看每个版本的更新日志,有助于快速定位问题的根源。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种配置文件更新装置。
图7是根据一示例性实施例示出的一种配置文件更新装置框图。参照图7,该配置文件更新装置700包括解析模块701和更新模块702。
解析模块701,被配置为执行解析预先获取的规则文件,得到目标配置文件的更新规则,更新规则包括目标配置文件的标识信息和更新内容信息;规则文件包括至少一个配置文件的更新规则。例如,结合图3,解析模块701可以用于执行S301。
更新模块702,被配置为执行针对服务器集群中的每个服务器执行如下操作:基于标识信息,读取服务器集群中一个服务器的目标配置文件;基于更新内容信息,更新目标配置文件的内容,并将更新后的目标配置文件,写入一个服务器。例如,结合图3,更新模块702可以用于执行S302。
在一种可能的实施方式中,配置文件更新装置还包括获取模块703,被配置为执行:获取初始规则文件,初始规则文件包括待配置参数;获取待配置参数对应的目标内容,并将目标内容与待配置参数进行配置,得到规则文件。
另一种可能的实施方式中,更新模块702具体被配置为执行:基于更新内容信息,对目标配置文件执行新增内容操作;和/或基于更新内容信息,对目标配置文件执行删除内容操作;和/或基于更新内容信息,对目标配置文件的目标内容执行替换操作。
另一种可能的实施方式中,配置文件更新装置还包括备份模块704,被配置为执行:在更新目标配置文件的内容之前,对目标配置文件执行备份操作。
另一种可能的实施方式中,配置文件更新装置还包括日志模块705,被配置为执行:在更新目标配置文件的内容时,生成更新日志,更新日志包括目标配置文件的更新前的内容和更新后的内容。
另一种可能的实施方式中,更新内容信息使用预定义语句描述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种电子设备的框图。如图8所示,电子设备800包括但不限于:处理器801和存储器802。
其中,上述的存储器802,用于存储上述处理器801的可执行指令。可以理解的是,上述处理器801被配置为执行指令,以实现上述实施的配置文件更新方法。
需要说明的是,本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图8所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器801是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器801可包括一个或多个处理单元;可选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及各种数据。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能模块所需的应用程序(比如解析模块、更新模块、获取模块、备份模块以及日志模块等)等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器802,上述指令可由电子设备800的处理器801执行以实现上述实施例中的配置文件更新方法。
可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存储存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在实际实现时,参见图8,上述解析模块701、更新模块702、获取模块703、备份模块704以及日志模块705的处理功能均可以由图8中的处理器801调用存储器802中存储的计算机程序实现。其具体的执行过程可参考上述方法部分的描述,这里不再赘述。
在示例性实施例中,本申请实施例还提供一种计算机程序产品,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述实施例中的配置文件更新方法。
需要说明的是,上述计算机可读存储介质中的指令或计算机程序产品中的一条或多条指令被电子设备800的处理器801执行时实现上述配置文件更新方法实施例的各个过程,且能达到与上述配置文件更新方法相同的技术效果,为避免重复,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (12)

1.一种配置文件更新方法,其特征在于,包括:
解析预先获取的规则文件,得到目标配置文件的更新规则,所述更新规则包括所述目标配置文件的标识信息和更新内容信息;所述规则文件包括至少一个配置文件的更新规则;
针对服务器集群中的每个服务器执行如下操作:基于所述标识信息,读取所述服务器集群中一个服务器的所述目标配置文件;
基于所述更新内容信息,更新所述目标配置文件的内容,并将更新后的目标配置文件,写入所述一个服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取初始规则文件,所述初始规则文件包括待配置参数;
获取所述待配置参数对应的目标内容,并将所述目标内容与所述待配置参数进行配置,得到所述规则文件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述更新内容信息,更新所述目标配置文件的内容,包括:
基于所述更新内容信息,对所述目标配置文件执行新增内容操作;和/或
基于所述更新内容信息,对所述目标配置文件执行删除内容操作;和/或
基于所述更新内容信息,对所述目标配置文件的目标内容执行替换操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在更新所述目标配置文件的内容之前,对所述目标配置文件执行备份操作。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在更新所述目标配置文件的内容时,生成更新日志,所述更新日志包括所述目标配置文件的更新前的内容和更新后的内容。
6.根据权利要求1-5中任一项所述的方法,其特征在于,
所述更新内容信息使用预定义语句描述。
7.一种配置文件更新装置,其特征在于,包括:
解析模块,被配置为执行解析预先获取的规则文件,得到目标配置文件的更新规则,所述更新规则包括所述目标配置文件的标识信息和更新内容信息;所述规则文件包括至少一个配置文件的更新规则;
更新模块,被配置为执行针对服务器集群中的每个服务器执行如下操作:基于所述标识信息,读取所述服务器集群中一个服务器的所述目标配置文件;基于所述更新内容信息,更新所述目标配置文件的内容,并将更新后的目标配置文件,写入所述一个服务器。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括获取模块,被配置为执行:
获取初始规则文件,所述初始规则文件包括待配置参数;
获取所述待配置参数对应的目标内容,并将所述目标内容与所述待配置参数进行配置,得到所述规则文件。
9.根据权利要求7所述的装置,其特征在于,所述更新模块具体被配置为执行:
基于所述更新内容信息,对所述目标配置文件执行新增内容操作;和/或
基于所述更新内容信息,对所述目标配置文件执行删除内容操作;和/或
基于所述更新内容信息,对所述目标配置文件的目标内容执行替换操作。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至6中任一项所述的方法。
CN202210280946.2A 2022-03-21 2022-03-21 配置文件更新方法、装置、设备及存储介质 Pending CN114721681A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210280946.2A CN114721681A (zh) 2022-03-21 2022-03-21 配置文件更新方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210280946.2A CN114721681A (zh) 2022-03-21 2022-03-21 配置文件更新方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114721681A true CN114721681A (zh) 2022-07-08

Family

ID=82239131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210280946.2A Pending CN114721681A (zh) 2022-03-21 2022-03-21 配置文件更新方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114721681A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041358A1 (zh) * 2022-08-24 2024-02-29 中兴通讯股份有限公司 配置文件更新方法、装置、电子设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041358A1 (zh) * 2022-08-24 2024-02-29 中兴通讯股份有限公司 配置文件更新方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US10725769B2 (en) Automated deployment and servicing of distributed applications
CN107967159B (zh) 一种配置文件应用的方法以及服务器
US10185549B2 (en) Updating live system with static changes
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
US11113050B2 (en) Application architecture generation
CN111068328B (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN110673923A (zh) Xwiki系统配置方法、系统及计算机设备
CN107844313B (zh) 一种Android中SDK版本升级方法及装置
CN108351790B (zh) 用于期望状态配置的非单调最终收敛的设备、方法和介质
CN113342387A (zh) 一种软件自动升级方法、更新客户端及更新服务器
CN112925513A (zh) web页面构建方法及装置
CN115237436A (zh) 应用部署方法、装置、电子设备及可读存储介质
CN114721681A (zh) 配置文件更新方法、装置、设备及存储介质
CN107239303B (zh) 应用程序更新包生成及应用程序更新的方法、装置
CN113821249A (zh) 项目开发配置的方法、装置、电子设备和可读存储介质
CN112631563A (zh) 基于框架的系统开发方法、装置、计算机设备及存储介质
CN115794214B (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN116048609A (zh) 配置文件更新方法、装置、计算机设备和存储介质
CN115729590A (zh) 服务部署方法、装置、设备和计算机可读存储介质
CN110599112A (zh) 一种网络页面开发、维护方法和装置
CN114816475A (zh) 一种嵌入式操作系统的更新方法、装置、设备和介质
CN114860240A (zh) 一种低代码页面创建方法、装置、设备及介质
CN112817655A (zh) 文案信息处理方法、装置、存储介质及电子设备
CN112817953A (zh) 一种数据校验的方法、装置、计算机设备及计算机可读存储介质
CN111897794A (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