[发明专利]一种可热部署的方法及其系统有效
申请号: | 200610123883.0 | 申请日: | 2006-11-24 |
公开(公告)号: | CN101192937A | 公开(公告)日: | 2008-06-04 |
发明(设计)人: | 刘相斌 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/04 | 分类号: | H04L12/04;H04L12/24;H04L1/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 部署 方法 及其 系统 | ||
技术领域
本发明涉及Web应用服务器的热部署,更具体地说,涉及一种实现热部署的方法及其系统。
背景技术
目前,在企业级的基于浏览器/服务器(Browser/Server,简称B/S)架构的平台中,由于服务端需要一天24小时不停地工作,停止非常少的一段时间可能会带来巨大的损失。而由于种种原因,服务端需要进行各种各样的升级以及打补丁。因此,如何在不影响服务端工作的情况下进行热部署、升级显得非常重要。
现在多数的Web服务器,每个Web服务器中可以包含很多Web应用,在Web应用改变的时候,可以仅仅重启Web应用,而不需要将Web服务器重新启动。但是,在真正的企业级应用中,由于Web应用往往比较大,所以一个Web服务器中经常只有一个Web应用,重新启动Web应用所消耗的时间与重新启动Web服务器所消耗的时间相差无几。因此,如何解决在不重启Web应用的情况下的热部署就是关键的问题所在。
但在当前的B/S架构中,基于Java的Web应用系统一般采用模型、视图、控制(model view control,简称MVC)模式。而且,绝大多数企业级的B/S架构都是基于MVC的,在基于MVC的B/S机构中,由于控制层基本不会发生变化,视图层的改变是不需要重启服务的。因此,热部署的主要工作在于解决如何使得多变的模型层在不重启服务器的情况下进行更新这个问题。目前解决该问题所采用的方法一般是通过Java管理扩展(Java Managementextensions,简称JMX)对Java应用程序进行管理控制。
JMX是SUN公司提出的一套为应用程序植入管理功能的框架,其定义了完整的框架体系、设计模式、应用程序接口(Application Program Interface,简称API)、基于网络的管理和监控服务等,通过这些用户可以对任何Java应用程序实现管理控制,从而实现在不重启Web应用的情况下的热部署。
由于JMX所提供的许多服务是针对分布式环境,因此虽然利用JMX可以实现热部署的目的,但是由于JMX是一个整体架构,侵入性较高,并不非常适合轻量级的Web应用。而且由于其是基于分布式的设计,会导致其配置使用相对比较复杂,使用较为繁琐,因而开发成本较高。
于是,可以采取第二种的集群或备份服务的方法,解决不重启Web应用的情况下的热部署问题。由于在企业级的B/S架构服务端中,往往是多台服务器进行集群服务,这样在系统升级或打补丁的时候就可以在一台服务器上进行,其他的服务器还在工作,对外表现为热部署,但是就一台服务器来说服务器仍然需要重启。
另一种可能的方法就是使用Web服务的备份,即将升级前的服务备份,并同时对外提供服务,等升级完毕后再切换到升级后的Web服务,从而对外表现为热部署。但是,这种方法并不是真正意义上的热部署,仅仅是采用了备份的方法。在备份和转换过程中,必然导致效率、正确率低等问题。
由于开放式服务网关(Open Service Gateway Initiative,简称OSGi)规范为网络服务定义了一个标准的、面向组件的计算环境。将OSGi服务平台添加到一个网络设备中,可以为其增加在网络的任何地方管理组件的生命周期的能力。软件组件可以从运行中被安装、升级或者移除而不需要中断设备的操作,软件组件可以动态地发现和使用其他库或者应用程序。所以,还可以采取第三种的OSGi架构的方法,解决不重启Web应用的情况下的热部署问题。其实现过程如下:
OSGi规范提供了一个称之为应用服务(Http Server)的可选择的服务,其主要功能就是将Java企业版本(Java Enterprise Edition,简称JavaEE)的Servlet组件、资源文件以及Web容器本身,作为服务注册到OSGi服务上,从而实现热部署。
Http Service服务的架构描述如图1所示。首先,需要在开放式服务网关框架上注册应用服务。然后,需要一个Web容器响应相应的Web请求。最后,需要将Web应用的组件,主要包括Servlet和Web静态资源文件等通过应用服务注册到开放式服务网关框架上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610123883.0/2.html,转载请声明来源钻瓜专利网。