大数据节点系统及自动部署方法
技术领域
本发明涉及通信技术领域,特别涉及一种大数据节点系统及自动部署方法。
背景技术
随着云计算的普及,如何在“云”中高效、自动地部署应用,成为系统快速部署尤其是快速增长企业面临的挑战。
在传统的应用安装和部署,常会采用基于流程的部署方式降低部署的复杂性,却很少或缺乏自动化考虑;原有的部署方式往往缺乏“云”的感知,与基础架构耦合太紧,从开发环境到测试环境、生产环境,往往需要重新部署或二次部署;这些都导致部署周期过长,部署和调试过程也会占用应用开发人员较多时间和精力。
应用程序没有为应用程序部署者提供统一的方法来进行维护和沟通配置信息,从而需要自定义脚本和手动配置。自定义脚本难以维护,而手动配置又会导致错误的发生,所以对于J2EE工件来说,要实现流畅的传播和版本机制其实是很困难。当应用程序需要部署于多样环境(开发,测试和生产)的条件下时,这就变得更加复杂,因为应用程序很难做到完全地独立于环境。并且,如果应用程序之间维护的信息不统一的话,那么实时地更改应用程序目标将使任务变得非常繁重。
发明内容
为克服现有技术的缺陷,本发明提供一种大数据节点系统及自动部署方法。
本发明采用技术方案如下:
一种大数据节点系统,所述系统包括部署服务器和多个应用服务器,所述部署服务器包括部署服务模块,所述部署服务模块通过部署服务器与多个应用服务器组成的网络,与所述应用服务器上的部署应用模块进行信息传输;
所述部署服务模块包括:
第一获取单元,用于获取部署任务;
第二获取单元,用于根据部署任务获取应用文件;
封装单元,用于对获取的应用文件进行封装处理,得到多个数据包;
第一配置单元,用于配置部署工作流;
第二配置单元,用于配置推送Shell命令;
分发单元,用于根据Shell命令将多个数据包发送至对应的部署应用模块,以便部署应用模块根据部署工作流和数据包自动安装部署。
优选地,所述部署服务模块还包括:
接收单元,用于接收部署应用模块返回的完成安装的标识。
优选地,所述部署服务模块中的分发单元根据Shell命令将多个数据包发送至对应的部署应用模块时,分发单元只将同一个数据包发送一次,并只发给一个对应的部署应用模块。
优选地,所述部署服务模块中封装单元具体用于:
根据部署任务将应用文件切分为多个数据,对每个数据包进行封装处理,得到多个数据包。
相应地,本发明还提供了一种自动部署方法,所述方法采用大数据节点系统实现,所述大数据节点系统包括部署服务器和多个应用服务器,所述部署服务器包括部署服务模块,所述部署服务模块通过部署服务器与多个应用服务器组成的网络,与所述应用服务器上的部署应用模块进行信息传输;所述方法包括:
获取部署任务;
根据部署任务获取应用文件;
对获取的应用文件进行封装处理,得到多个数据包;
配置部署工作流;
配置推送Shell命令;
根据Shell命令将多个数据包发送至对应的部署应用模块,以便部署应用模块根据部署工作流和数据包自动安装部署。
优选地,所述根据Shell命令将多个数据包发送至对应的部署应用模块,以便部署应用模块根据部署工作流和数据包自动安装部署之后,还包括:
接收部署应用模块返回的完成安装的标识。
优选地,所述根据Shell命令将多个数据包发送至对应的部署应用模块时,分发单元只将同一个数据包发送一次,并只发给一个对应的部署应用模块。
优选地,所述对获取的应用文件进行封装处理,得到多个数据包,包括:
根据部署任务将应用文件切分为多个数据,对每个数据包进行封装处理,得到多个数据包。
本发明的有益效果是:
本发明针对现有技术的缺陷,提出了在进行系统自动化部署之前,通过Shell对系统环境进行分布式自动部署。shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,实现自动化部署,这比手动操作省时省力,从而提高了系统部署的效率和系统部署的稳定性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的大数据节点系统的结构示意图;
图2是本发明实施例提供的服务部署模块的结构示意图;
图3是本发明实施例提供的自动部署方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一:
图1是本发明实施例提供的大数据节点系统的结构示意图。参见图1,本实施例提供一种大数据节点系统,所述系统包括部署服务器10和多个应用服务器20,所述部署服务器10包括部署服务模块100,所述部署服务模块100通过部署服务器10与多个应用服务器20组成的网络,与所述应用服务器20上的部署应用模块200进行信息传输;
参见图2,所述部署服务模块100包括:
第一获取单元110,用于获取部署任务;
第二获取单元120,用于根据部署任务获取应用文件;
封装单元130,用于对获取的应用文件进行封装处理,得到多个数据包;
第一配置单元140,用于配置部署工作流;
第二配置单元150,用于配置推送Shell命令;
分发单元160,用于根据Shell命令将多个数据包发送至对应的部署应用模块,以便部署应用模块根据部署工作流和数据包自动安装部署。
优选地,所述部署服务模块100还包括:
接收单元170,用于接收部署应用模块返回的完成安装的标识。
优选地,所述部署服务模块中的分发单元160根据Shell命令将多个数据包发送至对应的部署应用模块200时,分发单元只将同一个数据包发送一次,并只发给一个对应的部署应用模块200。
优选地,所述部署服务模块中封装单元130具体用于:
根据部署任务将应用文件切分为多个数据,对每个数据包进行封装处理,得到多个数据包。
实施例二:
相应地,本发明还提供了一种自动部署方法。图2是本发明实施例提供的自动部署方法的流程示意图,所述方法采用大数据节点系统实现,所述大数据节点系统包括部署服务器和多个应用服务器,所述部署服务器包括部署服务模块,所述部署服务模块通过部署服务器与多个应用服务器组成的网络,与所述应用服务器上的部署应用模块进行信息传输;所述方法包括:
S201:获取部署任务;
S202:根据部署任务获取应用文件;
S203:对获取的应用文件进行封装处理,得到多个数据包;
S204:配置部署工作流;
S205:配置推送Shell命令;
S206:根据Shell命令将多个数据包发送至对应的部署应用模块,以便部署应用模块根据部署工作流和数据包自动安装部署。
优选地,所述根据Shell命令将多个数据包发送至对应的部署应用模块,以便部署应用模块根据部署工作流和数据包自动安装部署之后,还包括:
接收部署应用模块返回的完成安装的标识。
优选地,所述根据Shell命令将多个数据包发送至对应的部署应用模块时,分发单元只将同一个数据包发送一次,并只发给一个对应的部署应用模块。
优选地,所述对获取的应用文件进行封装处理,得到多个数据包,包括:
根据部署任务将应用文件切分为多个数据,对每个数据包进行封装处理,得到多个数据包。
本发明针对现有信息状况,提出了在进行系统自动化部署之前,通过Shell对系统环境进行分布式自动部署。shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,实现自动化部署,这比手动操作省时省力,从而提高了系统部署的效率和系统部署的稳定性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。