CN113515322A - 应用程序加载方法、装置、计算机设备和可读存储介质 - Google Patents
应用程序加载方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN113515322A CN113515322A CN202110729008.1A CN202110729008A CN113515322A CN 113515322 A CN113515322 A CN 113515322A CN 202110729008 A CN202110729008 A CN 202110729008A CN 113515322 A CN113515322 A CN 113515322A
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration file
- full
- application program
- target application
- 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.)
- Granted
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能技术领域,特别是涉及一种应用程序加载方法、装置、计算机设备和可读存储介质。所述方法包括:获取目标应用程序的更新配置项的增量配置文件;从配置服务器中获取目标应用程序的已有配置项的历史配置文件;根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件;基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新;加载更新后的目标执行程序,启动更新后的目标应用程序。采用本方法能够提升应用程序启动稳定性。本申请还涉及区块链技术领域,增量配置文件、历史配置文件、全量配置文件以及执行程序等均可以上传至区块链。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序加载方法、装置、计算机设备和可读存储介质。
背景技术
随着计算机技术的发展,通常通过各种配置中心的中间件管理各个系统在不同环境下的系统配置,以针对各个系统的配置项进行集中管控、批量推送、实时更新等,常用的有服务注册与配置中心(Dynamic Naming and Configuration Service,Nacos)。
在传统方式中,Nacos服务器对应用程序的配置项进行操作的时候,都是独立进行的,即独立进行应用程序配置项的发布。
由于配置项与执行程序不能同时发布,将使得执行程序在启动时不能获取到最新的配置项或者在执行旧的执行程序的时候获取到新的配置项,造成应用程序启动异常,影响用户体验。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升应用程序启动稳定性的应用程序加载方法、装置、计算机设备和可读存储介质。
一种应用程序加载方法,所述方法包括:
获取目标应用程序的更新配置项的增量配置文件;
从配置服务器中获取目标应用程序的已有配置项的历史配置文件;
根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件;
基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新;
加载更新后的目标执行程序,启动更新后的目标应用程序。
在其中一个实施例中,根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件之前,还包括:
识别历史配置文件中的各已有配置项,以及对应各已有配置项的已有配置数据;
将已有配置项以及对应的配置项配置数据按照键值对的方式存储,得到对应历史配置文件的第一键值对;
识别增量配置文件中的各新增配置项,与对应各新增配置项的新增配置数据;
将新增配置项以及对应的新增配置数据按照键值对的方式存储,得到对应增量配置文件的第二键值对;
根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件,包括:
对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件。
在其中一个实施例中,对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件,包括:
对第一键值对与第二键值对进行比较,确定对应目标应用程序中未更新配置项的未更新键值对;
基于未更新键值对以及第二键值对,确定对应目标应用程序的全量配置项的全量配置文件。
在其中一个实施例中,从配置服务器中获取目标应用程序的已有配置项的历史配置文件,包括:
获取配置服务器的数据交互接口;
基于交互接口,从配置服务器中获取对应目标应用程序的已有配置项的历史配置文件。
在其中一个实施例中,确定对应目标应用程序的全量配置项的全量配置文件之后,还包括:
将全量配置文件发布至配置服务器中,配置服务器基于全量配置文件对历史配置文件进行更新。
在其中一个实施例中,获取目标应用程序的更新配置项的增量配置文件,包括:
获取目标应用程序的业务环境标识;
基于业务环境标识,获取更新配置项的更新配置数据,生成对应目标应用程序的更新配置项的增量配置文件。
在其中一个实施例中,上述方法还包括:
将增量配置文件、历史配置文件、全量配置文件以及执行程序中的至少一个上传至区块链节点中进行存储。
一种应用程序加载装置,所述装置包括:
增量配置文件获取模块,用于获取目标应用程序的更新配置项的增量配置文件;
历史配置文件获取模块,用于从配置服务器中获取目标应用程序的已有配置项的历史配置文件;
全量配置文件生成模块,用于根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件;
更新模块,用于基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新;
加载模块,用于加载更新后的目标执行程序,启动更新后的目标应用程序。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。
上述应用程序加载方法、装置、计算机设备和可读存储介质,通过获取目标应用程序的更新配置项的增量配置文件,然后从配置服务器中获取目标应用程序的已有配置项的历史配置文件,并根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件,进一步基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新,并加载更新后的目标执行程序,启动更新后的目标应用程序。从而,可以基于增量配置文件以及历史配置文件,确定应用程序的全量配置项的全量更新配置文件,然后进行执行程序的更新以及启动,使得仅通过全量更新配置文件进行全量配置项的注册即可完成更新配置项的发布与执行程序的更新,保障了执行程序与配置项的一致性,提升了应用程序的运行稳定性。
附图说明
图1为一个实施例中应用程序加载方法的应用场景图;
图2为一个实施例中应用程序加载方法的流程示意图;
图3为一个实施例中应用程序加载装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的应用程序加载方法,可以应用于如图1所示的应用环境中。其中,服务器104通过网络与终端102和配置服务器106分别进行通信。其中,终端102可以接收用户触发,启动目标应用程序。服务器104可以基于终端发送的指示,获取目标应用程序的更新配置项的增量配置文件,并从配置服务器106中获取目标应用程序的已有配置项的历史配置文件。然后服务器104可以根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件。进一步,服务器104可以基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新,并加载更新后的目标执行程序,启动更新后的目标应用程序。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种应用程序加载方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,获取目标应用程序的更新配置项的增量配置文件。
其中,增量配置文件是指对目标应用程序的配置项进行更新的配置文件,可以包括更新配置项的配置数据。
在本实施例中,配置项具体可以是指目标应用程序中的业务功能。例如,连接数据库需要连接地址、用户名、密码等,这些可以作为系统配置项;又比如某个新功能只给白名单用户开放使用,这个白名单是一种业务配置项。
在本实施例中,更新具体可以是指新增、修改或者是删除中的一项或者是多项,本申请对此不作限制。
在本实施例中,用户可以通过对终端界面上展示的目标应用程序的触发按钮的触发,生成启动指令,并发送至服务器。服务器在接收到启动指令后,可以基于启动指令中携带的应用标识,确定对应的目标应用程序,并进行后续的处理。
具体地,服务器可以基于启动指令,从目标应用程序对应的工程类路径下读取目标应用程序的更新配置项的增量配置文件,并存储至内存中。
步骤S204,从配置服务器中获取目标应用程序的已有配置项的历史配置文件。
其中,配置服务器可以是Nacos服务器,也可以是指其他的配置服务器,本申请对此不作限制。
在本实施例中,历史配置文件是指存储于配置服务器中的,目标应用程序在当前次的更新之前已有配置项的配置文件,其可以包括目标应用程序在前一版本更新时的全量配置项的配置文件。
在本实施例中,历史配置文件中可以包括目标应用程序中各个已有配置项的配置数据,例如,目标应用程序已有500个配置项,则历史配置文件中可以包括对应该500个已有配置项的配置数据。
在本实施例中,服务器可以基于应用标识,对Nacos服务器进行查询,并获取对应目标应用程序的已有配置项的历史配置文件,并存储至内存中。
步骤S206,根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件。
在本实施例中,服务器可以通过对历史配置文件以及增量配置文件进行比对,确定已有配置项中未更新的配置项以及更新的配置项,进而基于未更新的配置以及增量配置文件,确定对应目标应用程序的新的全量配置项的全量配置文件。
步骤S208,基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新。
其中,目标执行程序可以是指目标应用程序启动所依赖的程序。
在本实施例中,服务器可以基于全量配置文件,对spring容器中的上下文信息进行注册,以完成将全量配置项注册至目标应用程序的目标执行程序中,以对目标执行程序进行更新,以得到更新后的目标执行程序。
步骤S210,加载更新后的目标执行程序,启动更新后的目标应用程序。
具体地,服务器可以加载更新后的目标执行程序,以进行目标应用程序的启动。
在本实施例中,服务器在加载目标执行程序之前,还可以对目标执行程序的更新进度进行判定,判断是否更新完成,并在确定更新完成后启动目标应用程序。
在本实施例中,服务器还可以对目标执行程序是否更新成功进行判定,若未更新成功,则向终端反馈更新失败的信息,若更新成功则继续加载目标执行程序,并启动目标应用程序。
上述应用程序加载方法中,通过获取目标应用程序的更新配置项的增量配置文件,然后从配置服务器中获取目标应用程序的已有配置项的历史配置文件,并根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件,进一步基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新,并加载更新后的目标执行程序,启动更新后的目标应用程序。从而,可以基于增量配置文件以及历史配置文件,确定应用程序的全量配置项的全量更新配置文件,然后进行执行程序的更新以及启动,使得仅通过全量更新配置文件进行全量配置项的注册即可完成更新配置项的发布与执行程序的更新,保障了执行程序与配置项的一致性,提升了应用程序的运行稳定性。
在其中一个实施例中,根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件之前,还可以包括:识别历史配置文件中的各已有配置项,以及对应各已有配置项的已有配置数据;将已有配置项以及对应的配置项配置数据按照键值对的方式存储,得到对应历史配置文件的第一键值对;识别增量配置文件中的各新增配置项,与对应各新增配置项的新增配置数据;将新增配置项以及对应的新增配置数据按照键值对的方式存储,得到对应增量配置文件的第二键值对。
在本实施例中,服务器在获取到历史配置文件以及增量配置文件之后,可以对获取到的历史配置文件以及增量配置文件进行转换,以生成对应配置项的键值对。
其中,键值对是指将数据以key-value的形式存储,例如,“sign.key=defaultValue”,等于号前面是键,等于号后面是值。
具体地,服务器可以将历史配置文件中的各已有配置项与对应的配置数据按照键值对的方式存储,得到对应历史配置文件的第一键值对。
同理,服务器可以将增量配置文件中的各新增配置项与对应的配置数据按照键值对的方式存储,得到第二键值对。
在本实施例中,历史配置文件以及增量配置文件中均可以包括多个配置项,即多个更新配置项以及多个已有配置项,则服务器在对历史配置文件以及增量配置文件进行转换后,所得到的第一键值对以及第二键值对均可以包括多个键值对,具体可以与配置文件中包括的配置项相等且相对应。
在本实施例中,根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件,可以包括:对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件。
具体地,服务器可以对第一键值对以及第二键值对进行比较,并基于比较结果生成对应目标应用程序的全量配置项的全量配置文件。
上述实施例中,通过将增量配置文件以及历史配置文件转换为第一键值对以及第二键值对,然后通过第一键值对以及第二键值对进行比较,确定对应目标应用程序的全量配置项的全量配置文件,相比于直接进行配置文件的比较,通过键值进行比较可以更简便,可以提升处理效率以及提升处理准确性。
在其中一个实施例中,对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件,可以包括:对第一键值对与第二键值对进行比较,确定对应目标应用程序中未更新配置项的未更新键值对;基于未更新键值对以及第二键值对,确定对应目标应用程序的全量配置项的全量配置文件。
具体地,服务器可以通过第二键值对,对第一键值对筛选,确定第一键值对中未发生改变的键值对,即确定目标应用程序中未更新的配置项的未更新键值对。
进一步,服务器可以根据未更新键值对以及第二键值对,确定对应目标应用程序的全量配置项的全量配置文件。
例如,第一键值对包括“A=a1”以及“B=b1”两个键值对,分别表示配置项A和B。其中,配置项A的配置数据为a1,配置项B的配置数据为b1。第二键值对可以包括“B=b2”以及“C=c1”两个键值对,分别表示配置项B和C。其中,配置项B的配置数据为b2,配置项C的配置数据为c1。服务器通过比较,可以确定配置项A未发生更新,配置项B的配置数据从b1更改为b2,配置项C为新增配置项。
进一步,服务器可根据未发生更新的键值对“A=a1”以及第二键值对“B=b2”以及“C=c1”,确定对应全量配置项A、B和C的全量配置文件,即全量配置文件中可以包括全量配置项A、B和C及其对应的配置数据。
在其中一个实施例中,从配置服务器中获取目标应用程序的已有配置项的历史配置文件,可以包括:获取配置服务器的数据交互接口;基于交互接口,从配置服务器中获取对应目标应用程序的已有配置项的历史配置文件。
具体地,服务器可以根据配置服务器,获取对应配置服务器的数据交互接口,例如,获取nacos接口(Application Programming Interface,API),并通过nacos API从配置服务器中获取目标应用程序的已有配置项的历史配置文件。
在本实施例中,对于不同的配置服务器,数据交互接口可以并不相同,服务器可以根据对应配置服务器的标识,通过对应的数据交互接口,并获取对应的历史配置文件。
在其中一个实施例中,数据交互接口可以是长连接接口,从而可以避免每一次进行数据交互均需进行请求,并建立连接后在获取数据,可以节约交互访问的时间,提升处理效率。
在其中一个实施例中,上述方法还可以包括:将全量配置文件发布至配置服务器中,配置服务器基于全量配置文件对历史配置文件进行更新。
在本实施例中,服务器在基于历史配置文件以及增量配置文件,确定全量配置文件之后,还可以将全量配置文件发布至配置服务器中,以对配置服务器中的历史配置文件进行更新。
具体地,配置服务器可以根据全量配置文件,覆盖配置服务器中已有的历史配置文件,以实现对配置服务器的全量更新。
在本实施例中,配置服务器在完成全量更新后,可以将全量更新配置文件作为下一次目标应用程序更新的历史配置文件,并用于目标应用程序的下一次启动更新。
在其中一个实施例中,获取目标应用程序的更新配置项的增量配置文件,可以包括:获取目标应用程序的业务环境标识;基于业务环境标识,获取更新配置项的更新配置数据,生成对应目标应用程序的更新配置项的增量配置文件。
其中,业务环境标识可以是指示运行目标应用程序对应业务环境的唯一性的标识,对于不同的业务环境,其对应的业务环境标识可以不同。例如,常用的有开发环境、测试环境、预发环境、线上环境等,不同的环境具有不同的业务环境标识。
在本实施例中,服务器在获取到业务环境标识之后,可以基于业务环境标识,获取更新配置项的配置数据,生成对应目标应用程序的更新配置项的增量配置文件。
具体地,服务器可以基于环境标识,判定各个更新配置项在对应的业务环境中其对应的配置数据为特殊配置数据或者是通用配置数据,例如,某个配置项在各个业务环境中取值相同,则可以使用通用配置数据进行配置,减少代码量,而某个配置项在某个业务环境中取值特殊,则可以通过特定的配置数据进行配置。
在其中一个实施例中,上述方法还可以包括:将增量配置文件、历史配置文件、全量配置文件以及执行程序中的至少一个上传至区块链节点中进行存储。
其中,区块链是指分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Block chain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
具体地,区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在本实施例中,服务器可以将增量配置文件、历史配置文件、全量配置文件以及执行程序中的一个或者多个数据上传并存储于区块链的节点中,以保证数据的私密性和安全性。
上述实施例中,通过将增量配置文件、历史配置文件、全量配置文件以及执行程序中至少一个上传至区块链并存储于区块链的节点中,从而可以保障存储至区块链节点中数据的私密性,可以提升数据的安全性。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种应用程序加载装置,包括:增量配置文件获取模块100、历史配置文件获取模块200、全量配置文件生成模块300、更新模块400以及加载模块500,其中:
增量配置文件获取模块100,用于获取目标应用程序的更新配置项的增量配置文件。
历史配置文件获取模块200,用于从配置服务器中获取目标应用程序的已有配置项的历史配置文件。
全量配置文件生成模块300,用于根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件。
更新模块400,用于基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新。
加载模块500,用于加载更新后的目标执行程序,启动更新后的目标应用程序。
在其中一个实施例中,上述装置还可以包括:
第一识别模块,用于根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件之前,识别历史配置文件中的各已有配置项,以及对应各已有配置项的已有配置数据;
第一存储模块,用于将已有配置项以及对应的配置项配置数据按照键值对的方式存储,得到对应历史配置文件的第一键值对;
第二识别模块,用于识别增量配置文件中的各新增配置项,与对应各新增配置项的新增配置数据;
第二存储模块,用于将新增配置项以及对应的新增配置数据按照键值对的方式存储,得到对应增量配置文件的第二键值对;
在本实施例中,全量配置文件生成模块300用于对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件。
在其中一个实施例中,全量配置文件生成模块300,可以包括:
比较子模块,用于对第一键值对与第二键值对进行比较,确定对应目标应用程序中未更新配置项的未更新键值对。
全量配置文件生成子模块,用于基于未更新键值对以及第二键值对,确定对应目标应用程序的全量配置项的全量配置文件。
在其中一个实施例中,历史配置文件获取模块200,可以包括:
接口获取子模块,用于获取配置服务器的数据交互接口。
历史配置文件获取子模块,用于基于交互接口,从配置服务器中获取对应目标应用程序的已有配置项的历史配置文件。
在其中一个实施例中,上述装置还可以包括:
配置服务器更新模块,用于确定对应目标应用程序的全量配置项的全量配置文件之后,将全量配置文件发布至配置服务器中,配置服务器基于全量配置文件对历史配置文件进行更新。
在其中一个实施例中,增量配置文件获取模块100,可以包括:
业务环境标识获取子模块,用于获取目标应用程序的业务环境标识。
增量配置文件获取子模块,用于基于业务环境标识,获取更新配置项的更新配置数据,生成对应目标应用程序的更新配置项的增量配置文件。
在其中一个实施例中,上述装置还可以包括:
第三存储模块,用于将增量配置文件、历史配置文件、全量配置文件以及执行程序中的至少一个上传至区块链节点中进行存储。
关于应用程序加载装置的具体限定可以参见上文中对于应用程序加载方法的限定,在此不再赘述。上述应用程序加载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储增量配置文件、历史配置文件、全量配置文件以及执行程序等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序加载方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取目标应用程序的更新配置项的增量配置文件;从配置服务器中获取目标应用程序的已有配置项的历史配置文件;根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件;基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新;加载更新后的目标执行程序,启动更新后的目标应用程序。
在其中一个实施例中,处理器执行计算机程序时实现根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件之前,还可以包括:识别历史配置文件中的各已有配置项,以及对应各已有配置项的已有配置数据;将已有配置项以及对应的配置项配置数据按照键值对的方式存储,得到对应历史配置文件的第一键值对;识别增量配置文件中的各新增配置项,与对应各新增配置项的新增配置数据;将新增配置项以及对应的新增配置数据按照键值对的方式存储,得到对应增量配置文件的第二键值对。
在本实施例中,处理器执行计算机程序时实现根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件,可以包括:对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件。
在其中一个实施例中,处理器执行计算机程序时实现对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件,可以包括:对第一键值对与第二键值对进行比较,确定对应目标应用程序中未更新配置项的未更新键值对;基于未更新键值对以及第二键值对,确定对应目标应用程序的全量配置项的全量配置文件。
在其中一个实施例中,处理器执行计算机程序时实现从配置服务器中获取目标应用程序的已有配置项的历史配置文件,可以包括:获取配置服务器的数据交互接口;基于交互接口,从配置服务器中获取对应目标应用程序的已有配置项的历史配置文件。
在其中一个实施例中,处理器执行计算机程序时实现确定对应目标应用程序的全量配置项的全量配置文件之后,还可以实现以下步骤:将全量配置文件发布至配置服务器中,配置服务器基于全量配置文件对历史配置文件进行更新。
在其中一个实施例中,处理器执行计算机程序时实现获取目标应用程序的更新配置项的增量配置文件,可以包括:获取目标应用程序的业务环境标识;基于业务环境标识,获取更新配置项的更新配置数据,生成对应目标应用程序的更新配置项的增量配置文件。
在其中一个实施例中,处理器执行计算机程序时还可以实现以下步骤:将增量配置文件、历史配置文件、全量配置文件以及执行程序中的至少一个上传至区块链节点中进行存储。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取目标应用程序的更新配置项的增量配置文件;从配置服务器中获取目标应用程序的已有配置项的历史配置文件;根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件;基于全量配置文件,将全量配置项注册至目标应用程序的目标执行程序中,对目标执行程序进行更新;加载更新后的目标执行程序,启动更新后的目标应用程序。
在其中一个实施例中,计算机程序被处理器执行时实现根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件之前,还可以包括:识别历史配置文件中的各已有配置项,以及对应各已有配置项的已有配置数据;将已有配置项以及对应的配置项配置数据按照键值对的方式存储,得到对应历史配置文件的第一键值对;识别增量配置文件中的各新增配置项,与对应各新增配置项的新增配置数据;将新增配置项以及对应的新增配置数据按照键值对的方式存储,得到对应增量配置文件的第二键值对。
在本实施例中,计算机程序被处理器执行时实现根据历史配置文件以及增量配置文件,确定对应目标应用程序的全量配置项的全量配置文件,可以包括:对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件。
在其中一个实施例中,计算机程序被处理器执行时实现对第一键值对与第二键值对进行比较,确定对应应用程序的全量配置项的全量配置文件,可以包括:对第一键值对与第二键值对进行比较,确定对应目标应用程序中未更新配置项的未更新键值对;基于未更新键值对以及第二键值对,确定对应目标应用程序的全量配置项的全量配置文件。
在其中一个实施例中,计算机程序被处理器执行时实现从配置服务器中获取目标应用程序的已有配置项的历史配置文件,可以包括:获取配置服务器的数据交互接口;基于交互接口,从配置服务器中获取对应目标应用程序的已有配置项的历史配置文件。
在其中一个实施例中,计算机程序被处理器执行时实现确定对应目标应用程序的全量配置项的全量配置文件之后,还可以实现以下步骤:将全量配置文件发布至配置服务器中,配置服务器基于全量配置文件对历史配置文件进行更新。
在其中一个实施例中,计算机程序被处理器执行时实现获取目标应用程序的更新配置项的增量配置文件,可以包括:获取目标应用程序的业务环境标识;基于业务环境标识,获取更新配置项的更新配置数据,生成对应目标应用程序的更新配置项的增量配置文件。
在其中一个实施例中,计算机程序被处理器执行时还可以实现以下步骤:将增量配置文件、历史配置文件、全量配置文件以及执行程序中的至少一个上传至区块链节点中进行存储。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序加载方法,其特征在于,所述方法包括:
获取目标应用程序的更新配置项的增量配置文件;
从配置服务器中获取所述目标应用程序的已有配置项的历史配置文件;
根据所述历史配置文件以及所述增量配置文件,确定对应所述目标应用程序的全量配置项的全量配置文件;
基于所述全量配置文件,将所述全量配置项注册至所述目标应用程序的目标执行程序中,对所述目标执行程序进行更新;
加载更新后的所述目标执行程序,启动更新后的所述目标应用程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述历史配置文件以及所述增量配置文件,确定对应所述目标应用程序的全量配置项的全量配置文件之前,还包括:
识别所述历史配置文件中的各已有配置项,以及对应各已有配置项的已有配置数据;
将所述已有配置项以及对应的配置项配置数据按照键值对的方式存储,得到对应所述历史配置文件的第一键值对;
识别所述增量配置文件中的各新增配置项,与对应各新增配置项的新增配置数据;
将所述新增配置项以及对应的新增配置数据按照键值对的方式存储,得到对应所述增量配置文件的第二键值对;
所述根据所述历史配置文件以及所述增量配置文件,确定对应所述目标应用程序的全量配置项的全量配置文件,包括:
对所述第一键值对与所述第二键值对进行比较,确定对应所述应用程序的全量配置项的全量配置文件。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一键值对与所述第二键值对进行比较,确定对应所述应用程序的全量配置项的全量配置文件,包括:
对所述第一键值对与所述第二键值对进行比较,确定对应所述目标应用程序中未更新配置项的未更新键值对;
基于所述未更新键值对以及所述第二键值对,确定对应所述目标应用程序的全量配置项的全量配置文件。
4.根据权利要求1所述的方法,其特征在于,所述从配置服务器中获取所述目标应用程序的已有配置项的历史配置文件,包括:
获取配置服务器的数据交互接口;
基于所述交互接口,从所述配置服务器中获取对应所述目标应用程序的已有配置项的历史配置文件。
5.根据权利要求1所述的方法,其特征在于,所述确定对应所述目标应用程序的全量配置项的全量配置文件之后,还包括:
将所述全量配置文件发布至所述配置服务器中,所述配置服务器基于所述全量配置文件对所述历史配置文件进行更新。
6.根据权利要求1所述的方法,其特征在于,所述获取目标应用程序的更新配置项的增量配置文件,包括:
获取所述目标应用程序的业务环境标识;
基于所述业务环境标识,获取更新配置项的更新配置数据,生成对应所述目标应用程序的更新配置项的增量配置文件。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
将所述增量配置文件、所述历史配置文件、所述全量配置文件以及所述执行程序中的至少一个上传至区块链节点中进行存储。
8.一种应用程序加载装置,其特征在于,所述装置包括:
增量配置文件获取模块,用于获取目标应用程序的更新配置项的增量配置文件;
历史配置文件获取模块,用于从配置服务器中获取所述目标应用程序的已有配置项的历史配置文件;
全量配置文件生成模块,用于根据所述历史配置文件以及所述增量配置文件,确定对应所述目标应用程序的全量配置项的全量配置文件;
更新模块,用于基于所述全量配置文件,将所述全量配置项注册至所述目标应用程序的目标执行程序中,对所述目标执行程序进行更新;
加载模块,用于加载更新后的所述目标执行程序,启动更新后的所述目标应用程序。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6或7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6或7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729008.1A CN113515322B (zh) | 2021-06-29 | 2021-06-29 | 应用程序加载方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729008.1A CN113515322B (zh) | 2021-06-29 | 2021-06-29 | 应用程序加载方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515322A true CN113515322A (zh) | 2021-10-19 |
CN113515322B CN113515322B (zh) | 2022-11-01 |
Family
ID=78066390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110729008.1A Active CN113515322B (zh) | 2021-06-29 | 2021-06-29 | 应用程序加载方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515322B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114302431A (zh) * | 2021-12-28 | 2022-04-08 | 中国电信股份有限公司 | 网元配置方法、装置、电子设备及存储介质 |
CN116582872A (zh) * | 2023-07-07 | 2023-08-11 | 北京集度科技有限公司 | 数据发送装置、方法、数据接收装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829406A (zh) * | 2018-06-13 | 2018-11-16 | 珠海市君天电子科技有限公司 | 安装包打包方法、装置、电子设备及存储介质 |
CN109634682A (zh) * | 2018-11-29 | 2019-04-16 | 恒生电子股份有限公司 | 应用程序的配置文件更新方法及装置 |
CN110990076A (zh) * | 2019-11-20 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种基于责任链模式实现的热插拔组件链调用方法 |
CN111142903A (zh) * | 2019-12-23 | 2020-05-12 | 杭州安恒信息技术股份有限公司 | 一种基于文件对比的配置文件交互式更新方法及装置 |
CN111273963A (zh) * | 2020-02-14 | 2020-06-12 | 广州极尚网络技术有限公司 | 应用程序配置信息生成方法、装置、计算机设备和介质 |
CN112015647A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 配置项监控方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-29 CN CN202110729008.1A patent/CN113515322B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829406A (zh) * | 2018-06-13 | 2018-11-16 | 珠海市君天电子科技有限公司 | 安装包打包方法、装置、电子设备及存储介质 |
CN109634682A (zh) * | 2018-11-29 | 2019-04-16 | 恒生电子股份有限公司 | 应用程序的配置文件更新方法及装置 |
CN110990076A (zh) * | 2019-11-20 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种基于责任链模式实现的热插拔组件链调用方法 |
CN111142903A (zh) * | 2019-12-23 | 2020-05-12 | 杭州安恒信息技术股份有限公司 | 一种基于文件对比的配置文件交互式更新方法及装置 |
CN111273963A (zh) * | 2020-02-14 | 2020-06-12 | 广州极尚网络技术有限公司 | 应用程序配置信息生成方法、装置、计算机设备和介质 |
CN112015647A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 配置项监控方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114302431A (zh) * | 2021-12-28 | 2022-04-08 | 中国电信股份有限公司 | 网元配置方法、装置、电子设备及存储介质 |
CN116582872A (zh) * | 2023-07-07 | 2023-08-11 | 北京集度科技有限公司 | 数据发送装置、方法、数据接收装置及存储介质 |
CN116582872B (zh) * | 2023-07-07 | 2023-09-15 | 北京集度科技有限公司 | 数据发送装置、方法、数据接收装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113515322B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573371B (zh) | 数据审批方法、装置、计算机设备和存储介质 | |
CN113515322B (zh) | 应用程序加载方法、装置、计算机设备和可读存储介质 | |
CN110866198B (zh) | 静态资源缓存方法、系统、装置、计算机设备和存储介质 | |
CN110489429B (zh) | 数据获取方法、装置、计算机可读存储介质和计算机设备 | |
CN111651300B (zh) | 一种区块链数据恢复方法、装置、设备及介质 | |
CN110781214A (zh) | 数据库读写方法、装置、计算机设备和存储介质 | |
CN111324905A (zh) | 影像数据标注方法、装置、计算机设备和存储介质 | |
CN109460252B (zh) | 基于git的配置文件处理方法、装置和计算机设备 | |
CN110213392B (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
US20210263504A1 (en) | Hierarchical distributed ledger | |
CN110795171A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN111563365A (zh) | 试验标准工单修改信息处理方法、装置和计算机设备 | |
CN111177121A (zh) | 订单数据反馈方法、装置、计算机设备及存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111884834A (zh) | 基于zookeeper的分布式系统升级方法、系统和计算机设备 | |
CN110011796B (zh) | 证书更新方法、装置、计算机设备和存储介质 | |
CN114461217A (zh) | 代码编译方法、装置、电子设备及存储介质 | |
CN109101232B (zh) | 一种产品开发的方法、装置、计算机设备及存储介质 | |
CN112527357A (zh) | 服务热加载更新方法、装置、计算机设备和存储介质 | |
CN110908801B (zh) | 基于区块链的数据处理方法、装置、计算机设备和存储介质 | |
CN109766084B (zh) | 支付应用的定制开发方法、装置、计算机设备和存储介质 | |
CN111858764A (zh) | 一种数据同步方法、装置、计算机设备及存储介质 | |
CN112862449A (zh) | 结构化工单生成方法、装置、计算机设备和存储介质 | |
CN111552989A (zh) | 基于区块链的业务数据处理方法、装置、设备和存储介质 | |
CN110647336A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |