一种应用程序配置方法、装置、服务器和存储介质与流程

文档序号:14443719阅读:185来源:国知局
一种应用程序配置方法、装置、服务器和存储介质与流程

本发明实施例涉及计算机技术领域,尤其涉及一种应用程序配置方法、装置、服务器和存储介质。



背景技术:

计算机应用程序的配置文件用于存储其运行相关的一些信息。例如,连接的数据库参数、缓存大小、线程数目等。通过修改应用程序的配置文件,可以定制应用程序的特性,并且不需要在修改应用程序后重新编译和部署,便于进行应用程序的移植。

现有技术中,一般采用以下两种修改方式:(1)直接修改相关的配置文件;(2)修改应用程序代码来简化配置。

现有技术存在以下缺陷:现有技术第一种修改方式,需要运营维护工程师掌握不同内容格式的配置文件规范;对于一些存在多个配置文件的应用程序,还需要运营维护工程师记住各个配置文件的存放位置;当应用程序进行分布式集群部署时,配置的修改需要涉及多台机器,导致运营维护成本较高。现有技术第二种修改方式中,各个应用程序都需要重新修改进行适配,开发代价高。此外,现有技术第二种修改方式中,由于一些第三方应用程序或遗留系统无法进行修改,无法根据业务需求进行应用程序正确配置。



技术实现要素:

有鉴于此,本发明提供一种应用程序配置方法、装置、服务器和存储介质,以实现便捷地根据业务需求进行应用程序配置,进一步降低运营维护成本,缩短部署周期,提高运营维护效率。

第一方面,本发明实施例提供了一种应用程序配置方法,包括:

配置管理服务器获取待配置应用程序的更新配置参数数据;

所述配置管理服务器根据所述更新配置参数数据和对应的配置模板,生成更新配置文件;

所述配置管理服务器发送更新指令至配置代理服务器,所述更新指令用于指示所述配置代理服务器从所述配置管理服务器处获取所述更新配置文件并根据所述更新配置文件对所述待配置应用程序进行配置。

第二方面,本发明实施例还提供了一种应用程序配置装置,包括:

数据获取模块,用于配置管理服务器获取待配置应用程序的更新配置参数数据;

文件生成模块,用于所述配置管理服务器根据所述更新配置参数数据和对应的配置模板,生成更新配置文件;

指令发送模块,用于所述配置管理服务器发送更新指令至配置代理服务器,所述更新指令用于指示配置代理服务器从所述配置管理服务器处获取所述更新配置文件并根据所述更新配置文件对所述待配置应用程序进行配置。

第三方面,本发明实施例还提供了一种配置管理服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例所述的应用程序配置方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的应用程序配置方法。

上述提供的应用程序配置方法、装置、服务器和存储介质,配置管理服务器通过对应用程序的配置参数进行更新,并通过更新配置参数数据和对应的配置模板,生成待配置应用程序的更新配置文件,以使配置代理服务器根据更新配置文件对待配置应用程序进行配置,解决了现有技术运营维护成本较高,开发代价高,以及由于第三方应用程序或遗留系统无法进行修改,无法根据业务需求进行应用程序正确配置的问题,达到了便捷地根据业务需求进行应用程序配置,进一步降低运营维护成本,缩短部署周期,提高运营维护效率的效果。

附图说明

图1为本发明实施例提供的一种应用程序配置方法的流程图;

图2为本发明实施例提供的一种应用程序配置方法的流程图;

图3为本发明实施例提供的一种应用程序配置方法的配置初始化的流程图;

图4为本发明实施例提供的一种应用程序配置方法的流程图;

图5为本发明实施例提供的一种应用程序配置方法的流程图;

图6为本发明实施例提供的一种应用程序配置装置的结构框图;

图7为本发明实施例提供的一种配置管理服务器的结构示意图;

图8为本发明实施例提供的一种配置管理服务器的结构示意图;

图9为本发明实施例提供的一种配置代理服务器的结构示意图;

图10为本发明实施例提供的一种应用程序配置系统的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的一种应用程序配置方法的流程图,所述方法可适用于对应用程序进行配置的情况,该方法可以由应用程序配置装置来执行,所述装置由软件和/或硬件来执行。具体包括如下步骤:

步骤110、配置管理服务器获取待配置应用程序的更新配置参数数据。

其中,应用程序部署集群中包含至少一个配置代理服务器,配置代理服务器中部署至少一个应用程序。本实施例中的配置管理服务器对应用程序部署集群中部署的全部应用程序的配置文件进行统一管理。计算机应用程序的配置文件是用来存储其运行相关的一些信息,如连接的数据库参数、缓存大小、线程数目等。为了方便应用程序的移植,可以随时通过修改配置文件来定制应用程序的特性,而不需要修改应用程序后重新编译部署。应用程序程序设计离不开编程语言,对于使用java、c/c++、超级文本预处理语言(hypertextpreprocessor,php)等不同编程语言及框架构建的应用程序,一般采用的配置文件有可扩展标记语言(extensiblemarkuplanguage,xml)、另一种标记语言(yetanothermarkuplanguage,yaml)等不同的内容格式。

其中,配置管理服务器管理的每一个应用程序的相关的配置文件都被抽象成原始配置参数数据和配置模板。原始配置参数数据为配置文件中的可修改的配置参数数据。配置模板包括配置文件中除了可修改的配置参数数据以外的配置文件信息,包括不可修改的配置参数数据和配置文件格式。更新配置参数数据为修改后的原始配置参数数据。根据更新配置参数数据和与之对应的配置模板生成应用程序运行所需的最新配置文件,从而定制应用程序的特性。具体的,根据业务需求,用户可以通过配置管理服务器提供的管理界面对待配置应用程序的原始配置参数数据进行设置,配置管理服务器自动收集用户设置的配置参数数据,即更新配置参数数据。

其中,应用程序配置文件包含至少一个文件。原始配置参数数据至少包括一种配置参数数据。应用程序的配置模板中的模板文件与应用程序的配置文件的文件相对应。应用程序的配置文件有一定数量文件,应用程序的配置模板中就有数量相同的模板文件,并且应用程序的配置模板中的模板文件内容与应用程序的配置文件的文件也是相对应的。在配置管理服务器根据更新配置参数数据和对应的配置模板生成更新配置文件时,根据待配置应用程序的配置模板中的模板文件生成对应的待配置应用程序的配置文件中的文件,直至待配置应用程序的配置文件中的文件全部生成。

可选的,用户可以通过浏览器访问配置管理服务器提供的网页页面,对应用程序的配置参数数据进行设置。

步骤120、所述配置管理服务器根据所述更新配置参数数据和对应的配置模板,生成更新配置文件。

其中,配置管理服务器获取更新配置参数数据后,采用模板引擎技术,根据更新配置参数数据和对应的配置模板,生成更新配置文件。原始配置参数数据为配置文件中的可修改的配置参数数据。配置模板包括配置文件中除了可修改的配置参数数据以外的配置文件信息,包括不可修改的配置参数数据和配置文件格式。具体的,配置管理服务器按照模板引擎的规范将更新配置参数数据转换为模型数据,读取对应的配置模板中的每一个模板文件,并调用模板引擎,将更新配置参数数据转换后得到的模型数据填充至配置模板的对应位置,从而生成待配置应用程序的更新配置文件。生成待配置应用程序的更新配置文件,直至更新配置文件中的所有文件都正确生成。

其中,模板引擎是一种基于模板和需要改变的数据,并用来生成输出文本(网页、电子邮件、配置文件、源代码等)的通用工具。模板的诞生是为了将显示与数据分离。模板技术多种多样,但其本质是将模板文件和数据通过模板引擎生成最终的输出文本。可选的,本实施例采用freemarker模板引擎。freemarker模板引擎是一个基于模板生成文本输出的通用工具,使用java编程语言编写。freemarker模板引擎的设计初衷就是:模板+数据模型=输出。所谓模板,就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。模板中的占位符,在模板运行时,由模板引擎来解析模板,并采用动态数据替换占位符部分的内容。在本实施例中,模板引擎解析配置模板,并采用将更新配置参数数据转换后得到的模型数据替换模板中的占位符部分的内容,从而生成待配置应用程序的更新配置文件。

步骤130、所述配置管理服务器发送更新指令至配置代理服务器,所述更新指令用于指示所述配置代理服务器从所述配置管理服务器处获取所述更新配置文件并根据所述更新配置文件对所述待配置应用程序进行配置。

其中,配置代理服务器中部署至少一个应用程序。配置代理服务器用于管理配置代理服务器中部署的全部应用程序,包括接收配置管理服务器的更新指令,下载待配置应用程序的更新配置文件,并根据配置策略判断是否需要重启应用程序,从而使更新配置文件生效,并实时监控应用程序配置相关日志,当发现错误配置日志时,向配置管理服务器进行反馈。可选的,配置代理服务器上安装有linux操作系统。

具体的,在配置管理服务器生成更新配置文件后,会向相关的配置代理服务器发送更新指令,通知配置代理服务器下载更新配置文件。配置代理服务器接收到配置管理服务器配置管理中心的更新指令后,下载待配置应用程序的更新配置文件,然后解压至应用指定位置,覆盖更新原有配置文件,从而完成对待配置应用程序的配置。

可选的,所述更新指令还用于指示所述配置代理服务器从所述配置管理服务器处获取更新配置参数数据,并根据所述更新配置参数数据判断所述待配置应用程序是否重启。

其中,配置代理服务器发送更新指令至配置代理服务器,更新指令指示配置代理服务器从配置管理服务器处获取更新配置文件和更新配置参数数据。更新配置文件中的部分文件只在待配置应用程序启动时才会加载生效。所以为了完成对待配置应用程序的配置,配置代理服务器在对待配置应用程序进行配置时,需要判断是否需要重启应用程序。判定方法是根据更新指令下载待配置应用程序的更新配置文件和更新配置参数数据,将更新配置文件放置于待配置应用程序指定位置,覆盖原有的配置文件,然后读取更新配置参数数据,与配置代理服务器最近缓存的参数数据文件进行比较,判断是否存在需要重启生效的变更参数。若存在需要重启生效的变更参数,则配置代理服务器根据预设的待配置应用程序进程管理方式,重启待配置应用程序;若不存在需要重启生效的变更参数,则更新配置文件已经生效,配置代理服务器更新本地参数数据文件缓存,用于进行下一次的配置更新。

本实施例提供的一种应用程序配置方法,配置管理服务器通过对应用程序的配置参数进行更新,并通过更新配置参数数据和对应的配置模板,生成待配置应用程序的更新配置文件,以使配置代理服务器根据更新配置文件对待配置应用程序进行配置,解决了现有技术运营维护成本较高,开发代价高,以及由于第三方应用程序或遗留系统无法进行修改,无法根据业务需求进行应用程序正确配置的问题,达到了便捷地根据业务需求进行应用程序配置,进一步降低运营维护成本,缩短部署周期,提高运营维护效率的效果。

图2为本发明实施例提供的一种应用程序配置方法的流程图,本实施例在上述实施例的基础上进行优化。如图2所示,该方法包括:

步骤210、所述配置管理服务器根据所述待配置应用程序的原始配置文件生成原始配置参数数据和配置模板。

其中,本实施例采用模板引擎技术,在不修改应用程序代码情况下,将待配置应用程序的原始配置文件抽象成统一简单的原始配置参数数据以及相应的配置模板。原始配置文件中包含一个或多个不同格式的文件。

在本发明的一个实施例中,可选的,所述配置管理服务器根据待配置应用程序的原始配置文件生成原始配置参数数据和配置模板,可以包括:

配置管理服务器按照所述待配置应用程序的安装说明文档和模板引擎的规范,查找并分析待配置应用程序的原始配置文件;

所述配置管理服务器根据所述待配置应用程序的原始配置文件,生成对应的原始配置参数数据和配置模板。

其中,配置管理服务器按照待配置应用程序的安装说明文档和模板引擎规范,查找待配置应用程序的原始配置文件中的每一个文件,并分析待配置应用程序的原始配置文件中的每一个文件,将待配置应用程序的原始配置文件抽象为可修改的配置信息和固定的配置信息和配置文件格式

其中,分离出与待配置应用程序的原始配置文件中的每一个文件对应的配置参数数据和配置模板。原始配置文件中的每一个文件的可修改的配置信息作为原始配置参数数据。原始配置文件中的每一个文件的固定的配置信息和配置文件格式作为配置模板。

步骤220、所述配置管理服务器对所述原始配置参数数据进行处理,删除所述原始配置参数数据中的重复数据。

其中,配置管理服务器对原始配置参数数据进行处理,对原始配置参数数据进行合并,删除重复的原始配置参数数据。如果多个配置文件中存在同一个配置参数数据,那么就无需多次配置,只要配置一次即可在所有配置文件中生效。

步骤230、所述配置管理服务器对所述配置模板进行压缩打包,生成配置模板压缩包。

其中,配置管理服务器采用zip压缩文件格式对待配置应用程序的配置模板进行打包。压缩文件内的目录结构和待配置应用程序的原始配置文件目录结构保持一致,以对待配置应用程序的相关的配置文件中的文件进行管理。文件目录是指:为实现“按名存取”,必须建立文件名与辅存空间中物理地址的对应关系,体现这种对应关系的数据结构称为文件目录。应用程序的配置模板中的模板文件与应用程序的配置文件的文件相对应。在配置管理服务器根据更新配置参数数据和对应的配置模板生成更新配置文件时,根据待配置应用程序的配置模板中的模板文件生成对应的待配置应用程序的配置文件中的文件,直至待配置应用程序的配置文件中的文件全部生成。

步骤240、所述配置管理服务器对处理后的所述原始配置参数数据和所述配置模板压缩包进行存储。

其中,配置管理服务器对原始配置参数数据进行处理,对原始配置参数数据进行合并,删除重复的原始配置参数数据后,将合并后的原始配置参数数据导入到数据库中。可选的,配置管理服务器将原始配置参数数据存储于关系型数据库中,例如mysql数据库、oracle数据库或其他厂商数据库。

其中,配置模板压缩包按照待配置应用程序名称分目录存储于配置管理服务器的文件系统中,通过配置管理服务器对外提供配置模板压缩包上传、配置模板压缩包下载和配置模板压缩包删除等操作。

由此,通过配置管理服务器根据待配置应用程序的原始配置文件生成原始配置参数数据和配置模板;对原始配置参数数据和配置模板进行处理和存储,达到了对待配置应用程序的配置文件进行统一管理的效果。

步骤250、配置管理服务器根据所述原始配置参数数据生成配置参数数据列表,其中,所述配置参数数据列表,用于展示原始配置参数数据。

其中,原始配置参数数据为配置文件中的可修改的配置参数数据。配置管理服务器对原始配置参数数据进行划分,生成配置参数数据列表,通过配置参数数据列表向用户展示原始配置参数数据。

可选的,配置管理服务器提供超文本标记语言(hypertextmarkuplanguage,html)页面,使用户可以通过浏览器访问配置管理服务器提供的管理界面,对待配置应用程序的原始配置参数数据进行设置。

具体的,用户通过浏览器访问配置管理服务器提供的页面,选择待配置应用程序,查询并获取配置参数数据列表。配置参数数据列表中包括所述原始配置参数数据。用户根据配置参数数据列表,选择修改指定的配置参数数据,然后提交到配置管理服务器。

由此,通过根据原始配置参数数据生成配置参数数据列表,使用户可以通过浏览器访问配置管理服务器提供的管理界面,对应用程序的原始配置参数数据进行设置,达到了用户可以通过访问管理界面便捷地根据业务需求进行待配置应用程序配置的效果。

步骤260、配置管理服务器获取待配置应用程序的更新配置参数数据。

步骤270、所述配置管理服务器根据所述更新配置参数数据和对应的配置模板,生成更新配置文件。

步骤280、所述配置管理服务器发送更新指令至配置代理服务器,所述更新指令用于指示所述配置代理服务器从所述配置管理服务器处获取所述更新配置文件并根据所述更新配置文件对所述待配置应用程序进行配置。

图3为本发明实施例提供的一种应用程序配置方法的配置初始化的流程图。其步骤如下:

步骤310、配置管理服务器按照应用程序安装说明文档和模板引擎规范,查找并分析每一个配置文件,分离出对应的原始配置参数数据和配置模板。

步骤320、配置管理服务器对原始配置参数数据进行合并,删除重复的数据。

步骤330、配置管理服务器将合并后的原始配置参数数据导入到数据库中。

步骤340、配置管理服务器对配置模板采用zip压缩文件格式进行打包,得到配置模板压缩包。

步骤350、配置管理服务器将配置模板压缩包按照待配置应用程序名称分目录存储于配置管理服务器的文件系统中。

可选的,图3所示的应用程序配置方法的配置初始化的过程只需要在第一次进行应用程序配置时执行,以后再次进行应用程序配置时可以重复使用。配置模板也可以实行版本化管理,通过分享平台分享配置模板,用户可以根据业务需求,直接下载配置模板,根据配置模板实现对待配置应用程序的部署。

图4为本发明实施例提供的一种应用程序配置方法的流程图,本实施例在上述各实施例的基础上进行优化。如图4所示,该方法包括:

步骤410、配置管理服务器获取待配置应用程序的更新配置参数数据。

步骤420、配置管理服务器判断更新配置参数数据的数据格式是否正确。

其中,根据原始配置参数数据的数据格式对更新配置参数数据的数据格式进行判断。用户访问管理界面,在根据业务需求进行待配置应用程序配置时,可能会输入数据格式错误的更新配置参数数据。例如,用户输入互联网协议(internetprotocol,ip)地址,正确的ip地址的长度为32位,用户仅输入了31位。

步骤430、若所述更新配置参数数据的数据格式正确,则所述配置管理服务器对所述更新配置参数数据进行存储。

其中,若更新配置参数数据的数据格式正确,则配置管理服务器对更新配置参数数据进行存储,将更新配置参数数据保存到数据库中;若更新配置参数数据的数据格式错误,则配置管理服务器不对更新配置参数数据进行存储,并通过管理界面对用户进行提醒,通知用户输入的更新配置参数数据格式错误,需要重新进行待配置应用程序配置。

步骤440、所述配置管理服务器对模板引擎进行初始化。

其中,配置管理服务器对模板引擎进行初始化,包括把模板引擎运行必须的资源加载到内存,为模板引擎中的变量分配空间和赋初值。

步骤450、所述配置管理服务器将存储的所述更新配置参数数据转换为所述模板引擎可识别的模型数据。

其中,配置管理服务器从数据库中获取待配置应用程序配置的更新配置参数数据,并按照模板引擎规范,将更新配置参数数据转换为模板引擎可识别的模型数据。模板引擎的数据格式与更新配置参数数据的数据格式不同,为了保证模板引擎可以读取更新配置参数数据,需要对更新配置参数数据的数据格式进行转换,将更新配置参数数据的数据格式转换为模板引擎可识别的数据格式完成数据格式转换后的更新配置参数数据作为模型数据。

步骤460、所述配置管理服务器获取与所述更新配置参数数据对应的配置模板,读取配置模板中的每一个模板文件,并调用所述模板引擎,基于所述模型数据生成待配置应用程序的更新配置文件。

其中,配置管理服务器获取与更新配置参数数据对应的配置模板,读取配置模板中的每一个模板文件,并调用模板引擎,模板引擎根据模型数据和对应的配置模板,生成待配置应用程序的更新配置文件,直至待配置应用程序的配置文件中的文件全部生成。

步骤470、所述配置管理服务器对所述更新配置文件进行打包和存储。

其中,配置管理服务器采用zip压缩文件格式对更新配置文件进行打包,得到更新配置文件压缩包,并将更新配置文件压缩包上传到配置管理服务器中待配置应用程序更新配置文件存储的文件系统目录下进行存储。

由此,通过配置管理服务器对所述更新配置文件进行打包和存储,达到了减少占用资源的效果。

步骤480、所述配置管理服务器发送更新指令至配置代理服务器,所述更新指令用于指示所述配置代理服务器从所述配置管理服务器处获取所述更新配置文件并根据所述更新配置文件对所述待配置应用程序进行配置。

本实施例通过配置管理服务器调用模板引擎,根据模型数据和对应的配置模板,生成待配置应用程序的更新配置文件,并指示配置代理服务器获取更新配置文件并根据更新配置文件对待配置应用程序进行配置,达到了对待配置应用程序的配置文件进行统一管理和配置,用户可以便捷地根据业务需求进行待配置应用程序配置,进一步降低运营维护成本,缩短部署周期,提高运营维护效率的效果。

图5为本发明实施例提供的一种应用程序配置方法的流程图。如图5所示,其步骤如下:

步骤501、用户通过配置管理服务器提供的管理界面查询参数数据配置列表。

步骤502、用户修改原始配置参数数据并提交至配置管理服务器。

步骤503、配置管理服务器接收用户提交的更新配置参数数据,将正确的更新配置参数数据保存到数据库中。

步骤504、配置管理服务器创建更新配置文件生成任务,并初始化模板引擎。

步骤505、配置管理服务器将存储的更新配置参数数据转换为所述模板引擎可识别的模型数据。

步骤506、配置管理服务器根据模型数据和对应的配置模板,生成待配置应用程序的更新配置文件。

步骤507、配置管理服务器对更新配置文件和更新配置参数数据进行打包和存储。

步骤508、配置管理服务器发送更新指令至配置代理服务器。

步骤509、配置代理服务器下载更新配置文件压缩包和更新配置参数数据压缩包,解压至指定位置。

步骤510、配置代理服务器判断是否需要重启待配置应用程序。若是,则执行步骤511;若否,则执行步骤512。

步骤511、配置代理服务器根据预设应用进程管理方式重启待配置应用程序。

步骤512、配置代理服务器更新本地参数数据文件缓存。

本实施例通过配置管理服务器根据更新配置参数数据和对应的配置模板,生成待配置应用程序的更新配置文件,指示配置代理服务器获取更新配置文件并根据更新配置文件对待配置应用程序进行配置,达到了便捷地根据业务需求进行应用程序配置,进一步降低运营维护成本,缩短部署周期,提高运营维护效率的效果,使复杂繁琐的应用程序配置过程变的简单、可靠和规范。

图6为本发明实施例提供的一种应用程序配置装置的结构框图,本实施例可适用于对应用程序进行配置的情况,如图6所示,所述装置包括:

数据获取模块610、文件生成模块620和指令发送模块630。

其中,数据获取模块610,用于配置管理服务器获取待配置应用程序的更新配置参数数据;文件生成模块620,用于所述配置管理服务器根据所述更新配置参数数据和对应的配置模板,生成更新配置文件;指令发送模块630,用于所述配置管理服务器发送更新指令至配置代理服务器,所述更新指令用于指示配置代理服务器从所述配置管理服务器处获取所述更新配置文件并根据所述更新配置文件对所述待配置应用程序进行配置。

本实施例提供的一种应用程序配置装置,配置管理服务器通过对应用程序的配置参数进行更新,并通过更新配置参数数据和对应的配置模板,生成待配置应用程序的更新配置文件,以使配置代理服务器根据更新配置文件对待配置应用程序进行配置,解决了现有技术运营维护成本较高,开发代价高,以及由于第三方应用程序或遗留系统无法进行修改,无法根据业务需求进行应用程序正确配置的问题,达到了便捷地根据业务需求进行应用程序配置,进一步降低运营维护成本,缩短部署周期,提高运营维护效率的效果。

在上述各实施例的基础上,所述装置可以还包括:

配置信息生成模块,用于所述配置管理服务器根据所述待配置应用程序的原始配置文件生成原始配置参数数据和配置模板;

数据处理模块,用于所述配置管理服务器对所述原始配置参数数据进行处理,删除所述原始配置参数数据中的重复数据;

配置模板压缩模块,用于所述配置管理服务器对所述配置模板进行压缩打包,生成配置模板压缩包;

配置信息存储模块,用于所述配置管理服务器对处理后的所述原始配置参数数据和所述配置模板压缩包进行存储。

在上述各实施例的基础上,所述配置信息生成模块可以包括:

配置文件分析单元,用于配置管理服务器按照所述待配置应用程序的安装说明文档和模板引擎的规范,查找并分析待配置应用程序的原始配置文件;

配置信息生成单元,用于所述配置管理服务器根据所述待配置应用程序的原始配置文件,生成对应的原始配置参数数据和配置模板。

在上述各实施例的基础上,所述装置可以还包括:

数据列表生成模块,用于配置管理服务器根据所述原始配置参数数据生成配置参数数据列表,用于展示原始配置参数数据。

在上述各实施例的基础上,所述文件生成模块620可以包括:

数据格式检查单元,用于配置管理服务器判断更新配置参数数据的数据格式是否正确;

数据存储单元,用于若所述更新配置参数数据的数据格式正确,则所述配置管理服务器对所述更新配置参数数据进行存储;

引擎初始化单元,用于所述配置管理服务器对模板引擎进行初始化;

数据格式转换单元,用于所述配置管理服务器将存储的所述更新配置参数数据转换为所述模板引擎可识别的模型数据;

文件生成单元,用于所述配置管理服务器获取与所述更新配置参数数据对应的配置模板,读取配置模板中的每一个模板文件,并调用所述模板引擎,基于所述模型数据生成待配置应用程序的更新配置文件;

文件存储单元,用于所述配置管理服务器对所述更新配置文件进行打包和存储。

在上述各实施例的基础上,所述更新指令还可以用于指示所述配置代理服务器从所述配置管理服务器处获取更新配置参数数据,并根据所述更新配置参数数据判断所述待配置应用程序是否重启。

本发明实施例所提供的应用程序配置装置可执行本发明任意实施例所提供的应用程序配置方法,具备执行方法相应的功能模块和有益效果。

图7为本发明实施例提供的一种配置管理服务器的结构示意图。图7示出了适于用来实现本发明实施方式的示例性配置管理服务器712的框图。图7显示的配置管理服务器712仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,配置管理服务器712以通用计算设备的形式表现。配置管理服务器712的组件可以包括但不限于:一个或者多个处理器或者处理单元716,系统存储器728,连接不同系统组件(包括系统存储器728和处理单元716)的总线718。

总线718表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

配置管理服务器712典型地包括多种计算机系统可读介质。这些介质可以是任何能够被配置管理服务器712访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器728可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)730和/或高速缓存存储器732。配置管理服务器712可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统734可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线718相连。存储器728可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块742的程序/实用工具740,可以存储在例如存储器728中,这样的程序模块742包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块742通常执行本发明所描述的实施例中的功能和/或方法。

配置管理服务器712也可以与一个或多个外部设备714(例如键盘、指向设备、显示器724等)通信,还可与一个或者多个使得用户能与该配置管理服务器712交互的设备通信,和/或与使得该配置管理服务器712能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口722进行。并且,配置管理服务器712还可以通过网络适配器720与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器720通过总线718与配置管理服务器712的其它模块通信。应当明白,尽管图中未示出,可以结合配置管理服务器712使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元716通过运行存储在系统存储器728中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的应用程序配置方法。

也即,所述处理单元执行所述程序时实现:获取待配置应用程序的更新配置参数数据;根据更新配置参数数据和对应的配置模板,生成更新配置文件;发送更新指令至配置代理服务器。

图8为本发明实施例提供的一种配置管理服务器的结构示意图。如图8所示,配置管理服务器包括用户界面模块810、存储服务接口模块820、任务调度模块830、参数存储管理模块840、模板存储管理模块850、文件存储管理模块860、配置文件生成模块870和消息处理模块880。

其中,用户界面模块810,用于提供html页面,使用户可以通过浏览器访问其提供的页面来进行应用参数设置;存储服务接口模块820,用于提供各类数据访问的统一入口;任务调度模块830,用于创建更新配置文件生成任务,与配置代理服务器进行消息和文件交换等;参数存储管理模块840,用于负责应用程序的配置参数数据的增删查找操作,其中,配置参数数据包括原始配置参数数据和更新配置数据参数;模板存储管理模块850,用于负责配置模板压缩包的上传、下载与存储等;文件存储管理模块860,用于负责更新配置文件压缩包的上传、下载与存储等;配置文件生成模块870,用于负责按照模板引擎规范,获取模型数据,读取配置模板压缩包中的模板文件,调用模板引擎生成待配置应用程序的更新配置文件,并采用zip压缩格式对更新配置文件进行打包和存储;消息处理模块880,用于负责向配置代理服务器发送更新指令,并可接收配置代理服务器的反馈结果。

图9为本发明实施例提供的一种配置代理服务器的结构示意图。如图9所示,配置代理服务器包括消息处理模块910、配置文件下载模块920和配置文件更新模块930。

其中,消息处理模块910,用于负责接收配置管理服务器发送的更新指令,并向配置管理服务器反馈对更新指令的处理结果;配置文件下载模块920,用于负责连接配置管理服务器,下载应用程序更新配置文件压缩包和更新配置参数数据压缩包;配置文件更新模块930,用于负责解压更新配置文件压缩包和更新配置参数数据压缩包至指定位置,更新待配置应用程序的配置文件,并将更新配置参数数据与本地缓存的配置参数数据进行比较,判断是否需要重启待配置应用程序,当需要重启时,重启待配置应用程序,以使配置文件生效,不足要重启时,更新本地参数数据文件缓存。

图10为本发明实施例提供的一种应用程序配置系统的结构示意图。本实施例是在上述实施例的基础上的一个优选实例。如图10所示,图10的上部是应用程序部署集群,包含三个节点:节点1、节点2和节点3,每个节点部署一台配置代理服务器,一般安装有linux操作系统。配置代理服务器用于管理对应节点中的各个应用程序,包括接收配置管理中心的更新指令,下载指定应用程序的更新配置文件,并根据配置策略判断是否需要重启应用程序,从而使更新配置文件生效,并实时监控应用程序配置相关日志,当发现错误配置日志时向配置管理中心进行反馈。其中,节点1上部署配置代理服务器1,配置代理服务器1对应用程序a和应用程序b进行管理;节点2部署配置代理服务器2,配置代理服务器2对应用程序c和应用程序d进行管理;节点3部署配置代理服务器3,配置代理服务器3对应用程序e和应用程序f进行管理。其中,本实施例不对应用程序部署集群中的节点和应用程序的个数做限制,应用程序部署集群中可以包含至少一个节点,一个节点中包含至少一个应用程序。

图10的下部是配置管理中心,配置管理中心中部署配置管理服务器。用户可以通过浏览器访问配置管理服务器提供的页面,对应用程序部署集群部署的所有应用程序的配置文件进行统一管理。每一个应用程序相关配置文件都被抽象成可修改的配置参数数据和固定的配置模板。用户只需要通过简单易用的管理界面对应用程序的配置参数数据进行设置,配置管理服务器会自动收集这些配置参数数据,按照模板引擎规范转换成模型数据,并使用配置模板动态生成应用程序运行所需的更新配置文件,然后配置管理服务器会向相关的配置代理服务器发送更新指令,由配置代理服务器下载更新配置文件并使之生效。例如,配置管理服务器生成应用程序a运行所需的更新配置文件后,会配置代理服务器发送更新指令,由配置代理服务器下载更新配置文件并使之生效。

本发明实施例还提供了一种计算机可读存储介质。其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的应用程序配置方法。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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