CN116048609A - 配置文件更新方法、装置、计算机设备和存储介质 - Google Patents

配置文件更新方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116048609A
CN116048609A CN202211694696.3A CN202211694696A CN116048609A CN 116048609 A CN116048609 A CN 116048609A CN 202211694696 A CN202211694696 A CN 202211694696A CN 116048609 A CN116048609 A CN 116048609A
Authority
CN
China
Prior art keywords
updated
micro
service
configuration file
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
CN202211694696.3A
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.)
Wuhan United Imaging Healthcare Co Ltd
Original Assignee
Wuhan United Imaging Healthcare 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 Wuhan United Imaging Healthcare Co Ltd filed Critical Wuhan United Imaging Healthcare Co Ltd
Priority to CN202211694696.3A priority Critical patent/CN116048609A/zh
Publication of CN116048609A publication Critical patent/CN116048609A/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/73Program documentation
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

本申请涉及一种配置文件更新方法、装置、计算机设备和存储介质,所述方法包括:当检测到应用程序的更新指令时,确定组成应用程序的微服务中的待更新微服务,并获取待更新微服务的更新配置文件和更新配置文件的第一版本标识;查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果;更新记录表存储于应用程序的本地数据库中;若更新结果为更新成功,则获取待更新微服务的前一次的配置文件的第二版本标识;若第一版本标识与第二版本标识不匹配,则推送更新配置文件至配置中心;配置中心用于根据更新配置文件,对待更新微服务的配置文件进行更新。采用本方法能够减少人力资源的浪费并提高微服务更新时的更新效率和更新结果的成功概率。

Description

配置文件更新方法、装置、计算机设备和存储介质
技术领域
本申请涉及微服务技术领域,特别是涉及一种配置文件更新方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
微服务是一种软件开发技术,面向服务的体系结构(SOA)架构样式的一种变体,它用于将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合。在软件***的开发过程中,一个软件***通常由多个微服务组成,为了更好地对微服务进行配置管理,通常会将微服务中需要变更的参数、变量等以独立的配置文件形式,交给配置中心进行统一管理。
在微服务升级时,配置中心也需要升级对应微服务的配置文件,传统的微服务升级方法中,在部署新版本的微服务时,需要手动去配置中心对待升级的微服务的最新配置进行对应的修改,这个过程繁琐而且容易出错,造成微服务升级失败。
发明内容
基于此,有必要针对上述微服务升级方法存在的更新过程繁琐而且容易出错,造成微服务升级失败的技术问题,提供一种配置文件更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种配置文件更新方法。所述方法包括:
当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
若所述第一版本标识与所述第二版本标识不匹配,则推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
在其中一个实施例中,所述查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果之前,还包括:
获取所述待更新微服务的服务标识;
基于所述服务标识,查询所述应用程序的本地数据库,从所述本地数据库中确定出所述待更新微服务的更新记录表。
在其中一个实施例中,所述基于所述服务标识,查询所述应用程序的本地数据库之后,还包括:
在所述本地数据库不存在所述待更新微服务的更新记录表的情况下,创建所述待更新微服务的更新记录表;
将创建的更新记录表保存至所述本地数据库中。
在其中一个实施例中,所述推送所述更新配置文件至配置中心之前,还包括:
对所述更新配置文件进行解析处理,得到解析后的配置文件;
所述推送所述更新配置文件至配置中心,包括:
推送所述解析后的配置文件至所述配置中心。
在其中一个实施例中,所述推送所述解析后的配置文件至配置中心之后,还包括:
获取所述配置中心对所述待更新微服务的配置更新结果;
将所述更新结果、更新后的配置文件、所述更新后的配置文件的文件信息以及更新时刻存储至所述待更新微服务的更新记录表中。
在其中一个实施例中,所述方法还包括:
若所述更新结果为更新失败,或者所述前一次的更新配置文件的第二版本标识与所述第一版本标识相匹配,则终止所述待更新微服务的更新操作,并生成对应的提示信息;所述提示信息包括待更新微服务的更新终止原因;
展示所述提示信息。
第二方面,本申请还提供了一种配置文件更新装置。所述装置包括:
第一获取模块,用于当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询模块,用于查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
第二获取模块,用于若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
推送模块,用于在所述第一版本标识与所述第二版本标识不匹配的情况下,推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
若所述第一版本标识与所述第二版本标识不匹配,则推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
若所述第一版本标识与所述第二版本标识不匹配,则推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
若所述第一版本标识与所述第二版本标识不匹配,则推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
上述配置文件更新方法、装置、计算机设备、存储介质和计算机程序产品,当检测到应用程序的更新指令时,确定组成应用程序的微服务中的待更新微服务,并获取待更新微服务的更新配置文件和更新配置文件的第一版本标识,进一步查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果,若更新结果为更新成功,则获取待更新微服务的前一次的配置文件的第二版本标识;若第一版本标识与第二版本标识不匹配,则推送更新配置文件至配置中心,使配置中心根据更新配置文件,对待更新微服务的配置文件进行更新。该方法通过在应用程序的开发阶段的配置文件进行版本化,使得在进行微服务更新时,可根据待更新微服务前一次的配置文件的第二版本标识与更新配置文件的第一版本标识的对比结果,进行配置文件的自动化更新,从而可以减少人力资源的浪费并提高微服务更新时的更新效率和更新结果的成功概率。
附图说明
图1为一个实施例中配置文件更新方法的应用环境图;
图2为一个实施例中配置文件更新方法的流程示意图;
图3为一个实施例中配置文件管理模块的层级关系图;
图4为另一个实施例中配置文件更新方法的流程示意图;
图5为一个实施例中配置文件更新装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例提供的配置文件更新方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与数据库104进行通信。终端102还通过网络与配置中心106进行通信,终端102中安装有应用程序,数据库104为终端102的本地数据库。在本申请的应用场景中,当终端102检测到应用程序的更新指令时,确定组成应用程序的待更新微服务,并获取待更新微服务的更新配置文件和更新配置文件的第一版本标识;从数据库104中查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果;若更新结果为更新成功,则获取待更新微服务的前一次的配置文件的第二版本标识;若第一版本标识与第二版本标识不匹配,则推送更新配置文件至配置中心106,使配置中心106根据更新配置文件,对待更新微服务的配置文件进行更新。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在一个实施例中,如图2所示,提供了一种配置文件更新方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤S210,当检测到应用程序的更新指令时,确定组成应用程序的微服务中的待更新微服务,并获取待更新微服务的更新配置文件和更新配置文件的第一版本标识。
其中,将应用程序划分为多个微服务的方法可以为根据实际业务的功能和需求进行划分,例如在开发时某些功能比较独立,可以将其抽取为独立的一个微服务,以便于进行管理。
其中,第一版本标识为表征更新配置文件唯一性的标识,第一版本标识可以为版本号或更新配置文件对应的时间戳。
其中,更新配置文件表示待更新微服务此次更新所需要的配置文件。
可以理解的是,在每次进行一个微服务的更新升级前,要首先把该微服务本次更新所需的所有配置文件在配置中心修改好,然后才能根据本次更新所需的配置文件部署该微服务。
本申请将对每个微服务的开发过程中的文件进行版本化处理,即每次开发时,都将开发的配置信息保存为一个版本的配置文件,并为配置文件赋予一个版本标识,该版本标识可以为开发时间和版本号等,配置文件的命名方式可以为:字母(如H)+时间戳+下划线+配置更新描述+文件后缀,其中,时间戳可以用作版本标识。由此,可得到每个微服务开发阶段的版本化的配置文件。
进一步地,由于每次更新并不一定对每个微服务均进行更新,可能只对某几个微服务进行更新,因此,在检测到针对引用程序的更新指令时,可先从组成该应用程序的多个微服务中确定出待更新微服务,根据开发阶段保存的配置文件获取待更新微服务此次更新所需的更新配置文件以及该更新配置文件的第一版本标识。其中,待更新微服务可能包括一个微服务或多个微服务,若包括多个微服务,则针对每个微服务重复执行步骤S210中,获取待更新微服务的更新配置文件和更新配置文件的第一版本标识至步骤S240的步骤。
步骤S220,查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果;更新记录表存储于应用程序的本地数据库中。
其中,更新记录表中记载有微服务每次更新的更新结果、更新所用的配置文件、更新所用的配置文件的文件信息以及更新时刻等更新情况。
具体实现中,每个微服务在首次更新时,都可创建一个更新记录表,存储在该微服务的本地数据库中,以便于记录该微服务每次的更新情况。当需要对微服务进行更新时,从数据库中获取待更新微服务的待更新记录表,并查询该更新记录表,确定该待更新微服务前一次,即最近一次的更新结果,以便于根据前一次的更新结果采取不同的处理措施。
步骤S230,若更新结果为更新成功,则获取待更新微服务的前一次的配置文件的第二版本标识。
其中,第二版本标识为表征前一次的配置文件唯一性的标识,第二版本标识可以为版本号或前一次的配置文件对应的时间戳。
具体实现中,若待更新微服务前一次的更新结果为更新成功,则从更新记录表中获取待更新微服务的前一次的配置文件的文件信息,基于文件信息确定前一次的配置文件的第二版本标识;反之,若待更新微服务前一次的更新结果为更新失败,则终止该待更新微服务的更新操作,并输出提示信息,通过提示信息指示相关人员进行处理。
步骤S240,若第一版本标识与第二版本标识不匹配,则推送更新配置文件至配置中心;配置中心用于根据更新配置文件,对待更新微服务的配置文件进行更新。
具体实现中,若版本标识用时间戳表征,则待更新微服务此次更新所需要的更新配置文件的第一版本标识与前一次更新所用的配置文件的第二版本标识不匹配,可以为第二版本标识对应的时间戳晚于第一版本标识对应的时间戳;若版本标识用版本号表征,版本号从小到大进行更新,则待更新微服务此次更新所需要的更新配置文件的第一版本标识与前一次更新所用的配置文件的第二版本标识不匹配,可以为第二版本标识对应的版本号小于第一版本标识对应的版本号。当确定第一版本标识与第二版本标识不匹配时,表明最近一次的配置文件需要更新,则可推送第一版本标识对应的更新配置文件至配置中心,使配置中心根据更新配置文件,对待更新微服务的配置文件进行更新,从而待更新微服务在部署时,可从配置中心读取最新配置,进行微服务的启动。更具体地,配置中心可将更新配置文件作为新版本的配置文件,添加至待更新微服务的配置目录中。反之,若第一版本标识与第二版本标识相匹配,表示待更新微服务没有需要更新的配置,则终止该待更新微服务的更新操作,并输出对应的提示信息。
上述配置文件更新方法中,当检测到应用程序的更新指令时,确定组成应用程序的微服务中的待更新微服务,并获取待更新微服务的更新配置文件和更新配置文件的第一版本标识,进一步查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果,若更新结果为更新成功,则获取待更新微服务的前一次的配置文件的第二版本标识;若第一版本标识与第二版本标识不匹配,则推送更新配置文件至配置中心,使配置中心根据更新配置文件,对待更新微服务的配置文件进行更新。该方法通过在应用程序的开发阶段的配置文件进行版本化,使得在进行微服务更新时,可根据待更新微服务前一次的配置文件的第二版本标识与更新配置文件的第一版本标识的对比结果,进行配置文件的自动化更新,由此减少人力资源的浪费并提高微服务更新时的更新效率和更新结果的成功概率,从而克服传统的微服务升级方法中无法明确当前配置使用的是哪个时期的配置版本,以及需要手动更新微服务的最新配置,过程繁琐而且容易出错,造成微服务升级失败的缺陷。
在一示例性实施例中,上述步骤S220查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果之前,还包括:
步骤S211,获取待更新微服务的服务标识;
步骤S212,基于服务标识,查询应用程序的本地数据库,从本地数据库中确定出待更新微服务的更新记录表。
其中,服务标识为表征待更新微服务唯一性的标识,服务标识可以用微服务的名称或编号等表征。
具体实现中,每个微服务都有对应的更新记录表,因此,查询待更新微服务的更新记录表之前,还需要获取待更新微服务的服务标识,基于该服务标识查询应用程序的本地数据库,从本地数据库中确定出与待更新服务的服务标识相匹配的更新记录表,作为待更新微服务的更新记录表。
本实施例中,通过待更新微服务的服务标识,从应用程序的本地数据库中确定出待更新微服务的更新记录表,实现了待更新微服务的更新记录表的准确确定,以便于后续根据该更新记录表确定是否需要对待更新微服务的配置文件进行更新。
在一示例性实施例中,上述步骤S212中基于服务标识,查询应用程序的本地数据库的步骤之后,还包括:
步骤S213,在本地数据库不存在待更新微服务的更新记录表的情况下,创建待更新微服务的更新记录表;
步骤S214,将创建的更新记录表保存至本地数据库中。
具体实现中,在基于待更新微服务的服务标识,查询应用程序的本地数据库时,可能存在在本地数据库中查询不到待更新微服务的更新记录表,即本地数据库不存在待更新微服务的更新记录表的情况,此种情况表明待更新微服务为首次更新,故此时可创建一个待更新微服务的更新记录表,并将创建的更新记录表保存至应用程序的本地数据库中。
本实施例中,在本地数据库不存在待更新微服务的更新记录表的情况下,创建并保存待更新微服务的更新记录表至本地数据库中,以便于后续可将待更新微服务之后的更新情况记录在该更新记录表中,使更新记录表成为待更新微服务后续更新与否的判定依据。
在一示例性实施例中,上述步骤S240推送更新配置文件至配置中心的步骤之前,还包括:对更新配置文件进行解析处理,得到解析后的配置文件;
步骤S240中推送更新配置文件至配置中心,还包括:推送解析后的配置文件至配置中心。
具体实现中,当确定待更新微服务此次更新所需要的更新配置文件的第一版本标识与前一次更新所用的配置文件的第二版本标识不匹配,需要对待更新微服务的配置文件进行更新后,则可以读取更新配置文件中的内容,由于配置文件中的某些配置可能在不同场景下有不同值,往往需要利用占位符来代替配置的值,所以在读取完更新配置文件内容的后,需要读取对应服务的占位符配置,然后将占位符配置代表的值替换到对应的位置上;在读取完更新配置文件后,此时需要解析按照指定规则来命名的更新配置文件的文件名,从文件名中获取此次更新配置文件的描述,版本等信息。配置文件解析完成后,连接配置中心,调用配置中心的相关API接口(Application Programming Interface,,应用程序编程接口),将解析后的配置文件推送至配置中心。
进一步地,在一示例性实施例中,上述步骤S240推送解析后的配置文件至配置中心的步骤之后,还包括:
步骤S241,获取配置中心对待更新微服务的配置更新结果;
步骤S242,将更新结果、更新后的配置文件、更新后的配置文件的文件信息以及更新时刻存储至待更新微服务的更新记录表中。
具体实现中,将解析后的配置文件推送至配置中心,还可获取此次的配置更新结果,并将更新结果、更新后的配置文件、更新后的配置文件的文件信息以及更新时刻存储至待更新微服务的更新记录表中,实现对此次更新情况的记录。
上述实施例中,通过对配置文件进行解析,将解析后的配置文件推送至配置中心,使得配置中心可自动地对待更新微服务的配置文件进行更新,在将解析后的配置文件推送至配置中心后,将更新结果、更新后的配置文件、更新后的配置文件的文件信息以及更新时刻存储至待更新微服务的更新记录表中,为下一次待更新微服务的更新与否的判定提供依据。
在一示例性实施例中,上述配置文件更新方法还包括:若更新结果为更新失败,或者前一次的更新配置文件的第二版本标识与第一版本标识相匹配,则终止待更新微服务的更新操作,并生成对应的提示信息;提示信息包括待更新微服务的更新终止原因;展示提示信息。
本实施例中,若待更新微服务前一次的更新结果为更新失败时,则可终止该待更新微服务的更新操作,并输出提示信息,通过提示信息指示相关人员进行处理。若待更新微服务此次更新所需要的更新配置文件的第一版本标识与前一次更新所用的配置文件的第二版本标识相匹配,表示待更新微服务没有需要更新的配置,则终止该待更新微服务的更新操作,并输出对应的提示信息,通过终端的展示界面展示提示信息,以便于相关人员及时处理。
在一个实施例中,为了便于本领域技术人员理解本申请实施例,以下将结合附图的具体示例进行说明。
本申请的微服务更新***可划分为配置文件管理模块和配置文件更新执行模块,其中,
配置文件管理模块,用于在某个微服务需要进行管理更新配置时,在指定的资源路径下,创建一个以该微服务名命名的文件下,该文件夹下可存放该微服务对应的配置文件,每个配置文件按照统一的规则进行命名,例如:字母(如H)+时间戳+下划线+配置更新描述+文件后缀。当需要更新微服务的配置时,在该微服务的目录下创建配置文件,存储当前需要用于更新的更新配置文件,参考图3,为配置文件管理模块的层级关系图,在配置文件模块根目录下可创建各个微服务的配置目录,在各个微服务的配置目录下,可存放各个微服务的配置文件。配置文件管理模块还包括另一个资源文件夹,该文件夹中存在一个数据脚本,该数据脚本用于创建用于保存配置更新结果的更新记录表。
配置更新执行模块,用于执行配置文件更新的逻辑,参考图4,为一实施例示出的配置更新执行模块进行配置文件更新的流程示意图,包括以下步骤:
(1)在确定待更新微服务,开始对待更新微服务进行更新时,查询应用程序的数据库中是否存在待更新微服务的更新记录表,如果没有更新记录表,则读取配置文件管理模块指定文件夹下的数据库脚本,创建待更新微服务的更新记录表。
(2)如果有更新记录表,则读取更新记录表中待更新微服务最近一次更新(即前一次的更新)的更新记录数据,并对最近一次更新的更新结果进行判断,如果更新结果为更新失败,则直接终止对待更新微服务的更新操作,并输出对应的提示信息,提示相关人员处理。
(3)若最近一次更新的更新结果为更新成功,则获取历史记录中最近一次更新的配置文件的第二版本标识,然后读取配置文件管理模块中待更新微服务当前更新所需要的更新配置文件及更新配置文件的第一版本标识。将第一版本标识与第二版本标识进行比对,如果第一版本标识大于最近一次更新的配置文件的第二版本标识,则需要对待更新微服务执行配置更新操作,否则标识没有要更新的配置,终止更新服务,输出对应的提示信息。
(4)当需要对待更新微服务执行配置更新操作时,则读取更新配置文件中的内容。配置文件中的某些配置可能在不同场景下有不同值,往往需要利用占位符来代替配置的值,所以在读取完更新配置文件内容后,需要读取对应服务的占位符配置,然后将占位符配置代表的值替换到对应的位置上。
(5)读取完更新配置文件后,此时需要解析按照指定规则来命名的更新配置文件的文件名,从文件名中获取更新配置文件的描述和版本等信息。
(6)更新配置文件解析完成后,连接配置中心,调用配置中心的相关API接口,将解析后的更新配置文件推送至配置中心,并获取配置中心对待更新微服务的配置更新结果;
(7)将更新配置结果和更新配置文件的版本标识、描述信息、更新时刻、配置内容等存储至待更新微服务的更新记录表中,并输出执行结果,便于相关人员确认操作是否成功;
(8)当有多个微服务需要进行配置更新时,重复上述步骤(2)~(7)。
本申请将微服务开发过程中的文件进行版本化处理,保存为不同版本的配置文件,从而在微服务进行版本更新时,可将前一次更新的配置文件的版本标识(即第二版本标识)和最新开发的配置文件的版本标识(即第一版本标识)进行对比,根据对比结果确定微服务是否需要进行配置文件更新,并在需要进行配置文件更新时,将最新开发的配置文件推送至配置中心,使配置中心基于该最新开发的配置文件对待更新微服务进行配置更新,进而在对待更新微服务进行部署时,可从配置中心读取最新开发的配置文件,进行服务的启动。该方法可以实现配置文件版本管理,自动更新配置文件,进行自动化运维,并且使得微服务配置中心可以兼顾离线条件下微服务的配置文件的自动化更新。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的配置文件更新方法的配置文件更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个配置文件更新装置实施例中的具体限定可以参见上文中对于配置文件更新方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种配置文件更新装置,包括:第一获取模块510、查询模块520、第二获取模块530和推送模块540,其中:
第一获取模块510,用于当检测到应用程序的更新指令时,确定组成应用程序的微服务中的待更新微服务,并获取待更新微服务的更新配置文件和更新配置文件的第一版本标识;
查询模块520,用于查询待更新微服务的更新记录表,确定待更新微服务前一次的更新结果;更新记录表存储于应用程序的本地数据库中;
第二获取模块530,用于若更新结果为更新成功,则获取待更新微服务的前一次的配置文件的第二版本标识;
推送模块540,用于在第一版本标识与第二版本标识不匹配的情况下,推送更新配置文件至配置中心;配置中心用于根据更新配置文件,对待更新微服务的配置文件进行更新。
在其中一个实施例中,查询模块520,还用于获取待更新微服务的服务标识;基于服务标识,查询应用程序的本地数据库,从本地数据库中确定出待更新微服务的更新记录表。
在其中一个实施例中,装置还包括记录表管理模块,用于在本地数据库不存在待更新微服务的更新记录表的情况下,创建待更新微服务的更新记录表;将创建的更新记录表保存至本地数据库中。
在其中一个实施例中,装置还包括解析模块,用于对更新配置文件进行解析处理,得到解析后的配置文件;
推送模块540,还用于推送解析后的配置文件至配置中心。
在其中一个实施例中,装置还包括存储模块,用于获取配置中心对待更新微服务的配置更新结果;将更新结果、更新后的配置文件、更新后的配置文件的文件信息以及更新时刻存储至待更新微服务的更新记录表中。
在其中一个实施例中,装置还包括提示模块,用于若更新结果为更新失败,或者前一次的更新配置文件的第二版本标识与第一版本标识相匹配,则终止待更新微服务的更新操作,并生成对应的提示信息;提示信息包括待更新微服务的更新终止原因;展示提示信息。
上述配置文件更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种配置文件更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种配置文件更新方法,其特征在于,所述方法包括:
当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
若所述第一版本标识与所述第二版本标识不匹配,则推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
2.根据权利要求1所述的方法,其特征在于,所述查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果之前,还包括:
获取所述待更新微服务的服务标识;
基于所述服务标识,查询所述应用程序的本地数据库,从所述本地数据库中确定出所述待更新微服务的更新记录表。
3.根据权利要求2所述的方法,其特征在于,所述基于所述服务标识,查询所述应用程序的本地数据库之后,还包括:
在所述本地数据库不存在所述待更新微服务的更新记录表的情况下,创建所述待更新微服务的更新记录表;
将创建的更新记录表保存至所述本地数据库中。
4.根据权利要求1所述的方法,其特征在于,所述推送所述更新配置文件至配置中心之前,还包括:
对所述更新配置文件进行解析处理,得到解析后的配置文件;
所述推送所述更新配置文件至配置中心,包括:
推送所述解析后的配置文件至所述配置中心。
5.根据权利要求4所述的方法,其特征在于,所述推送所述解析后的配置文件至配置中心之后,还包括:
获取所述配置中心对所述待更新微服务的配置更新结果;
将所述更新结果、更新后的配置文件、所述更新后的配置文件的文件信息以及更新时刻存储至所述待更新微服务的更新记录表中。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述方法还包括:
若所述更新结果为更新失败,或者所述前一次的更新配置文件的第二版本标识与所述第一版本标识相匹配,则终止所述待更新微服务的更新操作,并生成对应的提示信息;所述提示信息包括待更新微服务的更新终止原因;
展示所述提示信息。
7.一种配置文件更新装置,其特征在于,所述装置包括:
第一获取模块,用于当检测到应用程序的更新指令时,确定组成所述应用程序的微服务中的待更新微服务,并获取所述待更新微服务的更新配置文件和所述更新配置文件的第一版本标识;
查询模块,用于查询所述待更新微服务的更新记录表,确定所述待更新微服务前一次的更新结果;所述更新记录表存储于所述应用程序的本地数据库中;
第二获取模块,用于若所述更新结果为更新成功,则获取所述待更新微服务的前一次的配置文件的第二版本标识;
推送模块,用于在所述第一版本标识与所述第二版本标识不匹配的情况下,推送所述更新配置文件至配置中心;所述配置中心用于根据所述更新配置文件,对所述待更新微服务的配置文件进行更新。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的配置文件更新方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的配置文件更新方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的配置文件更新方法的步骤。
CN202211694696.3A 2022-12-28 2022-12-28 配置文件更新方法、装置、计算机设备和存储介质 Pending CN116048609A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211694696.3A CN116048609A (zh) 2022-12-28 2022-12-28 配置文件更新方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211694696.3A CN116048609A (zh) 2022-12-28 2022-12-28 配置文件更新方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN116048609A true CN116048609A (zh) 2023-05-02

Family

ID=86117454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211694696.3A Pending CN116048609A (zh) 2022-12-28 2022-12-28 配置文件更新方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116048609A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117251173A (zh) * 2023-11-15 2023-12-19 深圳万物安全科技有限公司 微服务项目的配置方法,微服务项目的配置装置及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117251173A (zh) * 2023-11-15 2023-12-19 深圳万物安全科技有限公司 微服务项目的配置方法,微服务项目的配置装置及介质
CN117251173B (zh) * 2023-11-15 2024-03-08 深圳万物安全科技有限公司 微服务项目的配置方法、微服务项目的配置装置及介质

Similar Documents

Publication Publication Date Title
CN109634598B (zh) 一种页面显示方法、装置、设备及存储介质
US20220179642A1 (en) Software code change method and apparatus
CN106874281B (zh) 实现数据库读写分离的方法和装置
CN113138781B (zh) Csv配置更新方法、存储介质
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN116048609A (zh) 配置文件更新方法、装置、计算机设备和存储介质
CN113656005A (zh) 应用组件库构建方法、应用组件配置方法及相关装置
CN110908644A (zh) 状态节点的配置方法、装置、计算机设备和存储介质
CN114816470A (zh) 元数据库的管理方法、装置、电子设备和介质
CN113377368A (zh) 项目开发方法、装置、服务器及存储介质
CN114721681A (zh) 配置文件更新方法、装置、设备及存储介质
CN113821249A (zh) 项目开发配置的方法、装置、电子设备和可读存储介质
CN108614838B (zh) 一种用户群索引处理方法、装置及***
CN111459583A (zh) 一种菜单创建方法及装置
US11593325B2 (en) Systems and methods of data migration in multi-layer model-driven applications
CN114528045B (zh) 插件操作方法、装置、计算机设备和存储介质
CN115687375A (zh) 数据库更新方法、装置、计算机设备和存储介质
CN117032779A (zh) 应用版本切换方法、装置、计算机设备和存储介质
US20220383215A1 (en) Management device, management method, and management program
CN116775955A (zh) 数据标签固化方法、装置、计算机设备和存储介质
CN115934098A (zh) 物模型配置方法、装置及计算机可读存储介质
CN118035359A (zh) 一种数据配置同步方法、装置、设备及存储介质
CN117453277A (zh) 代码扫描、头文件查询库的构建方法、装置、设备及介质
CN117667648A (zh) 代码分支的合线检测方法、装置、计算机设备和存储介质
CN116051056A (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