CN112988220A - 一种应用配置更新方法、装置、存储介质及服务器 - Google Patents

一种应用配置更新方法、装置、存储介质及服务器 Download PDF

Info

Publication number
CN112988220A
CN112988220A CN202110287160.9A CN202110287160A CN112988220A CN 112988220 A CN112988220 A CN 112988220A CN 202110287160 A CN202110287160 A CN 202110287160A CN 112988220 A CN112988220 A CN 112988220A
Authority
CN
China
Prior art keywords
configuration
updating
target
rule
update
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
CN202110287160.9A
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.)
Eversec Beijing Technology Co Ltd
Original Assignee
Eversec Beijing 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 Eversec Beijing Technology Co Ltd filed Critical Eversec Beijing Technology Co Ltd
Priority to CN202110287160.9A priority Critical patent/CN112988220A/zh
Publication of CN112988220A publication Critical patent/CN112988220A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种应用配置更新方法、装置、存储介质及服务器。包括:获取应用的初始配置文件及所述应用的配置更新信息;确定与所述配置更新信息对应的目标配置更新规则;响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。通过本发明实施例提供的技术方案,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。

Description

一种应用配置更新方法、装置、存储介质及服务器
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种应用配置更新方法、装置、存储介质及服务器。
背景技术
随着互联网的发展,软件开发的技术日新月异,无论是开源还是商业产品迭代的速度越来越快。特别是垂直领域行业、趋向于云部署、容器部署。借以CI/CD持续集成和持继交付的软件开发模式,使得软件最终交付的环节越来越快。而效率越提升其中间的环节越复杂,越容易出错。例如:某云视频应用其每周的更新迭代可能至少1-2次,在上线前必须经过严格的冒烟测试环境、功能测试环境、压力测试环境、集成测试环境以及预发布环境的部署,最终通过所有测试环境才能部署到实际生产环境中。
每次部署将会涉及一次全量或增量的应用和数据更新,其中,有应用就会涉及配置,而应用的配置有可能改变,特别是在不同环境切换时,可能需要完全重新部署配置,也可能需要直接修改部分配置。无论是哪一种都有可能出现配置出错的情况,更令人担忧的是人工修改出现的配置错误有时并不会很明显,例如程序可以启动,但在运行数小时、甚至数天后才会出现问题。而这种情况往往也是开发人员、测试人员、运维人员不同部门之间需要慎重考虑却又被忽视的环节。
发明内容
本发明实施例提供一种应用配置更新方法、装置、存储介质及服务器,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。
第一方面,本发明实施例提供了一种应用配置更新方法,包括:
获取应用的初始配置文件及所述应用的配置更新信息;
确定与所述配置更新信息对应的目标配置更新规则;
响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
第二方面,本发明实施例还提供了一种应用配置更新装置,包括:
配置文件获取模块,用于获取应用的初始配置文件及所述应用的配置更新信息;
配置更新规则确定模块,用于确定与所述配置更新信息对应的目标配置更新规则;
配置文件更新模块,用于响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的应用配置更新方法。
第四方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的应用配置更新方法。
本发明实施例提供的应用配置更新方案,获取应用的初始配置文件及所述应用的配置更新信息;确定与所述配置更新信息对应的目标配置更新规则;响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。通过本发明实施例提供的技术方案,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。
附图说明
图1为本发明一实施例提供的一种应用配置更新方法的流程图;
图2是本发明另一实施例中的一种应用配置更新方法的流程图;
图3是本发明另一实施例中的一种应用配置更新装置的结构示意图;
图4是本发明另一实施例中的一种服务器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
相关技术中,应用的配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。目前主流的配置管理都是通过配置中心的工具来实现的,如apache的spring-cloud-config,携程公司的apollo,百度使用的disconf,阿里开源的nacos。这些配置中心的工具是面向人的使用规范,而不是程序去自动管理配置。通常都需要结合公司流程授权一个团队或一个运维人员来配置好相关的配置信息,这至少存在以下几个问题:1、要求配置人员对配置有一定的了解,都需要了解每项配置和应用之间的关系。2、如果配置人员对应用的配置不了解,需要及时和开发人员沟通,如果沟通过程存在信息不对称,容易导致配置或多或少会存在不合理的地方。3、不同应用之间的配置会存在交叉配置,配置人员还需要了解应用的实际运营环境,以推算不同应用的配置间的关联关系后才能进行配置。4、配置人员需要被授权,可了解应用的所有环境甚至生产环境的各种核心服务信息,存在后门攻击的风险。5、基于配置中心进行配置管理的方案,需存在中心数据,若中心数据丢失可会影响到全部系统。甚至有些配置中心存在侵入式,所谓侵入式是指开发人员需要调整部分代码才可以支持,而调整代码后就又必须依赖配置中心,可能无法离开配置中心进行单独部署。
图1为本发明一实施例提供的一种应用配置更新方法的流程图,本发明实施例可适用于对应用的配置进行更新的情况,该方法可以由应用配置更新装置来执行,该装置可由硬件和/或软件组成,并一般可集成在服务器中。如图1所示,该方法具体包括如下步骤:
步骤110,获取应用的初始配置文件及所述应用的配置更新信息。
在本发明实施例中,应用可以包括各式各样的网络应用,如应用程序、小程序、H5应用等。具体的,应用为针对用户的某种特殊应用目的所编写的计算机程序,例如由Java编写的Spring微服务程序,Nginx启用的前端界面。应用的初始配置文件可以理解为更新前的配置文件,而应用的配置文件为应用运行所需要的配置数据,该配置数据以文件的形式存储。示例性的,可以基于RestAPI接口接收用户上传的应用的初始配置文件,其中,应用的初始配置文件可批量上传。不同的应用的初始配置文件格式可能不同,可用简单的键值对格式,如Properties、Yaml、Xml、Json等。
在本发明实施例中,应用的配置更新信息为用于更新初始配置文件的配置数据,其中,应用的配置更新信息可以包括配置文件的标识信息,待修改配置项的标识信息及对应的修改数据等相关信息。示例性的,可以通过为应用提供服务的中间件获取应用的配置更新信息,获取中间件的服务信息,并将中间件的服务信息作为应用的配置更新信息,其中,中间件的服务信息可以包括为应用提供服务的数据库(如mysql数据库)的账号、密码、IP地址、端口等信息。
步骤220,确定与所述配置更新信息对应的目标配置更新规则。
其中,配置更新规则可以包括用于描述配置匹配条件的判断和更新内容的语句,配置更新规则可以包含键名、文件名、配置格式、匹配模式和类型、替换内容、别名、替换方法、引用值等一系列字段。示例性的,配置更新规则可以包括以下任意规则字段:'action':更新类型,其中,更新类型可以包括删除、替换、或增加;'alias':别名,由于多个规则可以合并成一个规则组,则可通过别名字段将各个联系在一起;'category':配置类型:指定配置对应的中间件名称,如mysql,redis;'default':'默认更新数据';'description':规则的描述信息和备注说明;'disable':是否启用;'excludes':排除,该字段为一个列表,指出排除的文件名称不执行配置更新流程;'filenames':指定文件名:该字段为一个列表,每列表为一个文件名,当与排除字段出冲突时,以该字段为原则,默认情况不指文件名,则为黑名单方式除excludes所有文件会被更新;'files':文件的后缀:进一步过滤更新的配置文件的名称后缀,一般与mode字段联动。如properties,后缀默认约定为*.properties;'force':强制更新,即使没有找到对待更新字段对应的配置更新数据,也会强行更新;'hide'::隐藏属性,当为全局字段时不希望外部查询出该规则条目;'mode':解析和更新的引擎,有yaml,properties,xml,常规字符串;'name':规则的内部名称,必须保证唯一性;'optional':是否为可选字段;'password':是否为密码配置,进行特殊的处理;'ref':引用字段,当存在相邻具有关系的规则可使用引用;'replace':替换的具体的内容表达式;'rule':配置的键名,或字段串类型的特征,支持正则规的泛型匹配;'shortname':查询规则库时显示的名称;'type':规则类型,系统全局或自定义规则。
在本发明实施例中,可以从预设规则库中与配置更新信息对应的目标配置更新规则,其中,目标配置更新规则可以理解为用于基于配置更新信息对应用的初始配置文件进行更新的规则。可选的,所述配置更新信息中包括待更新配置项的标识信息;确定与所述配置更新信息对应的目标配置更新规则,包括:遍历配置更新规则库,将与所述待更新配置项的标识信息匹配的配置更新规则,确定为与所述配置更新信息对应的目标配置更新规则。具体的,配置更新信息中包括待更新配置项的标识信息,其中,待更新配置项的标识信息用于指示对应用的初始配置文件中的哪些配置项进行更新。配置更新规则库中的每条配置更新规则中的'name'字段,可指示该配置更新规则适用于对哪些配置项进行更新。因此,可遍历配置更新规则库,查找与配置更新信息中与待更新配置项的标识信息匹配的配置更新规则,并将于待更新配置项的标识信息匹配的配置更新规则作为与配置更新信息对应的目标配置更新规则。
可选的,所述配置更新规则库中包括自定义配置更新规则和预置配置更新规则;其中,所述自定义配置更新规则的优先级高于所述预置配置更新规则;遍历配置更新规则库,将与所述待更新配置项的标识信息匹配的配置更新规则,确定为与所述配置更新信息对应的目标配置更新规则,包括:遍历配置更新规则库,当与所述待更新配置项的标识信息匹配的配置更新规则中包含自定义配置更新规则和预置配置更新规则时,将目标自定义配置更新规则确定为与所述配置更新信息对应的目标配置更新规则;其中,所述目标自定义配置更新规则为与所述待更新配置项的标识信息匹配的自定义配置更新规则。具体的,预置配置更新规则为预先存储于配置更新规则库中的全局内置规则,其中,预置配置更新规则可以以yaml文件形式存储。自定义配置更新规则为开发人员根据配置文件更新需求自定义的全局配置规则,以对预置配置更新规则进行完善或校正。具体的,接收自定义配置更新规则,并对配置更新规则库中的原有的预置配置更新规则进行加载,将自定义配置更新规则与预置配置更新规则合并,生成新的配置更新规则库,以使配置更新规则库中包含自定义配置更新规则和预置配置更新规则,其中,自定义配置更新规则的优先级高于预置配置更新规则。遍历配置更新规则,当与待更新配置项的标识信息匹配的配置更新规则中同时包含自定义配置更新规则和预置配置更新规则时,由于自定义配置更新规则的优先级高于预置配置更新规则,则将与待更新配置项的标识信息匹配的自定义配置更新规则(目标自定义配置更新规则)作为与配置更新信息对应的目标配置更新规则。
步骤130,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
在本发明实施例中,当接收到配置更新指令时,表征配置更新事件被触发。响应于配置更新事件被触发,基于目标配置更新规则对初始配置文件中与配置更新信息匹配的配置参数进行更新。示例性的,配置更新信息中包括待更新配置项的标识信息及对应的目标更新数据,则可以基于目标配置更新规则,将初始配置文件中与待更新配置项的标识信息匹配的配置项对应的配置参数进行更新,其中,更新操作可以包括删除操作、替换操作及增加操作,具体的更新操作可以基于目标配置更新规则中的'action'字段确定。
本发明实施例提供的应用配置更新方法,获取应用的初始配置文件及所述应用的配置更新信息;确定与所述配置更新信息对应的目标配置更新规则;响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。通过本发明实施例提供的技术方案,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。
在一些实施例中,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,包括:响应于配置更新事件被触发,基于所述目标配置更新规则确定对所述初始配置文件的更新操作的类型;其中,所述更新操作的类型包括删除操作、替换操作及增加操作中的至少一种;当所述更新操作的类型为替换操作或增加操作时,判断所述配置更新信息中是否包含与所述待更新配置项对应的目标更新数据;当所述配置更新信息中包含与所述待更新配置项对应的目标更新数据时,基于所述目标更新数据对所述初始配置文件中的待更新配置项进行更新。这样设置的好处在于,可以进一步保证应用配置更新的可靠性。
具体的,基于目标配置更新规则确定对初始配置文件的更新操作的类型,其中,可以根据目标配置更新规则中的'action'字段确定初始配置文件的更新操作的类型。当确定对初始配置文件的更新操作为替换操作或增加操作时,判断配置更新信息中是否包含与待更新配置项对应的目标更新数据,若是,则基于目标更新数据对初始配置文件中的待更新配置项对应的配置参数进行替换或增加操作。可选的,当所述配置更新信息中不包含与所述待更新配置项对应的目标更新数据时,获取所述目标配置更新规则中与所述待更新配置项对应的默认更新数据;基于所述默认更新数据对所述初始配置文件中的待更新配置项进行更新。例如,应用的初始配置文件的某配置项里存在日志debug模式,若配置更新信息中不包含对应的目标更新数据,则可通过目标配置更新规则中默认更新数据false替换日志debug模式对应的值,以保证在生产环境日志开启较为合理。
在一些实施例中,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,包括:响应于配置更新事件被触发,判断所述目标配置更新规则是否引用其他配置更新规则;当所述目标配置更新规则引用其他配置更新规则时,基于所述目标配置更新规则中的占位符,对所述初始配置文件中的待更新配置项进行更新。这样设置的好处在于,可以进一步保证应用配置更新的一致性。可以理解的是,有些相邻的配置更新规则存在一定关联关系,它们以引用的方法进行自动成组。如:配置更新规则Spring.mysql.host和配置更新规则Spring.mysql.port,均被配置更新规则Spring.mysql.url引用,因为url里就包含了host和port,为了规则的简洁和实用性,只需要在配置更新规则Spring.mysql.host和Spring.mysql.port中定义对应的替换值,而配置更新规则Spring.mysql.url里需要提供引用后的占位符来描述以何种方式引用,如url的形式为:mysql://${mysql_host}:${mysql_port}/,这样通过占位符的处理,规则与规则之间就形成粘性,达到更强大的组合效果。因此,当配置更新事件被触发时,判断目标配置更新规则是否引用其他配置更新规则,若是,说明被引用的配置更新规则对配置项进行更新时,可能对该目标配置更新规则对配置项的更新产生关联影响,因此,可基于目标配置更新规则中的占位符对初始配置文件中的待更新配置项进行更新,以保证应用配置文件更新的一致性。
在一些实施例中,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,包括:响应于配置更新事件被触发,启动目标配置更新引擎;通过所述目标配置更新引擎,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新。具体的,目标配置更新引擎为与初始配置文件匹配的更新引擎,当配置更新事件被触发时,启动目标配置更新引擎,并通过目标配置更新引擎,基于目标配置更新规则对初始配置文件中的配置参数进行更新。
可选的,在响应于配置更新事件被触发,启动目标配置更新引擎之前,还包括:对所述初始配置文件进行解析,确定所述初始配置文件的类型;根据所述初始配置文件的类型,确定目标配置更新引擎。具体的,初始配置文件的类型不同,启动的配置更新引擎也不同。因此,对初始配置文件进行解析,确定初始配置文件的类型,并根据初始配置文件的类型从多个更新引擎中,确定与初始配置文件的类型匹配的目标配置更新引擎。其中,初始配置文件的类型可以包括Yaml、Properties、Json及Regex等。其中,在对初始配置文件进行解释时,可以根据内容特征分拣出配置文件的类型。另外,还可将不同结构的初始配置文件转换成统一的配置结构。其中,对于不同配置类型的初始配置文件中的注释可特殊处理,这是因为初始配置文件中的注释与具体的配置信息是不同的,甚至删掉也可以。可选的,为了保证初始配置文件改动较小,可对初始配置文件的注释进行单独标识,当对配置文件进行统一配置结构转换后,可再根据注释的标识自动添加至对应的配置信息的相应位置。
在一些实施例中,在生成目标配置文件之后,还包括:将所述初始配置文件与对应的所述目标配置文件进行比对,根据比对结果生成配置更新报告。这样设置的好处在于,可以对应用的配置更新的相关信息进行记录,使开发人员或运营人员了解应用配置的更新情况。具体的,将初始配置文件与目标配置文件进行对比,以确定对初始配置文件的哪些配置项的配置参数进行了更新,以及具体的更新方式等相关信息,并基于相关更新信息生成配置更新报告。
可选的,在生成目标配置文件之后,还包括:将目标配置文件挂载到应用的目录,通过kubernetes的configmap生成一个Deployment来对应用的目标配置文件进行部署。
图2是本发明另一实施例中的一种应用配置更新方法的流程图,如图2所示,该方法包括如下步骤:
步骤210,获取应用的初始配置文件及应用的配置更新信息;其中,配置更新信息中包括待更新配置项的标识信息。
步骤220,遍历配置更新规则库,将与待更新配置项的标识信息匹配的配置更新规则,确定为与配置更新信息对应的目标配置更新规则。
步骤230,响应于配置更新事件被触发,基于目标配置更新规则确定对初始配置文件的更新操作的类型;其中,更新操作的类型包括删除操作、替换操作及增加操作中的至少一种。
步骤240,当更新操作的类型为替换操作或增加操作时,判断配置更新信息中是否包含与待更新配置项对应的目标更新数据,若是,则执行步骤250,否则,执行步骤260。
步骤250,基于目标更新数据对初始配置文件中的待更新配置项进行更新,生成目标配置文件。
步骤260,获取目标配置更新规则中与待更新配置项对应的默认更新数据,并基于默认更新数据对初始配置文件中的待更新配置项进行更新,生成目标配置文件。
步骤270,将初始配置文件与对应的目标配置文件进行比对,根据比对结果生成配置更新报告。
本发明实施例提供的应用配置更新方法,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。另外,由于对应用配置进行自动化更新,可以解耦开发人员和运维人员的配合操作,实现角色隔离,可有效提供应用配置的安全性。
图3为本发明另一实施例提供的一种应用配置更新装置的结构示意图。如图3所示,该装置包括:配置文件获取模块310,配置更新规则确定模块320和配置文件更新模块330。其中,
配置文件获取模块310,用于获取应用的初始配置文件及所述应用的配置更新信息;
配置更新规则确定模块320,用于确定与所述配置更新信息对应的目标配置更新规则;
配置文件更新模块330,用于响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
本发明实施例提供的应用配置更新装置,获取应用的初始配置文件及所述应用的配置更新信息;确定与所述配置更新信息对应的目标配置更新规则;响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。通过本发明实施例提供的技术方案,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。
可选的,所述配置更新信息中包括待更新配置项的标识信息;
所述配置更新规则确定模块,包括:
配置更新规则确定单元,用于遍历配置更新规则库,将与所述待更新配置项的标识信息匹配的配置更新规则,确定为与所述配置更新信息对应的目标配置更新规则。
可选的,所述配置文件更新模块,包括:
操作类型确定单元,用于响应于配置更新事件被触发,基于所述目标配置更新规则确定对所述初始配置文件的更新操作的类型;其中,所述更新操作的类型包括删除操作、替换操作及增加操作中的至少一种;
判断单元,用于当所述更新操作的类型为替换操作或增加操作时,判断所述配置更新信息中是否包含与所述待更新配置项对应的目标更新数据;
第一配置文件更新单元,用于当所述配置更新信息中包含与所述待更新配置项对应的目标更新数据时,基于所述目标更新数据对所述初始配置文件中的待更新配置项进行更新。
可选的,还包括:
更新数据获取单元,用于当所述配置更新信息中不包含与所述待更新配置项对应的目标更新数据时,获取所述目标配置更新规则中与所述待更新配置项对应的默认更新数据;
第二配置文件更新单元,用于基于所述默认更新数据对所述初始配置文件中的待更新配置项进行更新。
可选的,配置文件更新模块,用于:
响应于配置更新事件被触发,判断所述目标配置更新规则是否引用其他配置更新规则;
当所述目标配置更新规则引用其他配置更新规则时,基于所述目标配置更新规则中的占位符,对所述初始配置文件中的待更新配置项进行更新。
可选的,所述配置更新规则库中包括自定义配置更新规则和预置配置更新规则;其中,所述自定义配置更新规则的优先级高于所述预置配置更新规则;
所述配置更新规则确定单元,用于:
遍历配置更新规则库,当与所述待更新配置项的标识信息匹配的配置更新规则中包含自定义配置更新规则和预置配置更新规则时,将目标自定义配置更新规则确定为与所述配置更新信息对应的目标配置更新规则;其中,所述目标自定义配置更新规则为与所述待更新配置项的标识信息匹配的自定义配置更新规则。
可选的,配置文件更新模块,包括:
目标引擎启动用于,用于响应于配置更新事件被触发,启动目标配置更新引擎;
第三配置文件更新单元,用于通过所述目标配置更新引擎,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新。
可选的,所述装置还包括:
文件类型确定模块,用于在响应于配置更新事件被触发,启动目标配置更新引擎之前,对所述初始配置文件进行解析,确定所述初始配置文件的类型;
目标引擎确定模块,用于根据所述初始配置文件的类型,确定目标配置更新引擎。
可选的,所述装置还包括:
报告生成模块,用于在生成目标配置文件之后,将所述初始配置文件与对应的所述目标配置文件进行比对,根据比对结果生成配置更新报告。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用配置更新方法,该方法包括:
获取应用的初始配置文件及所述应用的配置更新信息;
确定与所述配置更新信息对应的目标配置更新规则;
响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用配置更新操作,还可以执行本发明任意实施例所提供的应用配置更新方法中的相关操作。
本发明实施例提供了一种服务器,该服务器中可集成本发明实施例提供的应用配置更新装置。图4为本发明实施例提供的一种服务器的结构框图。服务器400可以包括:存储器401,处理器402及存储在存储器401上并可在处理器运行的计算机程序,所述处理器402执行所述计算机程序时实现如本发明实施例所述的应用配置更新方法。
本发明实施例中提供的服务器,获取应用的初始配置文件及所述应用的配置更新信息;确定与所述配置更新信息对应的目标配置更新规则;响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。通过本发明实施例提供的技术方案,可以实现对应用配置的自动化更新,减少人工操作的环节,增加了应用配置更新的一致性、可靠性和安全性。
上述实施例中提供的应用配置更新装置、存储介质及服务器可执行本发明任意实施例所提供的应用配置更新方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用配置更新方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种应用配置更新方法,其特征在于,包括:
获取应用的初始配置文件及所述应用的配置更新信息;
确定与所述配置更新信息对应的目标配置更新规则;
响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
2.根据权利要求1所述的方法,其特征在于,所述配置更新信息中包括待更新配置项的标识信息;
确定与所述配置更新信息对应的目标配置更新规则,包括:
遍历配置更新规则库,将与所述待更新配置项的标识信息匹配的配置更新规则,确定为与所述配置更新信息对应的目标配置更新规则。
3.根据权利要求2所述的方法,其特征在于,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,包括:
响应于配置更新事件被触发,基于所述目标配置更新规则确定对所述初始配置文件的更新操作的类型;其中,所述更新操作的类型包括删除操作、替换操作及增加操作中的至少一种;
当所述更新操作的类型为替换操作或增加操作时,判断所述配置更新信息中是否包含与所述待更新配置项对应的目标更新数据;
当所述配置更新信息中包含与所述待更新配置项对应的目标更新数据时,基于所述目标更新数据对所述初始配置文件中的待更新配置项进行更新。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述配置更新信息中不包含与所述待更新配置项对应的目标更新数据时,获取所述目标配置更新规则中与所述待更新配置项对应的默认更新数据;
基于所述默认更新数据对所述初始配置文件中的待更新配置项进行更新。
5.根据权利要求2所述的方法,其特征在于,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,包括:
响应于配置更新事件被触发,判断所述目标配置更新规则是否引用其他配置更新规则;
当所述目标配置更新规则引用其他配置更新规则时,基于所述目标配置更新规则中的占位符,对所述初始配置文件中的待更新配置项进行更新。
6.根据权利要求2所述的方法,其特征在于,所述配置更新规则库中包括自定义配置更新规则和预置配置更新规则;其中,所述自定义配置更新规则的优先级高于所述预置配置更新规则;
遍历配置更新规则库,将与所述待更新配置项的标识信息匹配的配置更新规则,确定为与所述配置更新信息对应的目标配置更新规则,包括:
遍历配置更新规则库,当与所述待更新配置项的标识信息匹配的配置更新规则中包含自定义配置更新规则和预置配置更新规则时,将目标自定义配置更新规则确定为与所述配置更新信息对应的目标配置更新规则;其中,所述目标自定义配置更新规则为与所述待更新配置项的标识信息匹配的自定义配置更新规则。
7.根据权利要求1所述的方法,其特征在于,响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,包括:
响应于配置更新事件被触发,启动目标配置更新引擎;
通过所述目标配置更新引擎,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新。
8.根据权利要求7所述的方法,其特征在于,在响应于配置更新事件被触发,启动目标配置更新引擎之前,还包括:
对所述初始配置文件进行解析,确定所述初始配置文件的类型;
根据所述初始配置文件的类型,确定目标配置更新引擎。
9.根据权利要求1所述的方法,其特征在于,在生成目标配置文件之后,还包括:
将所述初始配置文件与对应的所述目标配置文件进行比对,根据比对结果生成配置更新报告。
10.一种应用配置更新装置,其特征在于,包括:
配置文件获取模块,用于获取应用的初始配置文件及所述应用的配置更新信息;
配置更新规则确定模块,用于确定与所述配置更新信息对应的目标配置更新规则;
配置文件更新模块,用于响应于配置更新事件被触发,基于所述目标配置更新规则对所述初始配置文件中与所述配置更新信息匹配的配置参数进行更新,生成目标配置文件。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-9中任一所述的应用配置更新方法。
12.一种服务器,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-9任一所述的应用配置更新方法。
CN202110287160.9A 2021-03-17 2021-03-17 一种应用配置更新方法、装置、存储介质及服务器 Pending CN112988220A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110287160.9A CN112988220A (zh) 2021-03-17 2021-03-17 一种应用配置更新方法、装置、存储介质及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110287160.9A CN112988220A (zh) 2021-03-17 2021-03-17 一种应用配置更新方法、装置、存储介质及服务器

Publications (1)

Publication Number Publication Date
CN112988220A true CN112988220A (zh) 2021-06-18

Family

ID=76334191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110287160.9A Pending CN112988220A (zh) 2021-03-17 2021-03-17 一种应用配置更新方法、装置、存储介质及服务器

Country Status (1)

Country Link
CN (1) CN112988220A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309431A (zh) * 2022-09-29 2022-11-08 荣耀终端有限公司 一种参数更新方法、可读介质和电子设备
CN116155730A (zh) * 2022-09-26 2023-05-23 马上消费金融股份有限公司 配置更新方法及装置、电子设备、计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634682A (zh) * 2018-11-29 2019-04-16 恒生电子股份有限公司 应用程序的配置文件更新方法及装置
CN110244987A (zh) * 2019-06-18 2019-09-17 腾讯科技(深圳)有限公司 配置数据处理方法、装置、可读存储介质和计算机设备
CN111240763A (zh) * 2020-01-13 2020-06-05 广州虎牙科技有限公司 配置更新方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634682A (zh) * 2018-11-29 2019-04-16 恒生电子股份有限公司 应用程序的配置文件更新方法及装置
CN110244987A (zh) * 2019-06-18 2019-09-17 腾讯科技(深圳)有限公司 配置数据处理方法、装置、可读存储介质和计算机设备
CN111240763A (zh) * 2020-01-13 2020-06-05 广州虎牙科技有限公司 配置更新方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155730A (zh) * 2022-09-26 2023-05-23 马上消费金融股份有限公司 配置更新方法及装置、电子设备、计算机可读存储介质
CN115309431A (zh) * 2022-09-29 2022-11-08 荣耀终端有限公司 一种参数更新方法、可读介质和电子设备

Similar Documents

Publication Publication Date Title
US11163731B1 (en) Autobuild log anomaly detection methods and systems
Tomassi et al. Bugswarm: Mining and continuously growing a dataset of reproducible failures and fixes
EP2808790B1 (en) Migration assessment for cloud computing platforms
US8150674B2 (en) Automated testing platform for event driven systems
US10824636B2 (en) Mechanisms for querying disparate data storage systems
US7614043B2 (en) Automated product defects analysis and reporting
US10977162B2 (en) Real time application error identification and mitigation
US11671506B2 (en) Microservice management system for recommending modifications to optimize operation of microservice-based systems
US10642863B2 (en) Management of structured, non-structured, and semi-structured data in a multi-tenant environment
CN110134658B (zh) 日志监控方法、装置、计算机设备和存储介质
US10509719B2 (en) Automatic regression identification
JP2019192158A (ja) ビジュアルプログラミングツールを用いてフローを作成することを支援する装置および方法
US10528456B2 (en) Determining idle testing periods
US11436133B2 (en) Comparable user interface object identifications
CN107003931B (zh) 将测试验证从测试执行分离
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
CN112988220A (zh) 一种应用配置更新方法、装置、存储介质及服务器
US7941706B2 (en) Autonomic resolution of system configuration
US9256509B1 (en) Computing environment analyzer
US20230168888A1 (en) Code analysis method and system, and computing device
JP2022100301A (ja) ソフトウェア・アップグレードがコンピューティング・デバイスに与える潜在的な影響を判定するための方法、コンピュータ・プログラム、および更新推奨コンピュータ・サーバ(ソフトウェア・アップグレードの安定性の推奨)
Redlich et al. Scalable Dynamic Business Process Discovery with the Constructs Competition Miner.
JP2024505236A (ja) データ処理システム用のデータセットマルチプレクサ
US11256602B2 (en) Source code file retrieval
CN112015463B (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