服务器部署系统和方法
技术领域
本发明涉及一种适用于各种大型在线系统中不同服务器的部署系统,本发明还涉及一种利用所述系统对服务器进行部署的方法。
背景技术
现在各种大型的在线系统都有自己的一套部署系统来完成大批量的服务器部署。例如网络游戏中游戏服务器的部署。一般每种部署系统都可以完成大批量的部署任务,但是由于这些部署系统都是针对特定在线系统的服务器的,所以操作流程各不相同,由此增加了服务器管理人员的工作难度。同时对每一种在线系统的服务器都要开发一种部署系统,因此造成了大量的重复开发。
发明内容
本发明所要解决的技术问题是提供一种服务器部署系统,可通过统一的流程来完成各种在线系统服务器的部署,降低服务器管理人员的工作难度和强度,避免重复开发,确保能够高效并稳定地完成大批量服务器的部署任务。为此,本发明还提供一种利用本发明所述服务器部署系统对服务器进行部署的方法。
为解决上述技术问题,本发明提供一种服务器部署系统,包括:部署客户端、部署服务器、部署代理;
所述部署客户端,用于确保用户能够根据自己的需求设置服务器部署信息;
所述部署服务器的一端连接所述部署客户端,另一端则连接所述部署代理,用于负责部署客户端的登录验证,保存各安装版本并对所述安装版本进行管理,生成指定服务器的安装文件并发送给部署代理,及对所有的用户操作和结果进行记录;
所述部署代理,与部署服务器相连,用于负责服务器程序的安装、启动和停止。
所述部署客户端还用于对各服务器的部署进度和结果进行显示,以及对各安装版本的版本信息进行显示。
所述部署代理按如下过程来完成所述服务器的安装、启动和停止:
当所述部署代理接收到所述部署服务器发送的程序安装包后,开始对服务器进行安装包的安装,并在安装的同时将安装进度返回给部署服务器;
安装完成后,部署客户端会给部署服务器发送一个启动服务器命令,部署服务器会将该启动服务器命令转发给相应的部署代理程序,当部署代理程序接收到该启动服务器命令后,就会进行启动服务器的操作;
而当部署客户端向部署服务器发送停止服务器命令时,部署服务器也会将该停止服务器命令转发给部署代理程序,当所述部署代理程序接收到该停止服务器命令后,就会进行停止服务器的操作。
本发明还提供一种利用所述系统对服务器进行部署的方法,包括以下步骤:
(1)在部署客户端制作配置工程,然后将所述配置工程上传到部署服务器中;其中,所述配置工程用于生成服务器程序的配置文件;
(2)在所述配置工程上传完毕后,在部署客户端制作安装版本,然后将所述安装版本创传至部署服务器;
(3)在所述安装版本上传完毕后,在部署客户端添加服务器信息,即用户通过部署客户端给出需要进行部署的服务器的基本信息;
(4)使用步骤(2)中的安装版本,通过部署服务器和部署代理完成对由步骤(3)所指定的服务器进行部署。
所述配置工程由配置文件模版和数据源文件组成;其中,所述配置文件模版用于将配置文件中不变的部分保留下来,而将变化的部分定义为变量;所述数据源文件中则是各个变量的取值,且同一个变量对各个服务器的取值各不相同。
所述步骤(3)中的基本信息包括:服务器的IP地址、服务器名称、服务器类型、服务器所属区、服务器索引。
本发明由于采用了上述技术方案,具有这样的有益效果,即通过在部署客户端制作配置工程并上传至部署服务器,然后在部署客户端制作安装版本并上传至部署服务器,并在部署客户端添加需要部署的服务器的基本信息,然后再通过部署代理完成对指定服务器的最终部署,从而实现了只需通过统一的流程就能完成对各种在线系统服务器的部署,降低了服务器管理人员的工作难度和强度,避免了重复开发;而且可以更加稳定而有效地实现对大批量各种在线系统的服务器进行部署和更新。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1为本发明所述服务器部署系统的一个实施例的系统架构图;
图2为本发明所述服务器部署方法的一个实施例的流程示意图。
具体实施方式
如图1所示,在一个实施例中,本发明所述服务器部署系统包括:部署客户端、部署服务器、部署代理;
其中,所述部署客户端,完成图形界面的工作,用于确保用户可以根据自己的需求设置服务器部署信息,并对各服务器的部署进度和结果进行显示,以及对各安装版本的版本信息进行显示。
所述部署服务器的一端连接前台的部署客户端,另一端则连接后台的部署代理,用于负责部署客户端的登录验证,保存各安装版本并对所述安装版本进行管理,生成指定服务器的安装文件并发送给部署代理,及对所有的用户操作和结果进行记录。
所述部署代理程序与部署服务器相连,用于负责部署服务器程序的安装、启动和停止。例如,在一个实施例中,所述部署代理按如下过程来完成其工作:当所述部署代理接收到部署服务器发送的程序安装包后,开始对服务器进行安装包的安装,并在安装的同时将安装进度返回给部署服务器,由部署服务器将所述安装进度返回给部署客户端进行显示;安装完成后,部署客户端会给部署服务器发送一个启动服务器命令,部署服务器会将该启动命令转发给相应的部署代理程序,当部署代理程序接收到该启动命令后,就会进行启动服务器的操作。而当部署客户端向部署服务器发送一个停止服务器的命令时,部署服务器也会将该停止命令转发给部署代理程序,而当所述部署代理程序接收到该停止命令后,就会进行停止服务器的操作。
如图2所示,在一个实施例中,通过所述服务器部署系统对服务器进行部署的方法包括如下步骤:
第一步,在部署客户端制作配置工程,所述配置工程用于生成服务器程序的配置文件,因为一般每个服务器程序的配置文件的内容都不相同,所以需通过配置工程来生成。本领域的一般技术人员应当知道,所述配制文件的作用是提供服务器启动时需要的一些信息,如服务器程序监听的IP地址和端口(Port),服务器所能承受的最大用户数量等。在一个实施例中,所述配置工程由配置文件模版和数据源文件组成。其中,所述配置文件模版用于将所述配置文件中不变的部分保留下来,而将变化的部分定义为变量;而所述数据源文件中则是各个变量的具体取值(如字符串),同一个变量对各个服务器的取值一般各不相同。当生成配置文件时会根据要部署的服务器来选取相对应的取值(字符串)进行替换。例如,如果某一服务器的配置文件中包括以下一个配置信息:IP=127.0.0.1,Port=3600;而另一个服务器的配置文件中的配置信息是:IP=192.168.1.1,Port=9600;那么,在配置模版文件中将存在以下信息:IP=$IP、Port=$Port,其中$IP和$Port是变量,而其具体取值则保存在数据源文件中,当部署服务器生成配置文件时可从数据源文件中找到这两个变量的值替换$IP和$Port。完成所述配置工程的制作后,再将其上传到部署服务器中。
第二步,在配置工程上传完毕后,在部署客户端制作安装版本,每个安装版本都有一个版本号,此版本号由用户分配。所述安装版本包括固定文件和配置工程,或者只包含固定文件或配置工程。所述固定文件是指在部署服务器程序时不同机器上都一样的文件,如可执行文件、动态链接库等,其作用是当将该固定文件部署到不同的机器上时,不用对其进行修改就可以直接拷贝。所述配置工程即为由用户选择存在于部署服务器上的配置工程。用户可以选择此安装版本需要的配置工程中的配置文件模版。完成所述安装版本的制作以后,就可以将其上传至部署服务器了。
第三步,在安装版本上传完毕后,在部署客户端添加服务器信息,即用户通过部署客户端给出需要进行部署的服务器的基本信息,如要部署机器的IP地址、服务器名称、服务器类型、服务器所属区、服务器索引等。获得上述信息后部署客户端会生成一个全局唯一的服务器标识。
第四步,使用第二步中的安装版本,通过部署服务器和部署代理完成对由第三步所指定的服务器的部署。具体部署过程如下:首先需选择部署的安装版本和安装路径,然后向服务器发送部署命令;服务器收到部署命令以后根据安装版本中的固定文件信息和配置工程生成对应服务器的安装包;然后将安装包发送到要部署机器上的部署代理,部署代理接收完安装包以后会将服务器程序安装到指定的目录并将安装进度和结果返回给部署服务器,部署服务器再返回给部署客户端。