[发明专利]实现软件系统热部署的方法及系统有效
申请号: | 201010114369.7 | 申请日: | 2010-02-26 |
公开(公告)号: | CN102170365A | 公开(公告)日: | 2011-08-31 |
发明(设计)人: | 尤占涛 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 软件 系统 部署 方法 | ||
技术领域
本申请涉及一种热部署的方法及系统,尤其涉及一种热部署时不停止对外提供服务的软件系统热部署的方法及系统。
背景技术
对于大型的业务关键型系统,如金融系统、电子商务系统等,系统可用性是一个非常关键的指标,通常需要24小时不间断服务。系统一旦停止,就有可能会带来巨大的损失。然而,这类系统的业务规则又复杂多变,经常需要进行各种各样的升级,在业务规则发生变化时,需要重新启动系统来进行系统升级,这样就极大的降低了系统可用性。
为了避免在系统升级时重新启动系统进而造成损失,实现软件系统热部署的方法应运而生,所谓热部署是指在软件系统运行时升级软件,而不需要重新启动系统。在申请号为200610123883.0的中国专利中提到一种实现热部署的方法,就是将升级前的服务器进行备份,同时对外提供服务,等升级完毕后再切换到升级后的web服务器,从而对外表现为热部署。这种实现热部署的方法需要提供两台服务器来实现热部署。
在上述的专利申请文件中,还公开了一种实现热部署的方法。现介绍如下:
在现有系统通常采用的基于浏览器/服务器(Browser/Server,简称B/S)架构的平台中,一般采用基于Java的Web服务器,该服务器采用MVC架构(model(模式)、view(视图)、control(控制))模式,就是将其分为以下几个层次:视图层、控制层和模式层。其中:
视图层:为用户交互界面,也就是Web的界面。视图层一般都是静态的文本文件或JSP(Java Server Page,简称JSP)页面,根据JavaEE的规范,如果它们被修改,不需要重新启动Web应用就可以生效。
控制层:用于从用户接收请求,将模式层和视图层进行匹配,共同完成用户的请求。由于这部分与业务逻辑无关,仅仅是对视图层请求的转发至相应的模型层处理,因此控制层的变化仅仅在转发的配置上,转发规则上基本不会发生变化。如果转发的配置发生改变,只需要重新加载一下配置文件就可以完成,而不需要重启。
模式层:用于业务流程/状态的处理以及业务规则的制定,是业务逻辑模块。在传统的Web服务端,所有的模式层都被加载至同一个Web应用的类加载器中。因此要更新已加载的类,就需要重新加载Web应用的类加载器,这就导致了添加/更新、删除模块要重新启动Web应用。而申请号为200610123883.0中公开的方案是在传统的基于MVC的Web服务器端,将开放式服务网关架构于B/S架构服务器端,并将B/S架构服务器端的模式层置于开放式服务网关架构的各个子模块中,由于开放式服务网关架构的各个子模块都具有自己的类加载器,在某个模块发生变化的时候,仅仅需要重新启动模块自身的类加载器即可,从而避免重新启动Web应用的类加载器,因而使用Web应用的类加载器的热部署得以实现。上述实现热部署的方式虽然能够实现热部署,但是,还是存在以下的问题:
第一种将整个服务器备份为另一个服务器来实现热部署的方法,需要增设新的服务器,由此增加成本。
第二种引入开放式服务网关架构来实现热部署,需要将模式层设置在开放式服务网关架构的各个子模块当中,当模式层发生改变时,虽然web应用的类加载器能够实现热部署,但是开放式服务网关架构的各个子模块同样需要重新启动,不能完全意义上实现热部署。而且,需要对现有的系统进行大量的改动,存在稳定性不高,安全性差的问题,只适合在没有运行的业务系统上适用,不适合现已运行的系统上的应用。
也就是说,在成本低且改动小的情况下,现有的软件系统中不停机的情况下如何进行软件更新是目前还需要解决的课题。
发明内容
本申请的目的在于提供一种实现软件系统热部署的方法,以解决现有技术中系统升级时不能对外提供服务且升级成本高、稳定性不高的技术问题。
本申请的另一目的在于提供一种实现软件系统热部署的系统,以解决现有技术中系统升级时不能对外提供服务且升级成本高、稳定性不高的技术问题。
一种实现软件系统热部署的系统,包括服务器和数据库,所述服务器与所述数据库连接,
所述数据库进一步包括:
第一业务规则存储单元:用于存储业务规则;
第二业务规则存储单元:用于存储业务规则;
所述服务器进一步包括:
第一业务处理引擎,连接第一业务规则存储单元,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则;当其处于等待状态时,检测到软件系统的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010114369.7/2.html,转载请声明来源钻瓜专利网。