法律状态公告日
法律状态信息
法律状态
2020-06-26
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F9/445 变更前: 变更后: 变更前: 变更后: 申请日:20131108
专利权人的姓名或者名称、地址的变更
2017-04-26
授权
授权
2014-08-20
实质审查的生效 IPC(主分类):G06F9/445 申请日:20131108
实质审查的生效
2014-07-23
公开
公开
技术领域
本发明涉及一种针对Java Web应用的集中配置和远程部署方法,面向信息系统运维管理,属于信息技术领域。
背景技术
由于Java语言具有“平台无关性”、“Write Once,Run Anywhere”等突出优势,在企业级应用系统中,基于Java的Web应用系统是主要的系统建设模式。基于Java的Web应用系统需要部署在Java应用容器(也称Java应用中间件)中,由应用容器管理Web应用系统运行时的资源分配、访问控制。大型的企业应用系统,通常由多个应用容器组成集群,以提供错误恢复、会话保持、负载均衡、集群管理、运行监视等高级功能,确保应用系统的高可用性和性能。
在集群环境中,应用系统的部署可以依赖于应用容器提供的集群部署功能。目前只有Weblogic、Websphere等商用应用容器提供集群部署管理功能,Tomcat、Jetty等开源应用容器则不提供相应的集群管理功能。在实际的应用系统部署时通常采用应用容器对等部署的集群模式,在集群中没有专门的集群管理服务节点。此时应用系统的部署和升级一般由程序集拷贝、解压、远程登陆修改配置文件或自动化脚本方式完成,系统部署、升级的效率和质量都比较低,人工操作出错的可能性大。
发明内容
有鉴于此,本发明的目的在于实现一种针对Java Web应用的集中配置和远程部署方法,有效解决大规模集群中的应用系统配置、部署、控制和运行监视等问题,减少远程人工操作环节,提高配置和部署效率,降低操作错误率。
为实现上述目的,本发明提供了一种针对Java Web应用的集中配置和远程部署方法,其特征在于,其包括以下步骤:
(1)采用独立运行的管理服务对服务器、中间件、应用进行注册,对应用的系统配置文件、配置项进行集中管理,所述应用为Java Web应用;
(2)由管理服务下发对中间件的控制指令,控制中间件的启动和停止;
(3)由管理服务接收、存储、分析服务器和应用的系统运行数据;
(4)在目标服务器中安装部署Agent程序,监听指定端口接收管理服务器下发的管理指令;
(5)Agent程序接收中间件控制指令,完成中间件启动、停止操作,完成应用的部署和配置工作,并对当前已部署的程序集进行本地备份,支持从本地备份中恢复;
(6)Agent程序在中间件中部署扩展插件,在中间件启动后定时采集运行数据并以文件形式保存;
(7)Agent程序采集当前服务器操作系统运行数据,定时扫描指定的中间件目录进行读取中间件运行数据文件,将采集到的运行数据异步发送到管理服务。
优选的,所述服务器指物理服务器,所述管理服务记录所述服务器的IP地址或机器名、Agent监听端口。
优选的,所述中间件为Java应用容器,是Java Web应用的宿主环境。
优选的,所述服务器中定义多个中间件,多个所述应用部署在同一个中间件中,一个所述应用包括应用程序集和多个配置文件。
优选的,上述步骤(1)中,在配置中间件时,首先声明中间件类型、安装位置和服务端口;配置所述应用时,需要以ZIP压缩包形式上传程序集,由管理服务统一存储。
优选的,上述步骤(1)中,所述管理服务支持xml、属性文件、定制文件多种配置方式;所述应用关联Xml或Properties格式的配置文件,所述应用包括对配置文件的编辑和校验的功能,所述配置文件中包括其在所述应用中的存储位置。
优选的,所述步骤(4)中,所述Agent程序是在服务器中预先安装好的,所述Agent程序在中间件中自动安装相应的监听插件,所述监听插件的监听端口可配置,所述监听插件定时扫描插件输出的数据文件,读取数据后发送至管理服务,所述Agent程序的采用HTTP/HTTPS通信协议。
优选的,所述步骤(5)中,所述中间件是在服务器中预先安装好的, 所述Agent程序依据中间件类型修改相关的配置文件,注册应用系统;所述Agent程序依据中间件类型在中间件中注册扩展插件。
优选的,其还包括以下步骤:所述Agent程序从所述管理服务下载应用程序集压缩包并解压至中间件的部署目录,修改中间件配置文件注册应用,在部署前自动备份、压缩已部署的应用程序。
优选的,所述中间件启动后插件自动运行,将虚拟机信息定期写入中间件安装目录中的数据文件。
本发明通过独立运行、分布式部署的Agent提供集群环境中的应用部署、控制和运行数据采集能力,以中间件扩展插件方式提供与应用系统无关的监视能力,有效地解决了大规模集群环境中服务器、应用中间件、应用系统的运行数据的无侵入采集问题,有效地降低了中间件管理和应用系统配置、部署的难度,提高信息系统运维管理的效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合实施例及实施例附图对本发明作进一步详细的说明。
如图1所示,本发明的一种针对Java Web应用的集中配置和远程部署方法,其步骤如下:
1、配置、启动Agent程序。Agent的监听端口定义在配置文件中,如无定义使用默认端口。Agent启动过程中首先以嵌入方式初始化Jetty引擎监听指定端口,注册指令接收处理Handler。
2、在管理服务中配置服务器、中间件、应用系统。
2.1注册服务器,包括服务器名称、IP、管理端口(Agent的监听端口中)。服务器注册完成后,将初始化数据发送给对应的Agent,完成Agent程序的参数初始化。
2.2注册中间件。在指定的服务器中注册受管的中间件对象,包括中间件类型、名称、安装目录、端口等信息。中间件注册完成后,向Agent发送中间件校验和配置指令,检查中间件路径和类型是否正确,检查通过后Agent从管理服务器下载扩展插件并安装部署到中间件中。
2.3注册应用系统。应用系统主要属性包括名称、部署上下文、程序集文件路径。应用系统注册后,上传对应的程序集文件(ZIP),记录应用系统与程序集文件的关联(1对1)。
2.4应用系统配置。应用系统配置由所属应用、文件位置、文件类型、文件内容组成,保存在数据库中。对于指定的应用系统,可以创建、并联多个不同类型的配置文件。Xml、Properties格式的配置文件,有格式校验功能,检查文件内容格式的合法性。其他格式的配置文件不提供校验功能。
2.5应用配置。多个应用可组成一个部署单元以便于批量部署管理,在部署单元中的应用应具有不同的名称和访问路径。管理服务向Agent发送部署指令,指令中包括中间件信息、程序集下载路径、配置文件列表等。Agent接收指令后,首先停止正在运行的中间件实例,备份已部署的应用程序,将备份文件保存在备份目录中。其次删除当前已部署的应用程序(目录),然后从管理服务下载最新的程序集文件并解压到部署目录,下载配置文件并按配置文件定义存放到程序集目录中相应位置。
3、中间件启动过程中,扩展插件加载并运行。插件运行时,向中间件安装目录中的预定目录输出JVM运行时信息。运行时信息分成两类:静态信息,只在插件初始化时输出一次,包括JVM版本、厂家、当前进程号、类路径、工作目录等;动态信息,周期性获取最新动态数据并写入文件,包括进程列表、进程堆栈、类加载数量、堆大小等。
4、Agent监视插件输出目录,周期性检查文件变更,将最新的运行数据发送到管理服务。管理服务接收并存储运行数据。
本发明通过独立运行、分布式部署的Agent提供集群环境中的应用部署、控制和运行数据采集能力,以中间件扩展插件方式提供与应用系统无关的监视能力,有效地解决了大规模集群环境中服务器、应用中间件、应用系统的运行数据的无侵入采集问题,有效地降低了中间件管理和应用系统配置、部署的难度,提高信息系统运维管理的效率。
以上所述,仅为本发明的具体实施方式。本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。
机译: 一种用于在MESH网络中发送针对数据分组的确认(ACK)的方法以及被配置为在采用该方法的MESH网络中进行通信的站(STA)的方法
机译: 提供一种针对多媒体内容进行了优化的接收方电视音频配置的自动设置方法,以及用于该方法的计算机可读记录介质
机译: 在无线网络中管理无线电资源的方法;每台机器的指令程序,有形地体现在一种信息支持手段中,并且可由数字数据处理器执行,以执行针对控制信道重配置的动作。网络元素;移动台;和用于操作网络节点B的方法,