一种分布式环境的环境搭建自动化系统及方法
技术领域
本发明涉及计算机自动化测试领域,尤其涉及一种环境搭建自动化系统及方法,来实现对多台机器环境(即分布式环境)的自动安装配置。
背景技术
目前IT行业,尤其是电信增值行业的业务环境搭建工作常常复杂繁琐,而环境搭建几乎是测试人员或用服工作人员每天的工作之一,它对整个软件的测试及商用运行都起着举足轻重的作用。
下面以智能网环境安装为例来说明当前大部分环境搭建的流程,智能网环境的搭建需要以下几个步骤:
从版本机上提取智能网版本文件;
安装数据库;
将智能网版本文件发送到需要安装的机器上;
各台机器分别执行智能网版本文件的安装过程(需要人为参与交互操作);
在各台机器上配置相关参数;
测试各台机器的运行状态及网络连接。
从上面流程可以看出,整个环境搭建过程中,步骤是确定的,所以每次环境搭建都是在进行重复的劳动。一旦出现问题,也是在进行这些步骤的重复手工操作,非常浪费时间和精力。
发明内容
本发明所要解决的技术问题是提供一种自动化环境搭建系统,还提供了自动化环境搭建方法,来实现分布式环境搭建自动化及相关配置操作。
为解决上述技术问题,本发明提供了一种分布式环境的环境搭建自动化系统,所述分布式环境中包括至少两台机器,该系统包括:系统管理台,部署于分布式环境中其中一台机器上的分布式平台代理单元、配置文件自动生成模块和安装程序模块,及部署于分布式环境中所有机器上的分布式平台单元、执行器;
所述系统管理台,用于配置待安装环境的相关信息;与分布式平台代理单元进行实时通信,向其分别发送所述待安装环境的相关信息、生成配置文件的请求和安装环境的请求;
所述分布式平台代理单元,用于与系统管理台和分布式平台单元分别进行实时通信;在接收到生成配置文件的请求时启动配置文件自动生成模块,以根据所述待安装环境的相关信息自动生成环境搭建配置文件;在接收到安装环境的请求时启动安装程序模块,以根据所述环境搭建配置文件获取版本文件并将此版本文件及安装环境的请求分发到各个待配置机器上的分布式平台单元;
所述分布式平台单元,用于在接收到分布式平台代理单元转发来的安装环境的请求时,启动本分布式平台单元所在机器上的执行器,进行版本文件的安装。
上述系统还包括部署于分布式环境中所有机器上的例行检查模块,用于在其所在机器上的的执行器进行版本文件的安装之前,对安装过程中的各个检查点进行检查,当检查不通过时通知所述分布式平台单元控制执行器以暂停安装。
上述系统中,所述安装过程中的各个检查点包括:例行检查模块所在机器的硬件环境、例行检查模块所在机器的软件环境、环境安装过程中待用的数据库的存在性、和/或例行检查模块所在的机器与在安装过程中需要通信的其他机器的连通性。
上述系统中,所述分布式平台单元还用于对其所在机器上的安装过程进行监测,记录日志信息,并通过分布式平台代理单元将所述日志信息发送给系统管理台;所述系统管理台还用于根据所接收到的日志信息对每台机器的环境安装过程进行监控。
上述系统中,所述分布式平台单元包括:
跟踪模块,用于跟踪本分布式平台单元所在机器的环境安装过程,记录日志信息并上报;
环境场景快照模块,用于记录在本分布式平台单元所在机器的环境安装过程中自动化环境搭建系统每一时刻的状态,以便进行安装暂停及恢复操作。
本发明还提供了一种分布式环境的环境搭建自动化方法,所述分布式环境中包括至少两台机器,该方法包括:
步骤A、在分布式环境中所有机器上安装分布式平台单元和执行器,在其中一台机器上同时安装分布式平台代理单元、配置文件自动生成模块及安装程序模块;
步骤B、在系统管理台配置待安装环境的相关信息并将其发送至分布式平台代理单元;
步骤C、分布式平台代理单元收到之后先启动配置文件自动生成模块,以根据所述待安装环境的相关信息自动生成环境搭建配置文件;再启动安装程序模块,以根据所述环境搭建配置文件加载相应的版本文件,加载之后将此版本文件分发到各个待配置机器上的分布式平台单元;
步骤D、所述各个待配置机器上的分布式平台单元接收到所述版本文件之后,分别启动其所在机器上的执行器,进行版本文件的安装。
上述方法还包括:在分布式环境中所有机器上安装例行检查模块;
所述各个待配置机器上的分布式平台单元在启动其所在机器上的执行器进行版本文件的安装之前,先启动其所在机器上的例行检查模块,对安装过程中的各个检查点进行检查,若检查不通过,则通知所述分布式平台单元控制执行器以暂停安装。
上述方法方法还包括:所述各个待配置机器上的分布式平台单元在启动其所在机器上的执行器进行版本文件的安装的过程中,分别对其所在机器上的安装过程进行监测,若出现异常,则暂停安装并通过所述分布式平台代理单元向系统管理台发送错误日志,在异常处理成功之后再继续安装。
上述方法中,所述待安装环境的相关信息至少包括:版本位置、分布式环境中各台机器的IP地址、版本分发源IP及源目录、各台机器上的目标安装目录、在分发版本文件后各台机器要进行的配置及待连接的数据库信息。
上述方法中,所述安装过程中的各个检查点包括:例行检查模块所在机器的硬件环境、例行检查模块所在机器的软件环境、环境安装过程中待用的数据库的存在性、和/或例行检查模块所在的机器与在安装过程中需要通信的其他机器的连通性。
本发明具有以下有益效果:
本发明中,系统管理台是整个系统的外部接口,用户可以在系统管理台上规划整个安装过程、进行安装日志跟踪、暂停环境安装及恢复环境场景运行、进行错误跟踪及快速定位问题,测试人员只需要按照环境要求及业务流程在系统管理台上集中配置一些参数即可实现分布式环境的自动搭建,为测试人员提供了方便,避免重复性手工操作。
附图说明
图1是本发明的一个实施例中环境搭建自动化系统结构图;
图2是本发明的一个实施例中环境搭建自动化方法流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的描述:
请参阅图1,该图所示为本实施例中环境搭建自动化系统的结构图。该系统包括以下模块:系统管理台、分布式平台代理单元、配置文件自动生成模块、安装程序模块、分布式平台单元、执行器、例行检查模块。
上述各组成部分的功能及连接关系如下:
系统管理台:
与分布式平台代理单元联合实现一个C/S(Client/Server,即客户端/服务端)的架构,本模块相当于客户端,对整个系统进行操作控制,具有待安装环境的信息配置及下发、状态监视、日志跟踪显示、错误跟踪处理等功能;该系统管理台同分布式平台代理单元进行通信,位于网络环境中,位置没有限制,只要能与分布式平台代理单元联网通信即可。
分布式平台代理单元:
与系统管理台实现一个C/S的架构,本模块相当于服务端,置于分布式环境中的某一台机器上,用于分别与系统管理台和各个分布式平台单元实时通信;在接收到系统管理台的配置文件请求时启动配置文件自动生成模块进行环境搭建配置文件的生成,在接收到系统管理台的安装请求时,启动安装程序模块进行版本文件的分发并同时将安装请求发送与各分布式平台单元执行安装;还用于将分布式平台单元返回的消息发送给系统管理台。
配置文件自动生成模块:
位于分布式平台代理单元所在的机器上,用于根据系统管理台配置的待安装环境的相关信息自动生成自动环境搭建配置文件。鉴于XML语言的开放性及规范性,环境搭建配置文件采用XML语言格式描述整个环境中所有点(机器)的详细信息,并使用相关XML指令控制每台机器的部署及环境具体搭建过程。同时,本模块也具备配置文件自动检查功能,具备纠错功能。
安装程序模块:
位于分布式平台代理单元所在的机器上,用于对环境搭建配置文件进行解释编译,在分布式平台代理单元接收到安装请求时根据其中的相关信息获取版本文件进行加载,并将版本文件分发到相应的机器上。
分布式平台单元:
位于分布式环境中所有机器上,为环境安装提供统一的平台以及一致的接口,负责处理所有需要计算机辅助操作的部分,这样可以将环境搭建工作中的人为问题及未知情况减少到最低。
因为环境搭建过程需要多台机器的参与和协调,所以分布式平台单元是本系统存在的基础。在环境安装的过程中,每台机器将预先安装分布式平台单元,互相注册并形成一个网状分布式环境。
同时,分布式平台单元还支持如下功能:文件系统操作、文件传输、进程跟踪、日志跟踪、错误跟踪检测、并发操作、环境场景快照等。
在环境安装过程中,相关的跟踪模块(即上段中所提到的进程跟踪,日志跟踪,错误跟踪检测等功能模块)即被分布式平台单元默认启动,来实时跟踪安装过程中出现的情况。进程跟踪主要是跟踪安装过程中本系统的运行状况,具备系统进程异常反馈等功能;日志跟踪主要是跟踪安装过程的每一个步骤及每个模块的运行状态等详细信息;环境场景快照主要用于对安装过程的每一时刻的状态进行记录,以便进行安装暂停及恢复操作。
如果安装过程出现任何问题,都由错误跟踪检测模块捕获,分布式平台单元将暂停本地执行器的执行,并通过分布式平台代理单元反馈错误日志信息到系统管理台,等待相关人员处理。待错误处理完成后,可以由分布式平台单元恢复安装现场,继续完成安装。
分布式平台单元的功能是实现了对环境搭建过程中所有共性功能的抽象处理,并且支持插件开发,服务扩展,以便进一步完善。
执行器:
位于分布式环境的所有机器上,用于实现以下几点功能:实现分布式环境中相关协议,与其它机器进行通信;按系统全局配置要求,进行本地环境安装;启动环境中需要执行的模块(比如例行检查模块)。
例行检查模块:
位于分布式环境的所有机器上,用于对安装过程中的所有检查点进行检查,确保系统安装搭建成功。检查点主要包括以下几种:环境安装要求的硬件环境、环境安装要求的软件环境、环境安装要用到的数据库系统的存在性、本地机器与环境安装时要进行通信的相关机器的连通性。例行检查模块对所有检查点进行检查后,如果没通过,则通知分布式平台单元暂停安装并由跟踪模块返回日志信息给分布式平台代理单元,分布式平台代理单元再将日志信息发送给系统管理台进行显示,等待处理。
请参阅图2,该图所示为本实施例中环境搭建自动化方法流程图,具体包括以下步骤:
201、环境搭建之前,首先部署分布式平台单元,分布式平台代理单元,系统管理台等模块。部署之后,整个环境平台已存在,后续所有操作都可以在系统管理台上进行了。具体部署方式如下:
1)在所有机器上安装分布式平台单元;
2)在其中一台机器上安装分布式平台代理单元,作为分布式平台单元和系统管理台的一个中间件,负责处理系统管理台的请求并将其发送给分布式平台单元,或者返回分布式平台单元的响应消息给系统管理台;
3)安装系统管理台,用于在网络上对整个环境进行控制,对待安装环境的相关信息进行初始配置,对环境自动化安装进程、环境运行情况进行监视等。
202、由开发人员或者测试人员,在系统管理台上配置待安装环境的相关信息(包括:版本位置,每一台机器的IP地址、版本分发源IP及源目录(本系统会将版本文件拷贝到本系统中的某一台机器上,这个机器的IP即版本分发源IP,版本文件在该机器上的存储目录即源目录)、每台机器上的目标安装目录,在分发版本文件后各台机器上要进行的配置,需要连接的数据库信息)
203、系统管理台在配置完成后向分布式平台代理单元发送生成配置文件的请求,分布式平台代理单元收到后即启动配置文件自动生成模块,配置文件自动生成模块根据上述待安装环境的相关信息自动生成XML语言格式的环境搭建配置文件,生成之后向系统管理台返回响应消息。
为以后的同类环境搭建提供快速处理,还可将本次生成的环境搭建配置文件保存为模板,这样在下次同类环境搭建时,应用该模板并根据需要修改某些参数即可完成同类环境的搭建。
204、环境搭建配置文件生成以后,系统管理台向分布式平台代理单元发送安装环境的请求;分布式平台代理单元收到后即启动安装程序模块,读入环境搭建配置文件并对其进行解释编译,据此加载版本文件,之后分布式平台代理单元将版本文件分发至环境搭建配置文件中所规定的各个需要安装环境的机器上的分布式平台单元,与此同时,分布式平台代理单元还将安装环境的请求发送给各个分布式平台单元。
205、各个分布式平台单元在收到安装环境的请求后分别启动本地的执行器。
206、各执行器在启动后,先启动本地的例行检查模块对所有检查点进行检查,所有检查通过后再进行版本文件的安装,若不通过,则暂停安装。具体过程如下:
假设在某一机器上的执行器(简称a)被平台启动了,则由A开始执行安装操作。在安装之前,a将启动例行检查模块,对本地的硬件环境、软件环境、本地机器与在安装过程中需要通信的其他机器的连通性、待安装的数据库的存在性进行检查。所有检查通过后,a再开始进行环境安装。如果安装过程中遇到问题,则暂停安装,并由分布式平台单元通过分布式平台代理单元向系统管理台发送日志文件以进行错误跟踪。如果a安装过程中,需要等待其它某台机器的操作完成,则由分布式平台单元执行暂停操作。
在安装过程中,系统管理台监视所有的执行器(包括a,b,c......),待所有的执行器都返回安装成功的消息后表明环境安装完毕。
在安装过程中遇到的任何问题,都将被分布式平台单元的跟踪模块捕获,暂停安装,相关日志反馈到系统管理台,等待处理,处理完毕后再恢复安装。
至此,整个流程实施完毕。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。