一种远程配置控制方法和系统 【技术领域】
本发明涉及电信技术领域的配置文件管理技术,尤其涉及一种远程配置文件控制方法和系统。
背景技术
配置文件的修改、查看,无论是对于安装、升级、还是日常维护都是必不可少的,但是随着应用系统的扩大,配置文件、配置项逐渐增多,手工对配置文件进行操作的管理方式,需要在不同的主机中进行切换,重复的进行打开文件、修改文件、保存等操作,文件内容多的时候,无法快速定位需要修改的位置。对操作维护人员的要求比较高,需要能够熟练的运用操作系统的编辑工具。而直接修改文件,对输入内容没有任何约束,容易造成修改错误,导致系统运行故障。比如应该输入数字的地方却输入了字符,应该输入IP地址的地方,输入的值却不符合IP地址的规范。对配置文件和配置项进行权限管理也存在困难,即针对不同用户,展现不同的配置文件和配置项。如每种类型的用户所关心的配置文件和配置项会有不同;安装时候需要修改的文件,日常维护中可能不需要;短信项目关心的配置项,对于彩信项目是不需要修改的。无法记录修改历史,更没有办法就行修改历史的比较,这个将给维护工作带来一定的风险。
现有技术中,虽然对配置文件的管理有界面化配置的方法,部分解决了上述的问题,即不需要用户直接操作文件,而是写一个程序来实现文件的修改,但是这种方法仍然有下列缺陷:
1、程序是专门针对某个或者某些配置文件写的,不适合其他的配置文件,即不具有通用性;
2、如果有新的配置文件,则需要开发新的配置页面,这样就需要重新开发新的程序,还需要经历测试、发布、升级等步骤,周期比较长。
【发明内容】
本发明要解决的主要技术问题是提供一种通用的远程配置控制方法和基于该方法的系统。
为解决上述技术问题,本发明提供一种远程配置控制方法,包括:配置管理终端向配置管理服务器请求要远程配置管理的配置文件;所述配置管理服务器根据所述配置文件对应的配置定义向所述配置管理终端返回配置文件的配置项,所述配置定义包括对应配置文件中配置项的属性;所述配置管理终端修改配置项后向配置管理服务器提交,所述配置管理服务器根据所述配置项属性对提交的配置项修改验证后修改配置文件。
其中所述配置项的属性包括值类型、最大值、最小值、用户权限。
其中所述配置定义是XML格式的文件。
其中所述配置管理服务器根据所述配置文件对应的配置定义向所述配置管理终端返回配置文件的配置项包括:所述配置管理服务器根据所述配置文件向其所在服务器发出配置文件和配置定义请求;所述配置文件所在服务器返回所述配置文件和配置定义;配置管理服务器根据配置定义结合配置管理终端的用户权限向配置管理终端返回配置文件的配置项。
其中所述配置文件所在服务器返回所述配置文件和配置定义具体执行以下操作:配置文件所在服务器将所述配置文件和配置定义上传到FTP服务器;配置文件所在服务器通知配置管理服务器上传完成;配置管理服务器到所述FTP服务器下载所述配置文件和配置定义。
其中配置文件所在服务器具体通过第一驻留模块接收配置管理服务器发来的配置文件和配置定义请求,将所述配置文件和配置定义上传到所述FTP服务器,通知所述配置管理服务器上传完成。
其中所述配置管理终端修改配置项后向配置管理服务器提交,配置管理服务器根据所述配置项属性对提交的配置项修改验证后修改配置文件具体包括:所述配置管理终端对配置项进行修改;所述配置管理服务器根据配置定义对修改的配置项进行验证并修改配置文件;配置管理服务器将修改后的配置文件上传到FTP服务器;配置管理服务器通知所述第一驻留模块下载所述修改后的配置文件;所述第一驻留模块从所述FTP服务器下载所述修改后的配置文件。
所述方法还包括维护所述配置定义的过程,所述维护包括生成、修改。
其中所述配置管理终端向配置管理服务器请求要远程配置管理的配置文件,配置管理服务器根据所述配置文件对应的配置定义向配置管理终端返回配置文件的配置项,包括:所述配置管理终端向所述配置管理服务器请求要远程配置管理的节点的配置文件;所述配置管理服务器根据所述配置文件获得配置文件列表;所述配置管理服务器向所述配置管理终端返回所述配置文件列表;所述配置管理终端从所述配置文件列表中选择需要修改地配置文件;所述配置管理服务器根据选择的配置文件的配置定义向用户返回配置项。
其中所述配置管理服务器向配置管理终端返回所述配置文件列表包括:所述配置管理服务器根据所述配置文件通过配置文件列表定义,向具有所述配置文件列表的服务器请求所述配置文件列表;具有所述配置文件列表的服务器返回所述配置文件列表。
其中所述配置文件列表定义是XML格式的文件。
其中所述配置文件列表定义至少包括文件名称、文件路径和用户权限。
其中所述配置管理服务器根据配置文件通过配置文件列表定义,向具有所述配置文件列表的服务器请求所述配置文件列表,包括:所述配置管理服务器根据所述配置文件向包括所述配置文件的配置文件列表定义的服务器请求配置文件列表定义;所述包括所述配置文件的配置文件列表定义的服务器通过第二驻留模块上传所述配置文件列表定义到FTP服务器;所述配置管理服务器从所述FTP服务器下载所述配置文件列表定义;所述配置管理服务器根据所述配置文件列表定义中的文件名称和路径,查询所述配置文件列表;所述配置管理服务器向所述配置管理终端返回所述配置文件列表。
所述方法还包括维护所述配置文件列表定义的过程,所述维护包括生成和修改。
所述方法,还包括:配置管理服务器将修改前的配置文件和修改后的配置文件连同配置管理终端的信息记录到数据库中。
其中所述配置管理终端为WEB浏览器终端,所述配置管理服务器为WEB服务器。
本发明还提供一种远程配置控制系统,包括配置管理终端和配置管理服务器,所述配置管理终端用于向配置管理服务器请求要远程配置管理的配置文件;所述配置管理服务器用于根据所述配置文件对应的配置定义向所述配置管理终端返回配置文件的配置项,所述配置定义包括对应配置文件中配置项的属性;所述配置管理终端还用于修改配置项后向所述配置管理服务器提交;所述配置管理服务器还用于根据所述配置项属性对提交的配置项修改验证后修改配置文件。
所述配置管理服务器还用于根据所述配置文件向其所在服务器发出配置文件和配置定义请求,接收所述配置文件所在服务器返回的所述配置文件和配置定义,根据所述配置定义结合所述配置管理终端的用户权限向所述配置管理终端返回配置文件的配置项;所述系统还包括第一驻留模块和FTP服务器,所述第一驻留模块设置在需要配置管理的节点的服务器中,用于接收所述配置管理服务器发来的配置文件和配置定义请求,将所述配置文件和配置定义上传到所述FTP服务器,通知所述配置管理服务器上传完成;所述配置管理服务器还用于从所述FTP服务器下载所述配置文件和配置定义;所述FTP服务器用于接收所述第一驻留模块上传的所述配置文件和配置定义,向请求下载的所述配置管理服务器发送所述配置文件和配置定义。
所述配置管理服务器还用于根据所述配置文件向包括所述配置文件的配置文件列表定义的服务器请求配置文件列表定义;所述系统还包括第二驻留模块,设置在需要配置管理的节点的服务器中,用于接收所述配置管理服务器发送的配置文件列表定义请求,上传所述配置文件列表定义到所述FTP服务器;所述配置管理服务器还用于从所述FTP服务器下载所述配置文件列表定义,根据所述配置文件列表定义中的文件名称和路径,查询所述配置文件列表,向所述配置管理终端返回所述配置文件列表。
本发明的有益效果是:
(1)本发明通过与配置文件对应的配置定义来实现对各种不同的配置文件配置项的维护管理,从而实现通用的配置文件管理,在出现新的配置文件时,可通过配置定义来进行扩展;
(2)配置定义中的配置项属性定义可以很方便的实现配置项的管理监控,使得对其修改可以进行验证,其用户权限设定能根据不同场景下控制哪些用户可以修改哪些配置项;
(3)配置定义和配置文件存放在服务器中,而且在不同的服务器中可以存放的不同的配置文件和配置定义;
(4)配置定义的可维护性实现了配置文件的管理的可扩展性;
(5)配置定义和配置文件通过第一驻留模块经FTP服务器进行中转,可以避免在众多管理的服务器上打开FTP服务,提高了系统的安全性;
(6)本发明通过配置文件列表和配置文件列表定义的方式与管理终端交互实现配置文件的选择,配置文件列表定义可以有多个,这样就可以实现各个项目管理自己的配置文件列表,避免同时修改同一个列表导致冲突之问题;
(7)列表文件定义的可维护性实现了配置文件列表的可扩展性;
(8)配置管理终端采用WEB浏览器终端,配置管理服务器采用WEB服务器,使得整个管理过程简单、直观,易于与现有系统集成;
(9)配置管理服务器上存储修改历史信息,提供了排查问题和了解历史配置情况的手段。
【附图说明】
图1示出根据本发明系统一种实施例的结构示意图;
图2示出根据本发明系统另一种实施例的结构示意图;
图3示出根据本发明方法一种实施例的配置管理流程图;
图4示出根据本发明方法一种实施例的获取配置文件列表流程时序图;
图5示出根据本发明方法一种实施例的配置解析和展现流程时序图;
图6示出根据本发明方法一种实施例的配置上传生效流程时序图。
【具体实施方式】
下面通过具体实施方式结合附图对本发明作进一步详细说明。
根据本发明远程配置控制系统的一种实现方式,如图1所示,包括配置管理终端和配置管理服务器,配置管理终端用于向配置管理服务器请求要远程配置管理的配置文件;配置管理服务器用于根据配置文件对应的配置定义向配置管理终端返回配置文件的配置项,配置定义包括对应配置文件中配置项的属性;配置管理终端还用于修改配置项后向所述配置管理服务器提交;配置管理服务器还用于根据配置项属性对提交的配置项修改验证后修改配置文件。
配置管理服务器还用于根据配置文件向其所在服务器发出配置文件和配置定义请求,接收配置文件所在服务器返回的配置文件和配置定义,根据配置定义结合配置管理终端的用户权限向配置管理终端返回配置文件的配置项;
根据本发明系统的实施例,还包括第一驻留模块和FTP服务器,第一驻留模块设置在需要配置管理的节点的服务器中,用于接收配置管理服务器发来的配置文件和配置定义请求,将配置文件和配置定义上传到FTP服务器,通知配置管理服务器上传完成;配置管理服务器还用于从FTP服务器下载配置文件和配置定义;FTP服务器用于接收第一驻留模块上传的所述配置文件和配置定义,向请求下载的所述配置管理服务器发送所述配置文件和配置定义。
根据本发明系统的实施例,配置管理服务器还用于根据配置文件向包括所述配置文件的配置文件列表定义的服务器请求配置文件列表定义;还包括第二驻留模块,设置在需要配置管理的节点的服务器中,用于接收配置管理服务器发送的配置文件列表定义请求,上传配置文件列表定义到所述FTP服务器;配置管理服务器还用于从FTP服务器下载所述配置文件列表定义,根据配置文件列表定义中的文件名称和路径,查询配置文件列表,向配置管理终端返回所述配置文件列表。
根据本发明系统的另一种实施方式,如图2所示,第一驻留模块和第二驻留模块可集成于第三驻留模块中,驻留模块是一种驻留在服务器上,用以提供外部调用接口,从而实现FTP、执行人机命令等操作的程序。配置管理终端为WEB浏览器终端,配置管理服务器为WEB服务器。
根据本发明远程配置控制方法的一种实施方式,其包括:
配置管理终端向配置管理服务器请求要远程配置管理的配置文件;
配置管理服务器根据配置文件对应的配置定义向配置管理终端返回配置文件的配置项,配置定义包括对应配置文件中配置项的属性;
配置管理终端修改配置项后向配置管理服务器提交,配置管理服务器根据所述配置项属性对提交的配置项修改验证后修改配置文件。
根据本发明方法的实施例,配置项的属性包括值类型、最大值、最小值、用户权限。
根据本发明方法的实施例,配置定义是XML格式的文件。
根据本发明方法的实施例,配置管理服务器根据所述配置文件向其所在服务器发出配置文件和配置定义请求;配置文件所在服务器返回配置文件和配置定义;配置管理服务器根据配置定义结合配置管理终端的用户权限向配置管理终端返回配置文件的配置项。
根据本发明方法的实施例,配置文件所在服务器返回所述配置文件和配置定义具体执行以下操作:配置文件所在服务器将配置文件和配置定义上传到FTP服务器;配置文件所在服务器通知配置管理服务器上传完成;配置管理服务器到FTP服务器下载所述配置文件和配置定义。
根据本发明方法的实施例,配置文件所在服务器通过第一驻留模块接收配置管理服务器发来的配置文件和配置定义请求,将配置文件和配置定义上传到FTP服务器,通知配置管理服务器上传完成。
根据本发明方法的实施例,配置管理终端对配置项进行修改;配置管理服务器根据配置定义对修改的配置项进行验证并修改配置文件;配置管理服务器将修改后的配置文件上传到FTP服务器;配置管理服务器通知第一驻留模块下载修改后的配置文件;第一驻留模块从FTP服务器下载所述修改后的配置文件。
根据本发明方法的实施例,还包括维护配置定义的过程,该维护包括生成、修改。
根据本发明方法的实施例,配置管理终端向配置管理服务器请求要远程配置管理的节点的配置文件;配置管理服务器根据配置文件获得配置文件列表;配置管理服务器向所述配置管理终端返回所述配置文件列表;配置管理终端从配置文件列表中选择需要修改的配置文件;配置管理服务器根据选择的配置文件的配置定义向用户返回配置项。
根据本发明方法的实施例,配置管理服务器根据配置文件通过配置文件列表定义,向具有配置文件列表的服务器请求配置文件列表;具有配置文件列表的服务器返回所述配置文件列表。
根据本发明方法的实施例,配置文件列表定义是XML格式的文件。
根据本发明方法的实施例,配置文件列表定义包括文件名称、文件路径和用户权限。
根据本发明方法的实施例,配置管理服务器根据所述配置文件向包括配置文件的配置文件列表定义的服务器请求配置文件列表定义;包括配置文件的配置文件列表定义的服务器通过第二驻留模块上传配置文件列表定义到FTP服务器;配置管理服务器从FTP服务器下载配置文件列表定义;配置管理服务器根据配置文件列表定义中的文件名称和路径,查询配置文件列表;配置管理服务器向配置管理终端返回配置文件列表。
根据本发明方法的实施例,还包括维护配置文件列表定义的过程,该维护包括生成和修改。
根据本发明方法的实施例,还包括:配置管理服务器将修改前的配置文件和修改后的配置文件连同配置管理终端的信息记录到数据库中。
根据本发明方法的实施例,配置管理终端为WEB浏览器终端,配置管理服务器为WEB服务器。
图3示出根据本发明方法的另一种实施方式的流程,包括以下步骤:
302:配置文件列表定义。
随着应用功能的不断增多,针对各种功能的配置文件也不断增多,同时各个配置文件需要分成不同的级别,提供给不同的用户查看和配置。根据本发明方法的实施例,设计了支持多列表文件,并可以定义文件权限。文件列表定义文件的命名规则为*-zxsde.xml。根据本发明方法的一种实施例,其具体配置如表1所示:
节点名 属性名 注释 Filelist 文件列表节点 File 文件节点 File name 文件名称 File path 文件路径 File encrypted 是否加密 File charset 字符编码 File commentzh 中文的注释 File commenten 英文的注释 Visible 文件权限列表
表1
该配置文件列表定义可以通过手工编写文件,也可以通过工具协助生成,其典型的步骤包括:①选定配置文件目录;②列出所有该目录及其子目录下的配置文件;③通过配置页面配置每一个文件的注释、是否加密、字符编码、权限列表等;④保存为配置文件列表定义文件。
304:配置定义。
对于某一个特定的配置文件,在不同的情况下,用户关心的配置项会不一样。同时不同权限的用户,配置项是否可见也是需要控制的。根据本发明方法的实施例,将传统的ini文件分为两个层次,第一层称为配置组(APP),第二层成为配置项。对于配置组需要定义名称、是否可以重复、起止编号。对于配置项,需要定义字段属性、默认值、最大值、最小值、注释和权限列表。命名规则为*-zxfde.xml。根据本发明方法的一种实施例,其具体配置定义如表2所示:
节点名 属性名 注释 App 配置项组节点 App name 组名 App repeatable 是否可以重复 Key 配置项节点 Key name 配置项名 Key type 配置项值类型,数 字、字符串或者IP地址 等类型 Key default 默认值 Key min 最小值,字符串型 表示长度最小值 Key max 最大值,字符串型 表示长度最大值 Key commentzh 中文的注释 Key commenten 英文的注释 Visible 权限列表
表2
配置定义可以通过手工编写配置定义文件,也可以通过工具协助生成,其典型的步骤包括:①选定某个配置文件;②列出该配置文件中所有配置项;③通过属性配置页面配置配置项组是否可以重复和配置项名称、类型、最大最小值、注释、权限列表;④保存为配置定义文件。
302和304实现了配置管理的通用性和外挂式特性。也就是说只要按照指定的格式生成列表定义文件和配置定义文件,并保存到服务器的文件夹中,就能够实现该服务器的配置文件管理功能。
306:获取文件列表。
根据本发明方法的一种实施例,由于配置文件和配置定义文件都是放在各个服务器上,所以WEB服务器需要下载这些文件才能解析。根据图2的架构,WEB服务器要确定在哪台服务器中进行配置管理操作,然后使用驻留模块,通过公用FTP服务器中转的方式获取文件。
其流程如图4所示,包括以下步骤:
402:WEB浏览器根据设备信息向WEB服务端请求某一个节点的配置文件列表;
404:WEB服务器判断该列表是否存在于缓存中,如果存在则直接返回配置文件列表;
406:配置文件列表如果不存在,则通过该节点服务器上的驻留模块执行ls*-zxsde.xml文件;
408:该节点服务器向WEB服务器返回所有配置文件列表定义文件的名称;
410:WEB服务器根据文件名称请求驻留模块上传配置文件列表文件;
412:驻留模块上传该列表文件到FTP服务器;
414:WEB服务器从FTP服务器上下载该列表文件;
416:WEB服务器解析该列表文件;
418:WEB服务器按照该列表文件定义的文件名和路径,查询文件;
420:返回配置文件列表;
422:结合权限,在WEB浏览器中展现配置文件列表。
用户可在WEB浏览器中选择要维护或管理的配置文件。
308:展现配置文件内容。
根据本发明方法的实施例,在WEB浏览器上展现配置文件内容,需要按照HTML表单的方式展现,同时要根据权限控制展现配置文件内容,这就要获取配置定义文件和配置文件本身,根据本发明方法的一个实施例,其具体步骤如图5所示:
502:WEB浏览器根据节点属性、配置文件名请求配置页面;
504:如果配置文件加密WEB服务器请求节点服务器驻留模块执行解密操作;
506:WEB服务器向节点服务器驻留模块请求配置文件和配置定义文件;
508:驻留模块将配置文件上传到FTP服务器;
510:驻留模块将配置定义文件上传到FTP服务器;
512:驻留模块通知WEB服务器上传完毕;
514:WEB服务器通过FTP服务器下载配置文件和配置定义文件;
516:结合用户权限对配置文件和配置定义文件进行解析;
518:展现配置页面到WEB浏览器。
这时,用户可在WEB浏览器中对配置文件的配置项进行修改。
310:修改配置文件内容。
WEB服务器根据配置文件和定义文件的内容,将结果传递到页面。
对于可重复组,有删除和新增操作,可以动态变化组的数量。通过配置页面展现,用户只能够修改数据,而没有办法修改其他内容,保证了配置文件格式上的准确性,减少由于输入错误导致的问题。
同时页面上可以根据配置的定义,进行基本属性的校验,比如最大最小值,最大最小长度,是否为空、是否为数字、是否为IP地址等。
312:上传生效。
通过界面配置修改完成,并保存到WEB服务器的文件,需要再上传到节点上去。文件上传模块同样采用驻留模块交互方式上传。根据本发明方法的一个实施例,其流程如图6所示,包括以下步骤:
602:在WEB浏览器页面上完成文件的修改;
604:通过表单的方式,提交数据到WEB服务器;
606:WEB服务器根据提交的表单数据修改配置文件;
608:WEB服务器将修改好的配置文件上传到FTP服务器;
610:WEB服务器通知节点服务器的驻留模块下载修改后的配置文件;
612:节点服务器的驻留模块下载修改后的配置文件;
614:如果需要加密,则加密配置文件;
616:通知WEB服务器修改完成;
618:展现配置文件内容。
这样就完成了远程配置的过程。
314:修改历史管理
在用户提交修改的时候,配置管理系统会将原始的配置文件和修改后的配置文件内容,连同用户信息记录到数据库中。在页面上提供历史的查询,查询页面提供前后文件的对比,如果不同则高亮显示。
历史管理对于配置来说也是很重要的。一般如果通过编辑器修改配置文件是无法保留历史记录的,用户无法知道某个配置文件在什么时候,什么地方、哪个用户、修改了哪个配置项。而配置文件的历史管理解决了该问题。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。