一种组件部署系统及方法技术方案

技术编号:10484696 阅读:124 留言:0更新日期:2014-10-03 14:59
本发明专利技术公开了一种组件部署系统及方法,该系统包括:部署管理模块、执行模块、SVN服务器、数据库和客户端。部署管理模块向执行模块发送部署命令及部署信息,部署信息包括生产环境中需要部署的服务器及组件信息;执行模块接收部署命令及部署信息,并根据部署信息从数据库中获取需要部署的组件的版本信息,将版本信息发送给需要部署的服务器上的客户端;客户端根据所述版本信息从SVN服务器下载版本文件,并根据脚本文件运行对应版本文件,完成本次部署。利用本发明专利技术,可以提高部署效率及可靠性,加快上线速度。

【技术实现步骤摘要】

本专利技术涉及移动互联网领域,具体涉及。
技术介绍
随着移动互联网的发展,互联网业务变得越来越复杂,用户的需求变得越来越多样化,安全可靠的组件部署系统已成为移动互联网的重要组成部分。 为了提供稳定的服务,满足海量用户的请求,后台需要运行大量的服务程序来提供支撑,服务器管理、组件管理以及版本的迭代更新成为一个不可回避的问题。目前的部署工作多是由人工完成的,当一个组件需要更新时,需要多个运维人员进行组件的上线操作。 当服务器的数量比较少的情况下,可以通过人工方式来管理服务器、完成组件的版本上线,能够保证上线的速度和服务部署的正确性。但是,随着服务器数量的增加,当服务器的数量达到上百台、上千台甚至更多时,同时上线越来越频繁,人工部署已经远远无法满足快速上线的需求,并且人工部署耗时长、出错率高、效率低下。
技术实现思路
本专利技术实施例提供,用于提高部署效率及可靠性,加快上线速度。 为此,本专利技术提供如下技术方案: 一种组件部署系统,其特征在于,包括: 部署管理模块,用于向执行模块发送部署命令及部署信息,所述部署信息包括生产环境中需要部署的服务器及组件信息; 所述执行模块,用于接收所述部署命令及部署信息,并根据所述部署信息从数据库中获取需要部署的组件的版本信息,将所述版本信息发送给需要部署的服务器上的客户端; 所述客户端,用于根据所述版本信息从SVN服务器下载版本文件,并运行所述版本文件对应的脚本文件,完成本次部署。 [0011 ] 优选地,所述系统还包括: 信息管理模块,用于在所述生产环境中有新的服务器或组件加入时,将所述服务器及组件信息存储到所述数据库中; 版本管理模块,用于构建对应所述组件的版本文件,将所述版本文件上传到所述SVN服务器中,并将对应所述版本文件的版本信息存储到所述数据库中。 优选地,所述版本管理模块,还用于在将所述版本文件上传到所述SVN服务器中之前,检查所述版本文件的大小;如果所述版本文件大于设定值,则将所述版本文件上传到FTP服务器中;否则,将所述版本文件上传到所述SVN服务器中。 优选地,所述系统还包括: 检验信息生成模块,用于生成所述版本文件的校验信息,并将所述检验信息上传到所述SVN服务器中; 所述客户端,还用于在运行所述版本文件对应的脚本文件之前,从所述SVN服务器下载所述版本文件的校验信息,并根据所述校验信息对所述版本文件进行校验。 优选地,所述系统还包括: 脚本文件管理模块,用于将所述脚本文件存储在所述SVN服务器或FTP服务器上。 优选地,所述生产环境中需要部署的服务器是基于windows操作系统和/或Iinux操作系统的服务器。 一种组件部署方法,其特征在于,包括: 接收部署命令及部署信息,所述部署信息包括生产环境中需要部署的服务器及组件信息; 根据所述部署信息从数据库中获取需要部署的组件的版本信息,并将所述版本信息发送给需要部署的服务器上的客户端; 所述客户端根据所述版本信息从SVN服务器下载版本文件; 所述客户端运行所述版本文件对应的脚本文件,完成本次部署。 优选地,所述方法还包括: 在所述生产环境中有新的服务器或组件加入时,将所述服务器及组件信息存储到所述数据库中; 构建对应所述组件的版本文件; 将所述版本文件上传到所述SVN服务器中; 将对应所述版本文件的版本信息存储到所述数据库中。 优选地,所述方法还包括: 在将所述版本文件存储到所述SVN服务器中之前,检查所述版本文件的大小; 如果所述版本文件大于设定值,则将所述版本文件上传到FTP服务器中; 否则,将所述版本文件存储到所述SVN服务器中。 优选地,所述方法还包括: 生成所述版本文件的校验信息,并将所述检验信息上传到所述SVN服务器中; 所述客户端在运行所述版本文件对应的脚本文件之前,从所述SVN服务器下载所述版本文件的校验信息,并根据所述校验信息对所述版本文件进行校验。 优选地,所述方法还包括: 预先将所述脚本文件存储在所述SVN服务器或FTP服务器上。 优选地,所述生产环境中需要部署的服务器是基于windows操作系统和/或Iinux操作系统的服务器。 本专利技术实施例提供的组件部署系统及方法,可以有效地管理生产环境的服务器以及组件的历史版本,实现对生产环境的服务器的自动化部署,而且支持多节点多台服务器的并发部署,同时更新的服务器数量可控,提高了上线效率。而且,由于是自动完成部署工作,避免了人工操作带来的错误隐患,提高了上线的正确性及可靠性。 【附图说明】 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。 图1是本专利技术实施例组件部署系统的一种结构示意图; 图2是本专利技术实施例组件部署方法的流程图。 【具体实施方式】 为了使本
的人员更好地理解本专利技术实施例的方案,下面结合附图和实施方式对本专利技术实施例作进一步的详细说明。 在一个生产环境下,有时会需要多台服务器完成工作,这些服务器需要安装相同的组件,提供相应的服务。在有些环境下,这些服务器的数量可能会达到上百台、上千台甚至更多,而传统的手工部署方式不仅效率低,而且易出错。针对这种应用需求,本专利技术实施例提供,实现对生产环境的服务器的自动化部署,而且支持多节点多台服务器的并发部署,提高上线效率。 如图1所示,是本专利技术实施例组件部署系统的一种结构示意图,实现对生产环境中的一个或多个服务器105进行组件自动部署。每个服务器105上安装有相应的客户端500,运行对应需要部署组件的脚本文件中的命令,完成部署操作。 在该实施例中,所述系统包括:部署管理模块101、执行模块102、数据库103、以及SVN服务器104。 SVN(Subversion)是一个开源的版本管理系统,具有管理方便、逻辑明确、安全性高、代码一致性高、符合一般人思维习惯等优点。为此,在本专利技术实施例的系统中,利用SVN服务器104来保存开发的各组件的版本文件。相应地,将对应各组件的版本信息(比如,版本运行的程序路径、版本文件路径等信息)保存在数据库103中。 在对服务器进行相应组件部署时,可以通过人工选定需要部署的服务器及组件,生成部署信息,所述部署信息包括生产环境中需要部署的服务器及组件信息(其中,组件信息包括组件名、部署路径等)。然后由部署管理模块101向执行模块102发送部署命令及部署信息,执行模块102接收到部署命令及部署信息后,根据该部署信息从数据库103中获取需要部署的组件的版本信息,然后将所述版本信息发送给需要部署的服务器105上的客户端500。客户端500根据所述版本信息从SVN服务器104下载相应的版本文件,并根据脚本文件运行所述版本文件,完成本次部署。 [0051 ] 需要说明的是,所述脚本文件是对应所述版本文件的命令程序,在实际应用中,所述脚本文件可以存放在SVN服务器中,也可以存放在其它服务器中。相应地,客户端可以根据收到的版本信息获取所述脚本文件的存放路径,并从相应的服务本文档来自技高网
...
一种组件部署系统及方法

【技术保护点】
一种组件部署系统,其特征在于,包括:部署管理模块,用于向执行模块发送部署命令及部署信息,所述部署信息包括生产环境中需要部署的服务器及组件信息;所述执行模块,用于接收所述部署命令及部署信息,并根据所述部署信息从数据库中获取需要部署的组件的版本信息,将所述版本信息发送给需要部署的服务器上的客户端;所述客户端,用于根据所述版本信息从SVN服务器下载版本文件,并运行所述版本文件对应的脚本文件,完成本次部署。

【技术特征摘要】
1.一种组件部署系统,其特征在于,包括: 部署管理模块,用于向执行模块发送部署命令及部署信息,所述部署信息包括生产环境中需要部署的服务器及组件信息; 所述执行模块,用于接收所述部署命令及部署信息,并根据所述部署信息从数据库中获取需要部署的组件的版本信息,将所述版本信息发送给需要部署的服务器上的客户端;所述客户端,用于根据所述版本信息从SVN服务器下载版本文件,并运行所述版本文件对应的脚本文件,完成本次部署。2.根据权利要求1所述的系统,其特征在于,所述系统还包括: 信息管理模块,用于在所述生产环境中有新的服务器或组件加入时,将所述服务器及组件信息存储到所述数据库中; 版本管理模块,用于构建对应所述组件的版本文件,将所述版本文件上传到所述SVN服务器中,并将对应所述版本文件的版本信息存储到所述数据库中。3.根据权利要求2所述的系统,其特征在于,所述版本管理模块,还用于在将所述版本文件上传到所述SVN服务器中之前,检查所述版本文件的大小;如果所述版本文件大于设定值,则将所述版本文件上传到FTP服务器中;否则,将所述版本文件上传到所述SVN服务器中。4.根据权利要求2所述的系统,其特征在于,所述系统还包括: 检验信息生成模块,用 于生成所述版本文件的校验信息,并将所述检验信息上传到所述SVN服务器中; 所述客户端,还用于在运行所述版本文件对应的脚本文件之前,从所述SVN服务器下载所述版本文件的校验信息,并根据所述校验信息对所述版本文件进行校验。5.根据权利要求3所述的系统,其特征在于,所述系统还包括: 脚本文件管理模块,用于将所述脚本文件存储在所述SVN服务器或FTP服务器上。6.根据权利要求1至5任一项所述的系统,其特征在于,所述生产环境中需要部署的服...

【专利技术属性】
技术研发人员:何廷代秀娟曹军
申请(专利权)人:科大讯飞股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1