一种软件平台的统一配置管理方法和装置与流程

文档序号:12176522阅读:471来源:国知局
一种软件平台的统一配置管理方法和装置与流程

本发明涉及计算机软件应用领域,尤其涉及一种软件平台的统一配置管理方法和装置。



背景技术:

目前,对于大多数企业软件平台来说,大多软件提供商采用软件平台升级的方式顺应企业业务功能的变化。而对于较大的升级措施,大多采用重新部署的方式解决。根据软件生命周期的规律,一个软件平台趋于稳定以前基本都会采用重新部署的方式进行升级。由于软件平台本身体系庞大复杂,有的包括许多应用系列,这使得软件平台的参数配置内容繁多复杂,人工参与部署交互可靠性差,工作量大,很容易造成升级失败。然而在频繁的升级工作中,大多参数配置内容相对稳定,为了改变这一局面,许多软件提供商在软件平台参数提前统一规划的基础上依靠安装工具,采取部署时一次性配置,或者代替人工实现自动交互的方式部署软件平台。

软件平台参数规划时,为避免软件平台升级人员在部署过程中对安装的交互输入参数错误,采取统一规划的方式对参数进行统一配置,提前由软件平台的运维升级人员规划公共参数和各个应用的特定参数。而平台配置文件中包括平台公共参数和特定应用参数两部分,其中平台公共参数配置软件平台中各个应用的公共参数集合,如数据库信息,FTP信息等;特定应用参数部分配置各个应用中特定的参数集合,如每个应用所需要的网络监控端口,启动的内存大小等参数集合。

现有的软件平台的部署方式包括一次性配置安装包方式和自动交互方式。其中,一次性配置安装包方式可参阅图1所示,该方式主要是根据部署的约定,由安装工具集成软件平台应用系列为整体部署包,在安装过程中不再提供参数 的配置交互,由安装包引擎根据平台配置文件自动完成对整个软件平台中各个应用的配置。该种配置方式的主要特征体现在以下方面:1)软件平台的部署包由安装部署工具制作,为bin或者exe方式;2)在制作部署包时,通过定制部署引擎脚本来配置各个应用中的配置参数;3)不同的部署包(如包括哪些应用,几个应用)需要定制不同的部署引擎脚本;4)在部署过程中,由部署包引擎通过平台配置文件中的配置内容,自动配置所有应用中的配置文件中的参数;5)安装完毕后,软件平台中的各个应用配置完毕。

其中,自动交互方式的实施过程可参阅图2所示,该种方式下,利用安装部署工具在安装过程中自动交互,实现对整个软件平台中各个应用的一次性配置。该种配置方式的主要特征体现在以下方面:1)软件平台的部署包由安装部署工具制作,为bin或者exe方式;2)利用部署工具严格按照各个应用的部署配置步骤定制不同的自动交互过程引擎,再发布相应的部署引擎工具;3)在每个应用的部署过程中,有部署工具运行自动交互引擎进行自动交互,根据软件平台配置文件,按照应用的配置步骤完成各个应用中参数的配置4)安装完毕后,软件平台中的各个应用配置完毕。

由此可知,现有的安装工具和部署工具大都扩展非常有限,并且不支持自定义扩展,在特殊应用中容易受限;对部署包制作人员要求高,在制作部署包时,需要定制每个部署包的安装引擎脚本,确定哪个应用的哪些参数应该配置,维护工作量大,而且需要对部署工具进行培训学习;容易对版本制作人力资源形成不可替代的依赖,人员调动或者离职将引起部署包发布障碍,工作移交效果不可靠;对部署工具依赖性太强,若部署中的配置步骤变化(比如在配置过程中间添加新的配置参数)或者配置参数变化(如名称变化等),则必须更改安装工具的部署脚本,重新生成部署包,或者重新定制自动交互引擎,重新发布部署引擎工具;软件平台部署包格式受限,只能用部署工具支持的格式如exe,bin等格式才可以;最重要的是不能支持配置更新,执行过程中,若发现平台配置文件中有配置参数错误或者需要修改,整个部署过程将全部作废,而 且错误不易排查,同时由于部署现场限制较多,导致必须重新部署,而且对于商业性软件平台,没有做到软件平台的平台配置和应用部署隔离,本质上是没有真正实现一键式透明部署方式。



技术实现要素:

本发明的目的是提供一种软件平台的统一配置管理方法和装置,以解决由于软件平台的平台配置和应用部署未能隔离而造成的配置流程对配置工具依赖性强的问题。

本发明的目的是通过以下技术方案实现的:

一种软件平台的统一配置管理方法,包括:

接收配置管理命令;

确定所述配置管理命令有效后,读取预存的平台配置文件,并确定所述配置管理命令的执行类型;

基于所述配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行所述配置管理命令中涉及的应用配置流程,所述应用注册表用于配置软件平台中的各类应用信息,所述应用信息包括应用名称和应用部署位置。

这样,能够实现软件平台的平台配置和应用部署相互隔离,而且不依赖于任何安装部署工具,支持对软件平台或者特定应用、特定位置的配置管理,配置管理的实现不依赖软件平台的部署交互步骤,此外,这种软件平台的统一配置操作简洁高效,维护成本低,学习成本小,更能削弱不可替代的项目资源风险。

可选的,所述平台配置文件包括平台公共参数和特定应用参数,所述平台配置文件用于配置软件平台的公共参数和应用参数。

可选的,基于所述配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行所述配置管理命令中涉及的应用配置流程,具体包括:

所述配置管理命令的执行类型为配置指定的应用类型时,在所述应用注册表中索引所述配置管理命令对应的指定的应用名称,以获取指定的应用部署位置,在所述指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程;

所述配置管理命令的执行类型为配置软件平台类型时,在所述应用注册表中索引所有的应用名称,以获取所有的应用部署位置,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程。

可选的,在指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程,具体包括:

索引并读取指定的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所述指定的应用部署中的应用配置文件模板位置生成相应的应用配置文件以完成配置流程。

可选的,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程,具体包括:

索引并读取所有的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所有的应用部署中的应用配置文件模板位置并行生成各自相应的应用配置文件以完成配置流程。

可选的,在应用部署位置根据读取的平台配置文件和应用配置文件模板生成相应的应用配置文件以完成配置流程,具体包括:

在应用部署位置根据读取的配置文件模板获取相应的参数及原参数值,在读取的平台配置文件索引相应的原参数值得到新的参数值,将相应的参数的原参数值替换为新的参数值生成相应的应用配置文件以完成配置流程。

一种软件平台的统一配置管理装置,包括:

接收单元,用于接收配置管理命令;

读取单元,用于确定所述配置管理命令有效后,读取预存的平台配置文件, 并确定所述配置管理命令的执行类型;

配置单元,用于基于所述配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行所述配置管理命令中涉及的应用配置流程,所述应用注册表用于配置软件平台中的各类应用信息,所述应用信息包括应用名称和应用部署位置。

这样,能够实现软件平台的平台配置和应用部署相互隔离,而且不依赖于任何安装部署工具,支持对软件平台或者特定应用、特定位置的配置管理,配置管理的实现不依赖软件平台的部署交互步骤,此外,这种软件平台的统一配置操作简洁高效,维护成本低,学习成本小,更能削弱不可替代的项目资源风险。

可选的,所述平台配置文件包括平台公共参数和特定应用参数,所述平台配置文件用于配置软件平台的公共参数和应用参数。

可选的,基于所述配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行所述配置管理命令中涉及的应用配置流程时,所述配置单元具体用于:

所述配置管理命令的执行类型为配置指定的应用类型时,在所述应用注册表中索引所述配置管理命令对应的指定的应用名称,以获取指定的应用部署位置,在所述指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程;

所述配置管理命令的执行类型为配置软件平台类型时,在所述应用注册表中索引所有的应用名称,以获取所有的应用部署位置,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程。

可选的,在指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程时,所述配置单元具体用于:

索引并读取指定的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所述指定的应用部署中的应用配置文件模板位置生成相应的应用配置文件以完成配置流程。

可选的,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程时,所述配置单元具体用于:

索引并读取所有的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所有的应用部署中的应用配置文件模板位置并行生成各自相应的应用配置文件以完成配置流程。

可选的,在应用部署位置根据读取的平台配置文件和应用配置文件模板生成相应的应用配置文件以完成配置流程时,所述配置单元具体用于:

在应用部署位置根据读取的配置文件模板获取相应的参数及原参数值,在读取的平台配置文件索引相应的原参数值得到新的参数值,将相应的参数的原参数值替换为新的参数值生成相应的应用配置文件以完成配置流程。

附图说明

图1为现有的一次性配置安装包实施过程示意图;

图2为现有的自动交互方式的实施过程示意图;

图3为本发明实施例中Framework的结构示意图;

图4为本发明实施例中平台配置文件示意图;

图5为本发明实施例中应用注册表示意图;

图6A和图6B为本发明实施例中一个在配置文件模板位置生成对应的应用配置文件的过程示意图;

图7A为本发明实施例中Framework的功能模块示意图;

图7B为本发明实施例中配置命令分发功能执行过程示意图;

图7C为本发明实施例中指定应用配置功能执行过程示意图;

图7D为本发明实施例中软件平台配置功能执行过程示意图;

图7E为本发明实施例中配置执行功能执行过程示意图;

图8A和图8B为本发明实施例中两种Framework的部署示意图;

图9为本发明实施例中软件平台的统一配置管理方法流程示意图;

图10为本发明实施例中软件平台的统一配置管理装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中定义了框架(Framework)应用,使用跨平台的Java语言开发,为软件平台提供可靠高效,操作简洁的统一配置管理方法,以便于提高运维人员的工作效率,降低工作难度,Framework的主要结构如图3所示:

由图3可知,Framework由平台配置文件,应用注册表,配置管理执行模块,配置文件模板规范四部分组成,其中各部分功能分别如下:

在本发明实施例中,如图4所示,平台配置文件和目前使用技术中的平台配置文件一致,用以配置软件平台的公共参数和应用参数,同样支持软件平台的参数的统一规划,为Framework的核心文件之一。

在本发明实施例中,如图5所示,应用注册表同样需要在软件平台部署前统一规划,用来配置软件平台中各个应用信息,主要包括应用名称和对应的部署位置,为Framework的核心文件之一。在Framework的实际运行配置中,应用注册表的配置比较灵活,能够对指定位置的应用进行配置更新,也可以是应用的部分位置,此时的应用名称将是一个特定位置的别名,因此能够适应于任何部署形式的软件平台。

在本发明实施例中,配置文件模板规范属于一个软件平台遵循的规范约定,若Framework需要配置管理一个软件平台,则该平台中的所有应用配置文 件在部署包中应该以配置文件模板的格式存在,以便于Framework能够根据平台配置文件和配置文件模板,生成软件平台的应用配置文件。具体规范规定如下:

1)配置文件模板名称必须以“应用配置文件名”+“.framework.template”来命名,以便于Framework能够自动检索。

2)在配置文件模板中,需要Framework配置的应用参数值必须用“$”+“平台配置文件中的参数名称”来表示。

3)能够在配置文件模板的位置生成对应的应用配置文件。

下面以一个具体的示例来说明如何在配置文件模板的位置生成对应的应用配置文件。

参阅图6A可知:平台配置文件为Platform.properties,里面有参数为country=China;若需要生成应用配置文件list.properties,并且需要参数countryName的值为平台配置文件中country的值China,则根据规范约定,该配置文件的配置文件模板名称应该为:list.properties.framework.template,并且参数countryName的值应该为$country,则该应用部署后,运行Framework即可在配置文件模板的位置生成对应的应用配置文件。实际运行过程中,Framework将会查找应用配置文件模板中做标记的参数值,然后在平台配置文件中的查找该参数值对应的参数名称,得出该参数名称的参数值,然后更新配置文件模板内容,生成对应的应用配置文件,具体过程参阅图6B所示。

配置管理执行模块是Framework的核心模块,主要功能参阅图7A所示:该功能模块中,主要包括配置命令分发,特定应用配置,软件平台配置和配置执行功能四个功能。其中,配置命令分发功能主要是根据Framework的执行命令进行分发,决定执行软件平台配置还是特定应用配置,若执行命令时指定了具体应用,将对特定应用进行配置,若执行命令为软件平台配置,则将对软件平台进行配置,具体可参阅图7B所示。特定应用配置功能将对指定的应用进行配置更新,Framework首先将会在应用注册表索引到应用的位置,然后对该 位置执行配置流程,具体可参阅图7C所示。软件平台配置功能将对软件平台中的各个应用进行总体配置,实际执行过程中,若软件平台有总体位置,此时可将软件平台作为一个特殊的应用注册到应用注册表,通过对软件平台的总体位置进行整体配置。若软件平台的相关应用位置不统一,可以对应用注册表中的所有应用进行配置,此时Framework将会对应用注册表中的每个应用,生成一个独立的配置执行功能流程,并发对多个应用进行配置,具体可参阅图7D所示。配置执行功能为配置管理执行模块的核心功能,将会自动匹配指定位置下的所有路径下的所有配置文件模板,并生成对应的应用配置文件,具体可参阅图7E所示。

综上所述,通过Framework的使用方式可知:

1)使用Framework时只需规划平台配置文件,在软件平台部署包中根据Framework规范制作软件平台中需要的配置文件模板即可;该项可作为软件平台的开发规范,规定需规划配置的应用配置文件均在软件平台中以配置文件模板的形式存在。

2)Framework主要支持对单独运行环境进行配置管理,若软件平台支持网络安装,则对于网络安装中的任何一个运行环境,均可相对的作为单独环境由Framework来完成软件平台配置。

3)Framework可以做为一个单独应用部署与运行环境,供软件平台参数规划,配置更新使用,如图8A所示。

4)Framework可以作为软件平台一部分,在部署的最后触发执行,完成对软件平台的配置,如图8B所示。

5)Framework可以和部署工具协同使用,但对最终的软件平台部署包格式没有任何限制,甚至可以是目前流行的待释放的gzip等压缩格式,由部署工具制作特定的软件平台部署包,部署时由Framework完成软件平台的统一配置管理。

6)当软件平台的配置需要更新时,执行更新平台配置文件的参数,即可 更新整个软件平台的相关应用配置文件。

基于上述Framework结构,参阅图9所示,本发明实施例中提供一种软件平台的统一配置管理方法,具体流程如下所示:

步骤900:接收配置管理命令。

步骤901:确定配置管理命令有效后,读取预存的平台配置文件,并确定该配置管理命令的执行类型。

具体的,根据Framework结构可知,平台配置文件包括平台公共参数和特定应用参数,平台配置文件用于配置软件平台的公共参数和应用参数。

步骤902:基于配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行配置管理命令中涉及的应用配置流程,应用注册表用于配置软件平台中的各类应用信息,应用信息包括应用名称和应用部署位置。

具体的,基于配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行该配置管理命令中涉及的应用配置流程,具体包括以下两种情形:

第一种情形为:若配置管理命令的执行类型为配置指定的应用类型时,在应用注册表中索引该配置管理命令对应的指定的应用名称,以获取指定的应用部署位置,在该指定的应用部署位置根据读取的平台配置文件和应用配置文件模板生成相应的应用配置文件以完成配置流程。

具体的,在指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程,具体过称为:索引并读取指定的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在该指定的应用部署中的应用配置文件模板位置生成相应的应用配置文件以完成配置流程。

第二种情形为:若配置管理命令的执行类型为配置软件平台类型时,在应用注册表中索引所有的应用名称,以获取所有的应用部署位置,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各 自相应的应用配置文件以完成配置流程。

具体的,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程,具体过称为:索引并读取所有的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所有的应用部署中的应用配置文件模板位置并行生成各自相应的应用配置文件以完成配置流程。

具体的,在应用部署位置根据读取的平台配置文件和应用配置文件模板生成相应的应用配置文件以完成配置流程,具体过称为:在应用部署位置根据读取的配置文件模板获取相应的参数及原参数值,在读取的平台配置文件索引相应的原参数值得到新的参数值,将相应的参数的原参数值替换为新的参数值生成相应的应用配置文件以完成配置流程。

基于上述实施例,参阅图10所示,本发明实施例中提供一种软件平台的统一配置管理装置,包括接收单元10,读取单元11和配置单元12,其中:

接收单元10,用于接收配置管理命令;

读取单元11,用于确定所述配置管理命令有效后,读取预存的平台配置文件,并确定所述配置管理命令的执行类型;

配置单元12,用于基于所述配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行所述配置管理命令中涉及的应用配置流程,所述应用注册表用于配置软件平台中的各类应用信息,所述应用信息包括应用名称和应用部署位置。

可选的,所述平台配置文件包括平台公共参数和特定应用参数,所述平台配置文件用于配置软件平台的公共参数和应用参数。

可选的,基于所述配置管理命令的执行类型和预存的应用注册表,根据读取的平台配置文件执行所述配置管理命令中涉及的应用配置流程时,所述配置单元12具体用于:

所述配置管理命令的执行类型为配置指定的应用类型时,在所述应用注册 表中索引所述配置管理命令对应的指定的应用名称,以获取指定的应用部署位置,在所述指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程;

所述配置管理命令的执行类型为配置软件平台类型时,在所述应用注册表中索引所有的应用名称,以获取所有的应用部署位置,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程。

可选的,在指定的应用部署位置根据读取的平台配置文件和对应的应用配置文件模板生成相应的应用配置文件以完成配置流程时,所述配置单元12具体用于:

索引并读取指定的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所述指定的应用部署中的应用配置文件模板位置生成相应的应用配置文件以完成配置流程。

可选的,在所有的应用部署位置根据读取的平台配置文件和各应用的应用配置文件模板并行生成各自相应的应用配置文件以完成配置流程时,所述配置单元12具体用于:

索引并读取所有的应用部署位置下的所有路径的应用配置文件模板,根据读取的平台配置文件,在所有的应用部署中的应用配置文件模板位置并行生成各自相应的应用配置文件以完成配置流程。

可选的,在应用部署位置根据读取的平台配置文件和应用配置文件模板生成相应的应用配置文件以完成配置流程时,所述配置单元12具体用于:

在应用部署位置根据读取的配置文件模板获取相应的参数及原参数值,在读取的平台配置文件索引相应的原参数值得到新的参数值,将相应的参数的原参数值替换为新的参数值生成相应的应用配置文件以完成配置流程。

综上所述,本发明实施例中接收配置管理命令;确定配置管理命令有效后,读取预存的平台配置文件,并确定配置管理命令的执行类型;基于配置管理命 令的执行类型和预存的应用注册表,根据读取的平台配置文件执行配置管理命令中涉及的应用配置流程,这样,能够实现软件平台的平台配置和应用部署相互隔离,而且不依赖于任何安装部署工具,支持对软件平台或者特定应用、特定位置的配置管理,配置管理的实现不依赖软件平台的部署交互步骤,此外,这种软件平台的统一配置操作简洁高效,维护成本低,学习成本小,更能削弱不可替代的项目资源风险。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1