CN116107609A - 配置文件的管理方法和装置、电子设备和存储介质 - Google Patents
配置文件的管理方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116107609A CN116107609A CN202310093951.7A CN202310093951A CN116107609A CN 116107609 A CN116107609 A CN 116107609A CN 202310093951 A CN202310093951 A CN 202310093951A CN 116107609 A CN116107609 A CN 116107609A
- Authority
- CN
- China
- Prior art keywords
- target
- service
- updating
- configuration file
- updated
- 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
Images
Classifications
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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 Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种配置文件的管理方法和装置、电子设备和存储介质,其中,该方法包括:在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;利用回调钩子判定目标服务是否存在依赖服务;基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。通过本申请,解决了相关技术在配置文件的管理中存在管理不够精细化,服务配置文件不能实现自动化更新的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种配置文件的管理方法和装置、电子设备和存储介质。
背景技术
目前,在Linux系统中,常见的配置文件管理方法包括systemd(即系统管理工具)和ansible(即自动化运维工具)。其中,systemd是服务管理的基础,可以对系统各项服务起停、生命周期、相互之间的依赖性进行管理;ansible可以通过各模板来管理配置文件,通过模板更新服务的配置,控制服务的基本状态。
systemd在对服务进行生命周期管理中,虽然可以管理依赖性,但是无法进行配置文件的管理和更新,且该工具主要针对终端用户,并无UI接口。ansible虽然可以做配置管理,但是对于其中依赖关系管理的粒度不够,特别是涉及到超融合中的自有服务难以抽象;生命周期的管理相对简单,文件管理方式对前端开发并不友好。
因此,相关技术在配置文件的管理中存在管理不够精细化,服务配置文件不能实现自动化更新的问题。
发明内容
本申请提供了一种配置文件的管理方法和装置、电子设备和存储介质,以至少解决相关技术在配置文件的管理中存在管理不够精细化,服务配置文件不能实现自动化更新的问题。
根据本申请实施例的一个方面,提供了一种配置文件的管理方法,该方法包括:
在确定目标服务中存在待更新的目标配置文件的情况下,获取所述目标配置文件对应的第一更新数据写入目标数据库,其中,所述目标数据库用于将所述第一更新数据统一更新至所述目标服务以及包含所述目标配置文件的其他服务中;
利用回调钩子判定所述目标服务是否存在依赖服务;
基于判定结果,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务,或者基于所述判定结果,根据所述目标服务的启动情况自动更新并启动所述依赖服务。
根据本申请实施例的另一个方面,还提供了一种配置文件的管理装置,该装置包括:
第一获取模块,用于在确定目标服务中存在待更新的目标配置文件的情况下,获取所述目标配置文件对应的第一更新数据写入目标数据库,其中,所述目标数据库用于将所述第一更新数据统一更新至所述目标服务以及包含所述目标配置文件的其他服务中;
判定模块,用于利用回调钩子判定所述目标服务是否存在依赖服务;
更新启动模块,用于基于判定结果,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务,或者基于所述判定结果,根据所述目标服务的启动情况自动更新并启动所述依赖服务。
可选地,更新启动模块包括:
第一更新启动单元,用于在判定结果为不存在所述依赖服务的情况下,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务。
可选地,更新启动模块包括:
第二更新启动单元,用于在判定结果为存在所述依赖服务的情况下,从所述目标数据库中获取所述依赖服务的第二更新数据,并根据所述目标服务的启动情况利用所述第二更新数据更新所述依赖服务,启动更新后的所述依赖服务。
可选地,第二更新启动单元包括:
获取子模块,用于在更新后的所述目标服务被启动的情况下,获取利用所述第二更新数据完成更新的所述依赖服务,并启动更新后的所述依赖服务。
可选地,该装置还包括:
第二获取模块,用于在确定目标服务中存在待更新的目标配置文件之前,获取目标服务当前处于的服务状态;
第三获取模块,用于获取所述服务状态中包含的多个配置文件,其中,多个所述配置文件中包含所述目标配置文件。
可选地,判定模块包括:
第一获取单元,用于利用所述回调钩子获取每个所述服务状态的依赖关系;
第二获取单元,用于根据所述依赖关系获取对应的所述依赖服务。
可选地,该装置还包括:
调用模块,用于调用目标模板;
变更模块,用于利用所述目标模板变更所述第一更新数据和所述第二更新数据,使得所述第一更新数据和所述第二更新数据基于所述目标模板进行参数值的调整。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
在本申请实施例中,通过在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;利用回调钩子判定目标服务是否存在依赖服务;基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。由于本申请实施例在系统服务的生命周期管理过程中,由配置文件更新转变为在目标数据库中进行数据更新,在做到统一更新配置文件的同时使得前端UI编程更加简便,另外还可以自动处理依赖项,在目标服务更新配置时,所依赖的服务会自动进行更新,实现配置文件管理的精细化和自动更新的便捷化,进而解决了相关技术在配置文件的管理中存在管理不够精细化,服务配置文件不能实现自动化更新的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的配置文件的管理方法的流程示意图;
图2是根据本申请实施例的一种可选的基本服务管理流程示意图;
图3是根据本申请实施例的一种可选的不同服务之间存在依赖关系的流程示意图;
图4是根据本申请实施例的一种可选的配置文件的管理装置的结构框图;
图5是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中在配置文件更新管理方面主要采用的是systemd系统管理工具和ansible自动化运维工具,但是二者均存在缺陷:systemd在对服务进行生命周期管理中,虽然可以管理依赖性,但是无法进行配置文件的管理和更新,且该工具主要针对终端用户,并无UI接口。ansible虽然可以做配置管理,但是对于其中依赖关系管理的粒度不够,特别是涉及到超融合中的自有服务难以抽象;生命周期的管理相对简单,文件管理方式对前端开发并不友好。为了解决上述问题,本申请实施例提出一种配置文件的管理方法,如图1所示,方法可应用于服务器侧,该方法可以包括如下步骤:
步骤S101,在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;
步骤S102,利用回调钩子判定目标服务是否存在依赖服务;
步骤S103,基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。
可选地,在本申请实施例中,将当前系统正在执行的服务称为目标服务,如果服务器获取到目标服务中存在一目标配置文件需要进行更新时,先将目标配置文件中需要更新的数据,比如第一更新数据写入目标数据库,比如DB(data base,数据库),然后服务器中的管控程序再从该目标数据库中获取第一更新数据。在这里DB数据库起到的作用是将第一更新数据统一更新至系统的所有包含目标配置文件的服务中。
利用回调钩子去判断当前的目标服务是否有与之存在依赖关系的依赖服务,然后根据判定结果启动服务器中的管控程序从该目标数据库中获取第一更新数据去更新目标服务或者根据目标服务的启动情况和依赖关系更新目标服务以及与目标服务相依赖的依赖服务,包含对依赖服务自动进行更新和启动。
在本申请实施例中,通过在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;利用回调钩子判定目标服务是否存在依赖服务;基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。由于本申请实施例在系统服务的生命周期管理过程中,由配置文件更新转变为在目标数据库中进行数据更新,在做到统一更新配置文件的同时使得前端UI编程更加简便,另外还可以自动处理依赖项,在目标服务更新配置时,所依赖的服务会自动进行更新,实现配置文件管理的精细化和自动更新的便捷化,进而解决了相关技术在配置文件的管理中存在管理不够精细化,服务配置文件不能实现自动化更新的问题。
作为一种可选实施例,基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,包括:
在判定结果为不存在依赖服务的情况下,利用第一更新数据更新目标配置文件并启动更新后的目标服务。
可选地,如图2所示,以目标服务为ntpd(network time protocol daemon,网络时间协议程序)为例,在启动ntpd服务的同时,从DB数据库中获取配置信息,如果当前没有与目标服务相依赖的依赖服务的话,就直接利用第一更新数据更新目标配置文件并启动更新后的目标服务即可。
本申请实施例对单个服务可以进行精细化的管理,同时还可以达到多个服务一致性地管理。
作为一种可选实施例,基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务,包括:
在判定结果为存在依赖服务的情况下,从目标数据库中获取依赖服务的第二更新数据,并根据目标服务的启动情况利用第二更新数据更新依赖服务,启动更新后的依赖服务。
可选地,如图3所示,以目标服务是collectd为例,从DB数据库中获取到collectd的配置信息,在判定出配置信息需要更新时,利用第一更新数据更新collectd服务的配置文件。在监测到与collectd相关联的依赖服务为rrdcached服务(其中collectd用来收集指标,rrdcached用来存储指标,并且collectd依赖于rrdcached,因为如果没有存储指标,采集意义也不大),这时从DB数据库中获取到rrdcached的配置信息,比如第二更新数据,利用第二更新数据更新rrdcached服务的配置文件。后续只需触发启动collectd的操作,在重启collectd前,会发现该依赖关系,自动更新collectd服务并启动更新后的collectd服务,再自动更新rrdcached服务,并重启更新后的rrdcached服务。
另外需要说明的是,更新并启动依赖服务的前提是,更新后的目标服务被启动。然后自动得到目标服务与依赖服务间的依赖关系,后续再自动更新rrdcached服务并重启。
作为一种可选实施例,在确定目标服务中存在待更新的目标配置文件之前,方法包括:
获取目标服务当前处于的服务状态;
获取服务状态中包含的多个配置文件,其中,多个配置文件中包含目标配置文件。
可选地,由于本申请实施例提出的配置文件管理贯穿系统服务的整个生命周期,所以配置文件也应该是在目标服务当前所处于的服务状态下获取的,服务状态可以包括:服务启动前、服务启动中、服务启动后、服务停止前、服务停止中、服务停止后等,然后针对每种服务状态得到其对应包含的多个配置文件。需要说明的是,上述实施例中的目标服务包含的服务状态包含上述的服务启动前、服务启动中、服务启动后、服务停止前、服务停止中、服务停止后,所以目标配置文件也应该是上述多个配置文件中的任意一个。
作为一种可选实施例,利用回调钩子判定目标服务是否存在依赖服务,包括:
利用回调钩子获取每个服务状态的依赖关系;
根据依赖关系获取对应的依赖服务。
可选地,在每种服务状态下都插入回调钩子(回调钩子是嵌入在系统服务配置管理流程中,在适当时机调用的工具)处理数据、处理更新数据时调用的模板、处理依赖关系等。其中,该钩子以插件形式,由python动态载入机制加载。如果根据回调钩子确定当前的服务状态是否存在依赖关系,若存在依赖关系,则找到存在该依赖关系的依赖服务。
本申请实施例为不同阶段埋入回调钩子,使对生命周期的管理更加精细化,并对依赖处理相当友好。
作为一种可选实施例,该方法还包括:
调用目标模板;
利用目标模板变更第一更新数据和第二更新数据,使得第一更新数据和第二更新数据基于目标模板进行参数值的调整。
可选地,在本申请实施例中,进行配置文件的数据更新时,可以通过调用目标模板,比如mako模板(python编程语言中的高性能模板库)来进行模板化配置,这时利用mako模板变更第一更新数据和第二更新数据,只需要在目标模板上进行需要变更的参数值的调整即可。
本申请实施例使用mako高性能模板库,可以进行简单和通用的配置管理,避免大量的数据更改,节省时间和程序流程。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述配置文件的管理方法的配置文件的管理装置。图4是根据本申请实施例的一种可选的配置文件的管理装置的结构框图,如图4所示,该装置可以包括:
第一获取模块401,用于在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;
判定模块402,用于利用回调钩子判定目标服务是否存在依赖服务;
更新启动模块403,用于基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。
需要说明的是,该实施例中的第一获取模块401可以用于执行上述步骤S101,该实施例中的判定模块402可以用于执行上述步骤S102,该实施例中的更新启动模块403可以用于执行上述步骤S103。
通过上述模块,在系统服务的生命周期管理过程中,由配置文件更新转变为在目标数据库中进行数据更新,在做到统一更新配置文件的同时使得前端UI编程更加简便,另外还可以自动处理依赖项,在目标服务更新配置时,所依赖的服务会自动进行更新,实现配置文件管理的精细化和自动更新的便捷化,进而解决了相关技术在配置文件的管理中存在管理不够精细化,服务配置文件不能实现自动化更新的问题。
作为一种可选的实施例,更新启动模块包括:
第一更新启动单元,用于在判定结果为不存在依赖服务的情况下,利用第一更新数据更新目标配置文件并启动更新后的目标服务。
作为一种可选的实施例,更新启动模块包括:
第二更新启动单元,用于在判定结果为存在依赖服务的情况下,从目标数据库中获取依赖服务的第二更新数据,并根据目标服务的启动情况利用第二更新数据更新依赖服务,启动更新后的依赖服务。
作为一种可选的实施例,第二更新启动单元包括:
获取子模块,用于在更新后的目标服务被启动的情况下,获取利用第二更新数据完成更新的依赖服务,并启动更新后的依赖服务。
作为一种可选的实施例,该装置还包括:
第二获取模块,用于在确定目标服务中存在待更新的目标配置文件之前,获取目标服务当前处于的服务状态;
第三获取模块,用于获取服务状态中包含的多个配置文件,其中,多个配置文件中包含目标配置文件。
作为一种可选的实施例,判定模块包括:
第一获取单元,用于利用回调钩子获取每个服务状态的依赖关系;
第二获取单元,用于根据依赖关系获取对应的依赖服务。
作为一种可选的实施例,该装置还包括:
调用模块,用于调用目标模板;
变更模块,用于利用目标模板变更第一更新数据和第二更新数据,使得第一更新数据和第二更新数据基于目标模板进行参数值的调整。
根据本申请实施例的又一个方面,还提供了一种用于实施上述配置文件的管理方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
图5是根据本申请实施例的一种可选的电子设备的结构框图,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502和存储器503通过通信总线504完成相互间的通信,其中,
存储器503,用于存储计算机程序;
处理器501,用于执行存储器503上所存放的计算机程序时,实现如下步骤:
在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;
利用回调钩子判定目标服务是否存在依赖服务;
基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,如图5所示,上述存储器503中可以但不限于包括上述配置文件的管理装置中的第一获取模块401、判定模块402、更新启动模块403。此外,还可以包括但不限于上述配置文件的管理装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
此外,上述电子设备还包括:显示器,用于显示配置文件的管理结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,实施上述配置文件的管理方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图5其并不对上述电子设备的结构造成限定。例如,终端设备还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行配置文件的管理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在确定目标服务中存在待更新的目标配置文件的情况下,获取目标配置文件对应的第一更新数据写入目标数据库,其中,目标数据库用于将第一更新数据统一更新至目标服务以及包含目标配置文件的其他服务中;
利用回调钩子判定目标服务是否存在依赖服务;
基于判定结果,利用第一更新数据更新目标配置文件并启动更新后的目标服务,或者基于判定结果,根据目标服务的启动情况自动更新并启动依赖服务。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的配置文件的管理方法步骤。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例配置文件的管理方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种配置文件的管理方法,其特征在于,所述方法包括:
在确定目标服务中存在待更新的目标配置文件的情况下,获取所述目标配置文件对应的第一更新数据写入目标数据库,其中,所述目标数据库用于将所述第一更新数据统一更新至所述目标服务以及包含所述目标配置文件的其他服务中;
利用回调钩子判定所述目标服务是否存在依赖服务;
基于判定结果,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务,或者基于所述判定结果,根据所述目标服务的启动情况自动更新并启动所述依赖服务。
2.根据权利要求1所述的方法,其特征在于,所述基于判定结果,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务,包括:
在判定结果为不存在所述依赖服务的情况下,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务。
3.根据权利要求1所述的方法,其特征在于,所述基于所述判定结果,根据所述目标服务的启动情况自动更新并启动所述依赖服务,包括:
在判定结果为存在所述依赖服务的情况下,从所述目标数据库中获取所述依赖服务的第二更新数据,并根据所述目标服务的启动情况利用所述第二更新数据更新所述依赖服务,启动更新后的所述依赖服务。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标服务的启动情况利用所述第二更新数据更新所述依赖服务,启动更新后的所述依赖服务,包括:
在更新后的所述目标服务被启动的情况下,获取利用所述第二更新数据完成更新的所述依赖服务,并启动更新后的所述依赖服务。
5.根据权利要求1所述的方法,其特征在于,在确定目标服务中存在待更新的目标配置文件之前,所述方法包括:
获取目标服务当前处于的服务状态;
获取所述服务状态中包含的多个配置文件,其中,多个所述配置文件中包含所述目标配置文件。
6.根据权利要求5所述的方法,其特征在于,所述利用回调钩子判定所述目标服务是否存在依赖服务,包括:
利用所述回调钩子获取每个所述服务状态的依赖关系;
根据所述依赖关系获取对应的所述依赖服务。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
调用目标模板;
利用所述目标模板变更所述第一更新数据和所述第二更新数据,使得所述第一更新数据和所述第二更新数据基于所述目标模板进行参数值的调整。
8.一种配置文件的管理装置,其特征在于,所述装置包括:
第一获取模块,用于在确定目标服务中存在待更新的目标配置文件的情况下,获取所述目标配置文件对应的第一更新数据写入目标数据库,其中,所述目标数据库用于将所述第一更新数据统一更新至所述目标服务以及包含所述目标配置文件的其他服务中;
判定模块,用于利用回调钩子判定所述目标服务是否存在依赖服务;
更新启动模块,用于基于判定结果,利用所述第一更新数据更新所述目标配置文件并启动更新后的所述目标服务,或者基于所述判定结果,根据所述目标服务的启动情况自动更新并启动所述依赖服务。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至7中任一项中所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310093951.7A CN116107609A (zh) | 2023-02-01 | 2023-02-01 | 配置文件的管理方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310093951.7A CN116107609A (zh) | 2023-02-01 | 2023-02-01 | 配置文件的管理方法和装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116107609A true CN116107609A (zh) | 2023-05-12 |
Family
ID=86259445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310093951.7A Pending CN116107609A (zh) | 2023-02-01 | 2023-02-01 | 配置文件的管理方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116107609A (zh) |
-
2023
- 2023-02-01 CN CN202310093951.7A patent/CN116107609A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857548B (zh) | 存储空间优化方法、装置、计算机设备及存储介质 | |
CN111427596B (zh) | 一种软件升级的方法、装置及终端设备 | |
CN110535776B (zh) | 网关限流方法、装置、网关、系统及存储介质 | |
CN110225078B (zh) | 一种应用服务更新方法、系统及终端设备 | |
CN113407383B (zh) | 主备系统切换方法、装置、服务器及主备系统 | |
CN113010217A (zh) | 一种bios参数设置方法、装置、电子设备及存储介质 | |
CN108616668B (zh) | 监控拨打任务的方法、电子装置及计算机可读存储介质 | |
CN111104178A (zh) | 一种动态库加载方法、终端装置及存储介质 | |
CN113010214B (zh) | 一种bios选项设置方法、系统及存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN113885971A (zh) | 一种基于自适应平台系统的状态管理方法及装置 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN110555009B (zh) | 一种网络文件系统nfs服务的处理方法及装置 | |
CN115495161B (zh) | Bios选项修改的生效方法和装置、存储介质 | |
CN110308914B (zh) | 升级处理方法、装置、设备、系统及计算机可读存储介质 | |
CN116107609A (zh) | 配置文件的管理方法和装置、电子设备和存储介质 | |
US20090083747A1 (en) | Method for managing application programs by utilizing redundancy and load balance | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 | |
CN114546537A (zh) | 一种多操作系统的启动顺序部署方法及相关装置 | |
CN114610446A (zh) | 一种自动注入探针的方法、装置及系统 | |
CN113656378A (zh) | 一种服务器管理方法、装置、介质 | |
CN111045696A (zh) | 自动安装单机操作系统的方法、装置、计算机设备及存储介质 | |
CN112527327A (zh) | 一种uos操作系统恢复出厂的方法、系统、终端及存储介质 | |
CN113268266B (zh) | 小程序渲染框架多版本并存管理方法、系统和介质 | |
CN112486556B (zh) | 一种服务器兼容bmc的方法、系统、终端及存储介质 |
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 |