CN111273963B - 应用程序配置信息生成方法、装置、计算机设备和介质 - Google Patents

应用程序配置信息生成方法、装置、计算机设备和介质 Download PDF

Info

Publication number
CN111273963B
CN111273963B CN202010093210.5A CN202010093210A CN111273963B CN 111273963 B CN111273963 B CN 111273963B CN 202010093210 A CN202010093210 A CN 202010093210A CN 111273963 B CN111273963 B CN 111273963B
Authority
CN
China
Prior art keywords
configuration information
application program
change content
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.)
Active
Application number
CN202010093210.5A
Other languages
English (en)
Other versions
CN111273963A (zh
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.)
Guangzhou Jishang Network Technology Co ltd
Original Assignee
Guangzhou Jishang Network 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 Guangzhou Jishang Network Technology Co ltd filed Critical Guangzhou Jishang Network Technology Co ltd
Priority to CN202010093210.5A priority Critical patent/CN111273963B/zh
Publication of CN111273963A publication Critical patent/CN111273963A/zh
Application granted granted Critical
Publication of CN111273963B publication Critical patent/CN111273963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

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)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及计算机技术领域,具体涉及一种应用程序配置信息生成方法、装置、计算机设备和存储介质。所述方法包括:获取第三方云平台推送的配置信息变更内容;确定与该配置信息变更内容对应的待更新配置信息的目标应用程序;确定与该目标应用程序对应的当前版本配置信息;根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。本发明实施例能够自动获取第三方平台出现变更的数据,并基于该出现变更的数据来生成最新版本的应用程序配置信息,可以更高效地生成应用程序配置信息。

Description

应用程序配置信息生成方法、装置、计算机设备和介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序配置信息生成方法、装置、计算机设备和存储介质。
背景技术
计算机应用程序在运营过程中,开发人员或运维人员等程序管理员可以通过修改应用程序的配置信息(即与应用程序运行相关的一些信息,比如应用程序需要连接的数据库的ip地址、缓存大小、线程数目等信息)来更改应用程序呈现出的特性,以满足自身的使用需求,或者其他用户的需求。
目前,程序管理员要修改应用程序的配置信息时,通常需要先打开整个完整的配置文件,然后在配置文件中找到相应的需要修改的配置行,之后才能进行修改,这种手工修改应用程序配置信息的方式在操作上较为繁琐,修改配置信息的效率较低。此外,在实际场景中,应用程序的配置信息中有一些配置项的数据来源于第三方,并且这些来源于第三方的数据通常分散于多个应用程序的配置信息,这些第三方的数据发生改变时,程序管理员需要将与该第三方数据关联的所有应用程序的配置信息都进行变更,这需要付出很多时间和人力成本,目前人工修改应用程序配置信息的方式不适合用于解决这种情况。
发明内容
本发明针对现有技术的缺点,提供了一种应用程序配置信息生成方法、装置、计算机设备和存储介质,本发明实施例在第三方云平台的数据发生变更时更快地生成应用程序配置信息,节省了人力成本。
本发明根据第一方面提供了一种应用程序配置信息生成方法,在一个实施例中,该方法包括:
获取第三方云平台推送的配置信息变更内容;
确定与该配置信息变更内容对应的待更新配置信息的目标应用程序;
确定与该目标应用程序对应的当前版本配置信息;
根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,该当前版本配置信息包括多个配置项;
该根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息,包括:
确定该当前版本配置信息包括的多个配置项中,与该配置信息变更内容关联的目标配置项;
根据该配置信息变更内容更新该目标配置项的配置信息,生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,获取第三方云平台推送的配置信息变更内容步骤之前,包括:
接收第三方云平台发送的配置信息变更通知;
响应于配置信息变更通知,向第三方云平台发送变更内容获取请求;
接收第三方云平台响应于变更内容获取请求推送的配置信息变更内容;
存储第三方云平台推送的配置信息变更内容。
在一个实施例中,存储该第三方云平台推送的配置信息变更内容,包括:
确定该第三方云平台推送的配置信息变更内容的数据类型;
若该第三方云平台推送的配置信息变更内容的数据类型不属于预设数据类型,对该第三方云平台推送的配置信息变更内容进行数据类型转换处理,得到处理后的配置信息变更内容,该处理后的配置信息变更内容的数据类型为预设数据类型;
存储该处理后的配置信息变更内容。
在一个实施例中,还包括:
向安装有目标应用程序的目标服务器发送配置信息更新通知;
接收目标服务器发送的配置信息获取请求;
根据配置信息获取请求获得最新版本配置信息;
将最新版本配置信息发送给目标服务器,使得目标服务器将本地内存中与目标应用程序对应的配置信息更新为最新版本配置信息。
在一个实施例中,根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息步骤之后,还包括:
将该最新版本配置信息发送给安装有该目标应用程序的目标服务器,使得该目标服务器将本地内存中与目标应用程序对应的配置信息更新为该最新版本配置信息。
在一个实施例中,向安装有所述目标应用程序的目标服务器发送配置信息更新通知,包括:
确定该目标应用程序的当前运行状态;
若该当前运行状态为正常运行状态,向安装有所述目标应用程序的目标服务器发送配置信息更新通知;
若该当前运行状态为非正常运行状态,向预设告警人员名单上的用户发送预设告警信息。
本发明根据第二方面提供了一种应用程序配置信息生成装置,在一个实施例中,该装置包括:
变更内容获取模块,用于获取第三方云平台推送的配置信息变更内容;
目标应用确定模块,用于确定与该配置信息变更内容对应的待更新配置信息的目标应用程序;
当前配置确定模块,用于确定与该目标应用程序对应的当前版本配置信息;
最新配置生成模块,用于根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,配置中心服务器获取第三方云平台服务器推送的配置信息变更内容,然后确定与该配置信息变更内容对应的待更新配置信息的目标应用程序以及确定与该目标应用程序对应的当前版本配置信息;最后根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。本实施例能够自动获取第三方平台出现变更的数据,并基于该出现变更的数据来生成最新版本的应用程序配置信息,可以更高效地生成应用程序配置信息。
附图说明
图1为一个实施例中一种应用程序配置信息生成方法的应用环境图;
图2为一个实施例中一种应用程序配置信息生成方法的流程示意图;
图3为另一个实施例中一种应用程序配置信息生成方法的流程示意图;
图4为又一个实施例中一种应用程序配置信息生成方法的流程示意图;
图5为一个实施例中一种应用程序配置信息生成装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
如图1所示为本发明一个实施例中应用程序配置信息生成方法的应用环境。
其中,配置中心服务器(以下简称为配置中心)20与多个第三方云平台服务器(以下简称为第三方云平台)(如图1所示的11、12、……、1N)之间可以通过网络进行通讯。具体地,配置中心与各个第三方云平台之间接通两个预设接口(即第一预设接口和第二预设接口),当任一个第三方云平台负责维护的配置信息出现变更后,该第三方云平台会主动调用第一预设接口向配置中心发送配置信息变更通知,当配置中心接收到该通知后,会调用第二预设接口以从该第三方云平台拉取配置信息变更内容。配置中心获得配置信息变更内容后,先确定与该配置信息变更内容对应的目标应用程序,并获得该目标应用程序的当前版本配置信息,最后根据该配置信息变更内容和该当前版本配置信息来生成该目标应用程序对应的最新版本配置信息。进一步地,不同的第三方云平台上的数据格式可能不同,因此,配置中心在获得第三方云平台推送的配置信息变更内容之后,需要对该配置信息变更内容进行数据解析和数据格式转换的操作。
配置中心20可以与多个应用程序服务器(即安装有应用程序的服务器,如图1所示的31、32、……、3N)建立网络连接,其中,每个应用程序服务器会在应用程序启动之后定期发送心跳包给配置中心,以告知配置中心应用程序的运行状态以及应用程序的通讯信息。该应用程序的通讯信息包括应用程序所在服务器的ip地址,需要说明的是,假如该服务器上部署了多个应用程序,为了区分不同的应用程序,该通讯信息还包括应用程序的端口信息。进一步地,每个应用程序在开发时需要引入与配置中心配套的配置客户端,该配置客户端是一个SDK(Software Development Kit,软件开发工具包),用于提供从配置中心拉取应用程序配置信息、解析应用程序配置信息、定时给配置中心上报心跳包等功能。配置中心在生成目标应用程序对应的最新版本配置信息之后,可以通过网络连接将生成的最新版本配置信息发送给目标应用程序所在的服务器。
具体地,各个应用程序服务器、配置中心20和各个第三方云平台可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,是本发明一个实施例提供的一种应用程序配置信息生成方法,下面以该方法应用于图1中的配置中心服务器为例进行说明。该方法包括以下步骤:
S110:获取第三方云平台推送的配置信息变更内容。
在本实施例中,配置中心用于为多个应用程序生成要推送给应用程序使用的最新版本配置信息。在运营过程中会不定时或者定时地为应用程序更新配置信息,配置中心会为每个应用程序保留1个或多个版本的配置信息(可以是全部版本的配置信息,也可以是最近一段时间内使用过的配置信息,还可以是当前使用的版本之前若干个版本的配置信息),每个版本的配置信息会对应有一个唯一版本号以方便区分,不同应用程序所采用的版本号形式可以相同也可以不同,比如,应用程序A有两个版本的配置信息,版本号分别是A_1.21和A_2.0,应用程序B有一个版本的配置信息,版本号是B_2019.Beta,版本号的形式有多种本实施例不进行具体限制。
应用程序的任一个版本的配置信息中包括多个配置项,可以理解的,不同应用程序之间的配置信息或者同一应用程序不同版本之间的配置信息所包括的配置项的数量或配置项的类型可能存在差异。配置中心负责维护配置信息的多个应用程序中,有部分或者全部应用程序分别对应的多个配置项中有至少一个配置项的配置信息由若干个第三方云平台进行维护。
在一个实施方式中,配置中心获取第三方云平台推送的配置信息变更内容步骤之前,包括:
接收第三方云平台发送的配置信息变更通知;
响应于该配置信息变更通知,向该第三方云平台发送变更内容获取请求;
接收该第三方云平台响应于该变更内容获取请求推送的配置信息变更内容;
存储该第三方云平台推送的配置信息变更内容。
具体地,与配置中心连接的多个第三方云平台中,当任意一个第三方云平台负责维护的某个或某多个配置的配置信息发送发生变更后,会先向配置中心发送配置信息变更通知,比如,应用程序A的配置信息有3个配置项,分别是“应用ID”、“数据库属性”以及“管理员账号信息”,其中,“数据库属性”这一配置项由一个第三方云平台Platform_A来进行维护,“数据库属性”这一配置项具体包括两个配置参数,一个是给应用程序提供数据的目标数据库的数据库标识,另一个是该目标数据库的ip地址,假设目前应用程序A的“数据库属性”为“db_123:123.0.0.1”,如果Platform_A将其维护的数据库标识为“db_123”的数据库的ip地址从“123.0.0.1”更新为“123.0.1.1”,那么Platform_A就给配置中心发送配置信息变更通知,以使配置中心响应于该通知来请求获取配置信息变更内容“db_123:123.0.1.1”。配置中心接收到该配置信息变更通知后,会向该第三方云平台发送变更内容获取请求,以使该第三方云平台向配置中心推送配置信息变更内容。
在另一种可能的实施方式中,配置中心获得第三方云平台的配置信息变更内容的方式可以是,各个第三方云平台在其负责维护的某个或某多个配置的配置信息发送发生变更后,直接将配置信息变更内容推送给配置中心。
进一步地,配置中心存储该第三方云平台推送的配置信息变更内容的步骤,包括:
确定该第三方云平台推送的配置信息变更内容的数据类型;
若该第三方云平台推送的配置信息变更内容的数据类型不属于预设数据类型,对该第三方云平台推送的配置信息变更内容进行数据类型转换处理,得到处理后的配置信息变更内容,该处理后的配置信息变更内容的数据类型为预设数据类型;
存储该处理后的配置信息变更内容。
其中,不同第三方云平台提供的数据的数据类型可能与配置中心使用的数据类型不同,为了顺利执行后续操作,配置中心需要将数据类型与本服务器使用的数据类型(即预设数据类型)不同的配置信息变更内容进行数据类型转换。比如,配置中心使用的数据类型为json(JavaScript Object Notation,JS对象简谱),与配置中心连接的第三方云平台分别有Platform_A、Platform_B和Platform_C,假如Platform_A推送的数据的数据类型为文本、Platform_B的为json,Platform_C的为数组,其中,Platform_A和Platform_C推送的数据的数据类型都不是json,那么在配置中心在接收到Platform_A或Platform_C推送的数据后,将其存储时需要将其转换成json数据类型的数据,然后再进行存储。
S120:确定与该配置信息变更内容对应的待更新配置信息的目标应用程序。
在本实施例中,配置中心接收到第三方云平台推送的配置信息变更内容后,确定与该配置信息变更内容对应的目标应用程序,该目标应用程序是指待更新配置信息的应用程序。可以理解的,与配置信息变更内容对应的目标应用程序可能只有1个,也可能存在多个。
S130:确定与该目标应用程序对应的当前版本配置信息。
在本实施例中,在确定出目标应用程序后,配置中心会进一步地确定出与目标应用程序对应的当前版本配置信息,其中,该当前版本配置信息是指应用程序当前正在使用的配置信息。还需要说明的是,当前版本配置信息可以是在配置中心执行后续步骤生成最新版本配置信息之前,该目标应用程序的所有版本的配置信息中版本号最新的配置信息,但也可能不是该目标应用程序的所有版本的配置信息中版本最新的那一版本配置信息,因为在实际场景中,有可能配置中心推送给应用程序的版本最新的配置信息在使用时存在问题,为了使应用程序正常运行,配置中心会给该应用程序进行版本回滚,即将应用程序在使用该版本最新的配置信息之前所使用那一版本配置信息再推送给应用程序,使应用程序使用之前那一版本的配置信息。
S140:根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
在本实施例中,在确定出当前版本配置信息之后,配置中心就自动根据该配置信息变更内容和该当前版本配置信息来生成该目标应用程序对应的最新版本配置信息,其中,该最新版本配置信息是指该应用程序对应的所有版本的配置信息中生成时间(也可以是首次推送给应用程序的时间)与当前时间最接近的版本,比如,当前时间为2020年1月10日,应用程序A目前共有两个版本的配置信息,即第一版本和第二版本,其中第一版本是2020年1月1日生成的,第二版本是2020年1月9日生成的,那么最新版本配置信息是指应用程序A的第二版本的配置信息。
具体地,配置中心根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息的步骤,包括:
确定该当前版本配置信息包括的多个配置项中,与该配置信息变更内容关联的目标配置项;
根据该配置信息变更内容更新该目标配置项的配置信息,生成该目标应用程序对应的最新版本配置信息。
其中,该当前版本配置信息包括多个配置项,为了方便区分可以为配置信息的每个配置项分配一个唯一配置标识。配置中心需要确定该多个配置项中那些与配置信息变更内容关联的目标配置项,具体地,配置中心可以维护一个或一系列对照表,用于确定与配置信息变更内容关联的应用程序及其配置信息中的目标配置项,也就是说通过该对照表配置中心可以确定哪个应用程序的哪个(或多个)配置项的配置信息需要更新。在确定了目标配置项后,配置中心就将该目标配置项当前的配置信息修改为该配置信息变更内容。需要说明的是,如果目标应用程序存在多个,那么配置中心会并行或串行地为各个目标应用程序生成其对应的最新版本配置信息,配置中心生成各个目标应用程序的最新版本配置信息所需执行的操作是一致的。
比如,第三方云平台Platform_A维护一个图片数据库的ip地址,该图片数据库的数据库标识为DB_imag,当前其ip地址为123.0.0.1,配置中心管理有3个应用程序(即App_A、App_B、App_C)需要从该图片数据库中获取图片,那么该3个应用程序各自的配置信息中都会包含相应的配置项,即“DB_imag:123.0.0.1”,如果该图片数据库的ip地址变更了,那么配置中心就向配置中心推送变更后的ip地址,即“DB_imag:123.0.1.1”,配置中心获取该图片数据库的数据库标识DB_imag,然后查询对照表,确定与该数据库标识对应的配置项(即目标配置项)是,应用程序App_A的第一配置项、App_B的第一配置项、App_C的第三配置项,然后将App_A和App_B的第一配置项、App_C的第三配置项对应的配置信息“DB_imag:123.0.0.1”更新为“DB_imag:123.0.1.1”。
相比人工修改以及生成应用程序配置信息的方式,本发明实施例能够自动获取第三方平台出现变更的数据,并基于该出现变更的数据来生成最新版本的应用程序配置信息,可以更快地生成应用程序配置信息,使目标应用程序可以更快地使用到最新版本的配置信息。
在一个实施例中,如图3所示,配置中心根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息步骤之后,还包括以下步骤:
S150:向安装有该目标应用程序的目标服务器发送配置信息更新通知。
S160:接收目标服务器发送的配置信息获取请求。
S170:根据该配置信息获取请求获得该最新版本配置信息。
S180:将该最新版本配置信息发送给该目标服务器,使得该目标服务器将本地内存中与该目标应用程序对应的配置信息更新为该最新版本配置信息。
在本实施例中,开发人员可以开发一个与配置中心配套的配置客户端,该配置客户端是一个SDK,也可以说是一个代码包,用于提供从配置中心拉取应用程序配置信息、解析应用程序配置信息、定时给配置中心上报心跳包等功能。当开发人员在开发应用程序时可以将该配置客户端引入到应用程序中,开发出来的应用程序就可以实现该SDK能够实现的功能。应用程序在启动之后会自动与配置中心建立连接,并从配置中心拉取与本应用程序对应的配置信息,然后将得到的配置信息保存到本地内存(即应用程序所在服务器的内存中)以便后续使用。
进一步地,配置中心除了通知目标应用程序来拉取配置信息,还可以直接将配置信息发送给目标应用程序。在一个实施方式中,配置中心根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息步骤之后,还包括:
将该最新版本配置信息发送给安装有该目标应用程序的目标服务器,使得该目标服务器将本地内存中与目标应用程序对应的配置信息更新为该最新版本配置信息。
在本实施方式中,配置中心会主动地为待更新配置信息的目标应用程序推送其最新版本配置信息,具体地,配置中心会将生成的最新版本配置信息发送给安装有目标应用程序的服务器(即目标服务器),使得目标应用程序可以快速使用到最新版本配置信息。
需要说明的是,在传统方式中,应用程序的配置信息都是写在配置文件中的,运行时需要从配置文件中加载配置信息到内存中进行使用,但是如果配置文件中的配置信息更新了,如果要使用该更新了的配置信息,就需要重新启动应用程序,这样才能从更新后的配置文件中获取到更新的配置信息,然而重新启动应用程序会造成不必要的损失。
在本实施方式中,应用程序的配置信息不存储在配置文件中,直接存储在本地内存中,这样能够实现对配置信息的随取随用,当接收到配置中心发送的最新版本配置信息后,只需要将本地内存中的当前版本配置信息销毁,替换为该最新版本配置信息,不需要重新启动应用程序即可使用最新版本配置信息。需要说明的是,本实施方式中,配置中心发送过来的配置信息,应用程序不能直接使用,需要先进行数据解析,所以开发人员需要为各个应用程序预先编写用于解析最新版本配置信息的解析逻辑,这样应用程序才能在接收到最新版本配置信息后,对其进行解析。
需要说明的是,在实际场景中,配置中心执行步骤S110-S180时的执行顺序不局限于从步骤S110依次执行到S180,还可以是其他顺序。
比如,在一个示例性的例子中,如图4所示,该应用程序配置信息生成方法还可以包括:
S210:获取第三方云平台推送的配置信息变更内容。
S220:确定与该配置信息变更内容对应的待更新配置信息的目标应用程序。
S230:向安装有该目标应用程序的目标服务器发送配置信息更新通知。
S240:接收目标服务器发送的配置信息获取请求。
S250:确定与该目标应用程序对应的当前版本配置信息。
S260:根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
S270:根据该配置信息获取请求获得该最新版本配置信息。
S280:将该最新版本配置信息发送给该目标服务器,使得该目标服务器将本地内存中与该目标应用程序对应的配置信息更新为该最新版本配置信息。
在本示例中,各个步骤的具体执行过程与上一实施例及前述其他实施例介绍的一致,不同之处在于本实施例中配置中心执行各步骤的执行顺序不同。具体地,配置中心在确定与第三方云平台推送的配置信息变更内容对应的目标应用程序后,不是执行生成最新版本配置信息的相关步骤而是先向该目标应用程序所在的服务器,即目标服务器发送配置信息更新通知,当接收到该目标服务器发送的配置信息获取请求时,才开始执行生成最新版本配置信息的相关步骤(即S250-S260)。
在另一示例中,配置中心可以是在确定与第三方云平台推送的配置信息变更内容对应的目标应用程序后,同时执行向应用程序所在的服务器发送相关通知的步骤(即S230)和生成最新版本配置信息的相关步骤(即S250-S260),也就是说将配置中心给应用程序所在服务器发送配置信息更新通知直到接收到该服务器发送的配置信息获取请求这两个动作之间的时间用于执行生成最新版本配置信息的相关步骤,充分利用等待该目标服务器发送请求的时间,可以更快地为目标应用程序更新配置信息。可以理解的,当配置中心接收到目标服务器发送的配置信息获取请求时,如果此时最新版本配置信息已经生成了,那么直接将其反馈给目标服务器,如果还处于生成中的状态,那么就进行等待。
在一个实施例中,配置中心向安装有目标应用程序的目标服务器发送配置信息更新通知的步骤,包括:
确定该目标应用程序的当前运行状态;
若该当前运行状态为正常运行状态,向安装有该目标应用程序的目标服务器发送配置信息更新通知;
若该当前运行状态为非正常运行状态,向预设告警人员名单上的用户发送预设告警信息。
在本实施例中,目标应用程序定期向配置中心发送心跳包来反馈本应用程序在目标服务器上的运行状态。如果配置中心能够接收到目标应用程序的心跳包,说明目标应用程序的当前运行状态为正常运行状态,如果此时需要向目标应用程序所在的服务器发送配置信息更新通知,那么就直接发送即可;如果接收不到目标应用程序的心跳包,那么说明目标应用程序的当前运行状态为非正常运行状态,可能是软件项目出现中断、失联等情况,此时向预设告警人员名单上的用户发送预设告警信息,从而该用户能够及时发现问题并解决问题,比如,通过邮件、短信、即时通讯信息等方式给该名单上的用户发送消息。
在一个实施例中,如图5所示,提供了一种应用程序配置信息生成装置,包括以下模块:
变更内容获取模块,用于获取第三方云平台推送的配置信息变更内容;
目标应用确定模块,用于确定与该配置信息变更内容对应的待更新配置信息的目标应用程序;
当前配置确定模块,用于确定与该目标应用程序对应的当前版本配置信息;
最新配置生成模块,用于根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,该当前版本配置信息包括多个配置项;
该最新配置生成模块,包括:
目标配置项确定子模块,用于确定该当前版本配置信息包括的多个配置项中,与该配置信息变更内容关联的目标配置项;
最新配置生成子模块,用于根据该配置信息变更内容更新该目标配置项的配置信息,生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,该应用程序配置信息生成装置在执行变更内容获取模块对应的功能之前,还执行以下模块对应的功能:
请求发送模块,用于通过预设接口向该第三方云平台发送长轮询请求;
变更内容接收模块,用于接收该第三方云平台响应于该长轮询请求推送的配置信息变更内容;
变更内容存储模块,用于存储该第三方云平台推送的配置信息变更内容。
在一个实施例中,该变更内容存储模块,具体包括:
数据类型确定子模块,用于确定该第三方云平台推送的配置信息变更内容的数据类型;
类型转换子模块,用于当该第三方云平台推送的配置信息变更内容的数据类型不属于预设数据类型时,对该第三方云平台推送的配置信息变更内容进行数据类型转换处理,得到处理后的配置信息变更内容,该处理后的配置信息变更内容的数据类型为预设数据类型;
变更内容存储子模块,用于存储该处理后的配置信息变更内容。
在一个实施例中,该应用程序配置信息生成装置,还包括以下模块:
更新通知发送模块,用于向安装有该目标应用程序的目标服务器发送配置信息更新通知,该配置信息更新通知用于指示该目标服务器启动与目标应用程序关联的配置客户端;
获取请求接收模块,用于接收该配置客户端完成启动之后发送的配置信息获取请求;
最新配置获得模块,用于根据该配置信息获取请求获得该最新版本配置信息;
最新配置发送模块,用于将该最新版本配置信息发送给该配置客户端,使得该配置客户端将本地内存中与该目标应用程序对应的配置信息更新为该最新版本配置信息。
在一个实施例中,应用程序配置信息生成装置在执行最新配置生成模块之后,还执行以下模块对应的功能:
最新版本配置信息发送模块,用于将该最新版本配置信息发送给安装有该目标应用程序的目标服务器,使得该目标服务器将本地内存中与目标应用程序对应的配置信息更新为该最新版本配置信息。
在一个实施例中,更新通知发送模块,具体包括:
当前状态确定子模块,用于确定该目标应用程序的当前运行状态;
更新通知发送子模块,用于当该当前运行状态为正常运行状态时,向安装有该目标应用程序的目标服务器发送配置信息更新通知;
告警信息发送子模块,用于当该当前运行状态为非正常运行状态时,向预设告警人员名单上的用户发送预设告警信息。
关于应用程序配置信息生成装置的具体限定可以参见上文中对于应用程序配置信息生成方法的限定,在此不再赘述。上述应用程序配置信息生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多个应用程序对应的至少一个版本的配置信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序配置信息生成方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取第三方云平台推送的配置信息变更内容;确定与该配置信息变更内容对应的待更新配置信息的目标应用程序;确定与该目标应用程序对应的当前版本配置信息;根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,该当前版本配置信息包括多个配置项;处理器执行计算机程序,实现根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息时,还实现以下步骤:
确定该当前版本配置信息包括的多个配置项中,与该配置信息变更内容关联的目标配置项;根据该配置信息变更内容更新该目标配置项的配置信息,生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,处理器执行计算机程序,实现获取第三方云平台推送的配置信息变更内容步骤之前,还实现以下步骤:
接收第三方云平台发送的配置信息变更通知;响应于配置信息变更通知,向第三方云平台发送变更内容获取请求;接收第三方云平台响应于变更内容获取请求推送的配置信息变更内容;存储第三方云平台推送的配置信息变更内容。
在一个实施例中,处理器执行计算机程序,实现存储该第三方云平台推送的配置信息变更内容时,还实现以下步骤:
确定该第三方云平台推送的配置信息变更内容的数据类型;若该第三方云平台推送的配置信息变更内容的数据类型不属于预设数据类型,对该第三方云平台推送的配置信息变更内容进行数据类型转换处理,得到处理后的配置信息变更内容,该处理后的配置信息变更内容的数据类型为预设数据类型;存储该处理后的配置信息变更内容。
在一个实施例中,处理器执行计算机程序,还实现以下步骤:
向安装有目标应用程序的目标服务器发送配置信息更新通知;接收目标服务器发送的配置信息获取请求;根据配置信息获取请求获得最新版本配置信息;将最新版本配置信息发送给目标服务器,使得目标服务器将本地内存中与目标应用程序对应的配置信息更新为最新版本配置信息。
在一个实施例中,处理器执行计算机程序,实现根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息步骤之后,还实现以下步骤:
将该最新版本配置信息发送给安装有该目标应用程序的目标服务器,使得该目标服务器将本地内存中与目标应用程序对应的配置信息更新为该最新版本配置信息。
在一个实施例中,处理器执行计算机程序时,实现向安装有该目标应用程序的目标服务器发送配置信息更新通知时,还实现以下步骤:
确定该目标应用程序的当前运行状态;若该当前运行状态为正常运行状态,向安装有该目标应用程序的目标服务器发送配置信息更新通知;若该当前运行状态为非正常运行状态,向预设告警人员名单上的用户发送预设告警信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取第三方云平台推送的配置信息变更内容;确定与该配置信息变更内容对应的待更新配置信息的目标应用程序;确定与该目标应用程序对应的当前版本配置信息;根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,该当前版本配置信息包括多个配置项;计算机程序被处理器执行,根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息时,还实现以下步骤:
确定该当前版本配置信息包括的多个配置项中,与该配置信息变更内容关联的目标配置项;根据该配置信息变更内容更新该目标配置项的配置信息,生成该目标应用程序对应的最新版本配置信息。
在一个实施例中,计算机程序被处理器执行,获取第三方云平台推送的配置信息变更内容步骤之前,还实现以下步骤:
接收第三方云平台发送的配置信息变更通知;响应于配置信息变更通知,向第三方云平台发送变更内容获取请求;接收第三方云平台响应于变更内容获取请求推送的配置信息变更内容;存储第三方云平台推送的配置信息变更内容。
在一个实施例中,计算机程序被处理器执行,存储该第三方云平台推送的配置信息变更内容时,还实现以下步骤:
确定该第三方云平台推送的配置信息变更内容的数据类型;若该第三方云平台推送的配置信息变更内容的数据类型不属于预设数据类型,对该第三方云平台推送的配置信息变更内容进行数据类型转换处理,得到处理后的配置信息变更内容,该处理后的配置信息变更内容的数据类型为预设数据类型;存储该处理后的配置信息变更内容。
在一个实施例中,计算机程序被处理器执行,还实现以下步骤:
向安装有目标应用程序的目标服务器发送配置信息更新通知;接收目标服务器发送的配置信息获取请求;根据配置信息获取请求获得最新版本配置信息;将最新版本配置信息发送给目标服务器,使得目标服务器将本地内存中与目标应用程序对应的配置信息更新为最新版本配置信息。
在一个实施例中,计算机程序被处理器执行,根据该配置信息变更内容和该当前版本配置信息生成该目标应用程序对应的最新版本配置信息步骤之后,还实现以下步骤:
将该最新版本配置信息发送给安装有该目标应用程序的目标服务器,使得该目标服务器将本地内存中与目标应用程序对应的配置信息更新为该最新版本配置信息。
在一个实施例中,计算机程序被处理器执行时,向该目标应用程序发送配置信息更新通知时,还实现以下步骤:
确定该目标应用程序的当前运行状态;若该当前运行状态为正常运行状态,向安装有该目标应用程序的发送配置信息更新通知;若该当前运行状态为非正常运行状态,向预设告警人员名单上的用户发送预设告警信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (9)

1.一种应用程序配置信息生成方法,其特征在于,应用于配置中心,所述配置中心连接多个第三方云平台以及多个应用程序服务器;所述方法包括:
获取所述多个第三方云平台中的任一个第三方云平台推送的配置信息变更内容;
确定与所述配置信息变更内容对应的待更新配置信息的目标应用程序;所述目标应用程序的数量为多个;
确定与所述目标应用程序对应的当前版本配置信息;
根据所述配置信息变更内容和所述当前版本配置信息生成所述目标应用程序对应的最新版本配置信息;
将所述最新版本配置信息发送给目标服务器,使得所述目标服务器将本地内存中与所述目标应用程序对应的配置信息更新为所述最新版本配置信息;所述目标服务器是所述多个应用程序服务器中安装有所述目标应用程序的应用程序服务器。
2.如权利要求1所述的应用程序配置信息生成方法,其特征在于,
所述当前版本配置信息包括多个配置项;
所述根据所述配置信息变更内容和所述当前版本配置信息生成所述目标应用程序对应的最新版本配置信息,包括:
确定所述当前版本配置信息包括的多个配置项中,与所述配置信息变更内容关联的目标配置项;
根据所述配置信息变更内容更新所述目标配置项的配置信息,生成所述目标应用程序对应的最新版本配置信息。
3.如权利要求1所述的应用程序配置信息生成方法,其特征在于,
所述获取第三方云平台推送的配置信息变更内容步骤之前,包括:
接收第三方云平台发送的配置信息变更通知;
响应于所述配置信息变更通知,向所述第三方云平台发送变更内容获取请求;
接收所述第三方云平台响应于所述变更内容获取请求推送的配置信息变更内容;
存储所述第三方云平台推送的配置信息变更内容。
4.如权利要求3所述的应用程序配置信息生成方法,其特征在于,
所述存储所述第三方云平台推送的配置信息变更内容,包括:
确定所述第三方云平台推送的配置信息变更内容的数据类型;
若所述第三方云平台推送的配置信息变更内容的数据类型不属于预设数据类型,对所述第三方云平台推送的配置信息变更内容进行数据类型转换处理,得到处理后的配置信息变更内容,所述处理后的配置信息变更内容的数据类型为预设数据类型;
存储所述处理后的配置信息变更内容。
5.如权利要求1所述的应用程序配置信息生成方法,其特征在于,将所述最新版本配置信息发送给目标服务器,还包括:
向安装有所述目标应用程序的目标服务器发送配置信息更新通知;接收所述目标服务器发送的配置信息获取请求;根据所述配置信息获取请求获得所述最新版本配置信息;将所述最新版本配置信息发送给所述目标服务器;
或,将所述最新版本配置信息直接发送给安装有所述目标应用程序的目标服务器。
6.如权利要求5所述的应用程序配置信息生成方法,其特征在于,
所述向安装有所述目标应用程序的目标服务器发送配置信息更新通知,包括:
确定所述目标应用程序的当前运行状态;
若所述当前运行状态为正常运行状态,向安装有所述目标应用程序的目标服务器发送配置信息更新通知;
若所述当前运行状态为非正常运行状态,向预设告警人员名单上的用户发送预设告警信息。
7.一种应用程序配置信息生成装置,其特征在于,应用于配置中心,所述配置中心连接多个第三方云平台以及多个应用程序服务器;所述装置包括:
变更内容获取模块,用于获取所述多个第三方云平台中的任一个第三方云平台推送的配置信息变更内容;
目标应用确定模块,用于确定与所述配置信息变更内容对应的待更新配置信息的目标应用程序;所述目标应用程序的数量为多个;
当前配置确定模块,用于确定与所述目标应用程序对应的当前版本配置信息;
最新配置生成模块,用于根据所述配置信息变更内容和所述当前版本配置信息生成所述目标应用程序对应的最新版本配置信息;
最新版本配置信息发送模块,用于将所述最新版本配置信息发送给安装有所述目标应用程序的目标服务器,使得所述目标服务器将本地内存中与所述目标应用程序对应的配置信息更新为所述最新版本配置信息。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010093210.5A 2020-02-14 2020-02-14 应用程序配置信息生成方法、装置、计算机设备和介质 Active CN111273963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010093210.5A CN111273963B (zh) 2020-02-14 2020-02-14 应用程序配置信息生成方法、装置、计算机设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010093210.5A CN111273963B (zh) 2020-02-14 2020-02-14 应用程序配置信息生成方法、装置、计算机设备和介质

Publications (2)

Publication Number Publication Date
CN111273963A CN111273963A (zh) 2020-06-12
CN111273963B true CN111273963B (zh) 2023-02-24

Family

ID=70997146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010093210.5A Active CN111273963B (zh) 2020-02-14 2020-02-14 应用程序配置信息生成方法、装置、计算机设备和介质

Country Status (1)

Country Link
CN (1) CN111273963B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831325B (zh) * 2020-07-17 2023-08-22 中国工商银行股份有限公司 应用中配置文件的更新方法、装置、系统和介质
CN111984272B (zh) * 2020-09-08 2023-11-17 河北幸福消费金融股份有限公司 应用自动上线的方法、系统、存储介质及计算机设备
CN113515322B (zh) * 2021-06-29 2022-11-01 平安养老保险股份有限公司 应用程序加载方法、装置、计算机设备和可读存储介质
CN113485772A (zh) * 2021-07-28 2021-10-08 江苏创源电子有限公司 一种应用程序的配置更新方法、装置、设备及介质
CN114327602B (zh) * 2021-12-31 2022-11-04 北京百度网讯科技有限公司 信息处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100191A (zh) * 2015-05-22 2015-11-25 华为技术有限公司 一种云编译实现Java应用安装的方法、装置及系统
CN106250195A (zh) * 2016-08-10 2016-12-21 青岛海信电器股份有限公司 更新系统文件的方法、设备及系统
CN106547576A (zh) * 2015-09-16 2017-03-29 腾讯科技(深圳)有限公司 配置文件的获取方法及装置
CN106791123A (zh) * 2016-12-27 2017-05-31 努比亚技术有限公司 用户终端及应用处理方法
CN108319460A (zh) * 2018-01-24 2018-07-24 广东小天才科技有限公司 应用程序安装包的生成方法、装置、电子设备及存储介质
CN110347413A (zh) * 2019-06-27 2019-10-18 北京口袋时尚科技有限公司 软件配置信息更新方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
CN102946415B (zh) * 2012-10-18 2016-01-27 北京华胜鸣天科技有限公司 一种移动终端本地应用的实现方法和装置
CN106713020A (zh) * 2016-12-09 2017-05-24 互联网域名系统北京市工程研究中心有限公司 一种实现dns服务器集群配置更新同步的方法
CN108847949A (zh) * 2018-08-13 2018-11-20 北京奇虎科技有限公司 基于云平台的消息通知方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100191A (zh) * 2015-05-22 2015-11-25 华为技术有限公司 一种云编译实现Java应用安装的方法、装置及系统
CN106547576A (zh) * 2015-09-16 2017-03-29 腾讯科技(深圳)有限公司 配置文件的获取方法及装置
CN106250195A (zh) * 2016-08-10 2016-12-21 青岛海信电器股份有限公司 更新系统文件的方法、设备及系统
CN106791123A (zh) * 2016-12-27 2017-05-31 努比亚技术有限公司 用户终端及应用处理方法
CN108319460A (zh) * 2018-01-24 2018-07-24 广东小天才科技有限公司 应用程序安装包的生成方法、装置、电子设备及存储介质
CN110347413A (zh) * 2019-06-27 2019-10-18 北京口袋时尚科技有限公司 软件配置信息更新方法及装置

Also Published As

Publication number Publication date
CN111273963A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN111273963B (zh) 应用程序配置信息生成方法、装置、计算机设备和介质
US11172023B2 (en) Data synchronization method and system
CN109582684B (zh) 一种本地缓存数据的更新方法、装置、服务器及存储介质
CN111800459A (zh) 下载任务异步处理方法、装置、系统和存储介质
CN111159233B (zh) 分布式缓存方法、系统、计算机设备以及存储介质
CN111770172A (zh) 消息中间件消费代理方法、装置、代理服务器及存储介质
US11271714B2 (en) Time synchronization system, time master, management master, and time synchronization method
CN112882738A (zh) 一种微服务架构下的配置信息更新方法、装置及电子设备
CN111541762B (zh) 数据处理的方法、管理服务器、设备及存储介质
CN110928887A (zh) 一种数据处理方法及装置
CN115509756A (zh) 多集群计算任务提交方法及相关装置、设备
CN111526185A (zh) 数据下载方法、装置、系统及存储介质
CN108092829B (zh) 集群分裂的处理方法、sdn控制器及存储介质
EP3672203A1 (en) Distribution method for distributed data computing, device, server and storage medium
CN112235378B (zh) 数据更新方法、装置、存储介质及电子设备
CN109688011B (zh) 一种基于OpenStack的agent选择方法及装置
CN106657195B (zh) 任务处理方法和中继设备
CN109547253B (zh) 文件下载方法、装置、计算机设备和存储介质
CN111478941B (zh) Mock自动化运行方法、装置、计算机设备及存储介质
CN115220993A (zh) 进程监控方法、装置、车辆及存储介质
CN115297105A (zh) 文件传输方法、装置、计算机设备及存储介质
CN113268365A (zh) 实现分布式系统中延时消息的方法和装置、设备及存储介质
CN113407498A (zh) 一种数据同步方法、装置、云平台、系统及存储介质
CN113760843A (zh) 一种站点部署方法及终端
CN109086107B (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