一种web应用更新方法及web服务器技术

技术编号:15262866 阅读:86 留言:0更新日期:2017-05-03 19:01
本发明专利技术提出一种web应用更新方法,应用于web服务器,所述web服务器创建主servlet,以及用于加载应用插件的插件servlet,并通过主servlet实例化加载应用插件的插件servlet;该方法包括:标记加载第一应用插件的第一插件servlet的资源信息;获取第一插件servlet的配置信息;根据第一插件servlet的配置信息,创建与第一插件servlet相同的第二插件servlet;获取第二应用插件,并通过第二插件servlet加载第二应用插件;在持续运行所述主servlet的同时,实例化第二插件servlet,删除第一插件servlet,以及释放第一插件servlet所占用的资源。采用本发明专利技术技术方案,能够在不间断web服务器工作的情况下完成web应用更新。

Web application updating method and web server

The invention provides a web application update method is applied to the web server, and servlet to create the web server, as well as for loading application of plug-in servlet, and through the main servlet instantiation of plug-in servlet application loading; the method comprises: a first resource information marked load application plug-ins first servlet plug-in configuration information; get the first plug-in servlet; according to the configuration information of the first plug-in servlet, create the same with the first plug-in servlet second plug-in servlet; get second application plug-ins, and through the second plug-in servlet loaded second add-on applications; in the continuous operation of the main servlet and instantiate second plug-in servlet, delete the first plug-in servlet, and the first release of resources the plug-in occupied by the servlet. By adopting the technical proposal of the invention, the web application update can be completed under the condition that the uninterrupted web server works.

【技术实现步骤摘要】

本专利技术涉及互联网应用
,尤其涉及一种web应用更新方法及web服务器。
技术介绍
在互联网时代,web应用因其具有高度的使用便捷性及良好的跨平台特性而占据着计算机应用的大部分市场。用户只需要在智能终端的浏览器输入网址,即可访问并使用web应用。对于web应用开发人员来说,对于web应用的维护异常方便,只需要维护一套程序即可,不必考虑应用软件对操作系统的要求。当web应用需要升级时,只需要更新web应用的服务器端程序即可,不必每台客户端都进行更新升级操作。在传统互联网技术中,对于web应用的升级,基本上都需要关闭web应用的服务器,再更新web服务器中的代码,升级服务器端的配置文件,然后重启web服务器,提供更完善的web应用服务。这一web应用升级过程需要web服务器先后经历关闭、更新及重启的过程,其升级过程繁琐,并且对于需要持续提供服务的web应用来说,关闭web服务器会直接影响web应用为用户提供服务,降低用户体验。
技术实现思路
基于上述现有技术的缺陷和不足,本专利技术提出一种web应用更新方法及web服务器,能够在不关闭web服务器的前提下,完成web应用的更新。一种web应用更新方法,应用于web服务器,所述web服务器创建主servlet,以及用于加载应用插件的插件servlet,并通过所述主servlet实例化加载应用插件的插件servlet;该方法包括:标记加载第一应用插件的第一插件servlet所占用的资源;其中,所述第一应用插件为需要更新的应用插件;获取所述第一插件servlet的配置信息;根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet;获取第二应用插件,并通过所述第二插件servlet加载所述第二应用插件;其中,所述第二应用插件是对所述第一应用插件升级后的应用插件;在持续运行所述主servlet的同时,实例化所述第二插件servlet,以及删除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源。优选地,所述根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet,包括:根据所述第一插件servlet的配置信息,指定用于创建与所述第一插件servlet相同的第二插件servlet的定义xml文件;根据所述定义xml文件及所述第一插件servlet的配置信息,构建与所述第一插件servlet相同的第二插件servlet;为所述第二插件servlet指定初始化参数定义文件;根据所述初始化参数定义文件,对所述第二插件servlet进行初始化处理;将初始化处理后的所述第二插件servlet挂载到所述主servlet下。优选地,所述获取第二应用插件,并通过所述第二插件servlet加载所述第二应用插件,包括:获取第二应用插件压缩包,并对所述第二应用插件压缩包进行解压缩处理,得到第二应用插件;读取所述第二应用插件的基本信息,并将读取得到的所述第二应用插件的基本信息保存到缓存中;扫描记录所述第二应用插件的资源文件;将所述第二应用插件映射到所述第二插件servlet中;根据扫描记录的所述第二应用插件的资源文件,为所述第二插件servlet构建类加载器,使所述第二插件servlet加载所述第二应用插件。优选地,所述扫描记录所述第二应用插件的资源文件,包括:根据所述第二应用插件的基本信息,对所述第二应用插件进行扫描;判断所述第二应用插件是否为启动状态;如果所述第二应用插件为启动状态,则记录扫描得到的所述第二应用插件的资源文件路径,并将所述第二应用插件的资源文件路径保存到所述第二插件servlet中;如果所述第二应用插件为停止状态,则将所述第二应用插件的名称保存到停止状态插件名称集合中。优选地,所述将所述第二应用插件映射到所述第二插件servlet中,包括:判断所述第二应用插件是否为启动状态;如果所述第二应用插件为启动状态,则根据所述第二应用插件的基本信息,将所述第二应用插件映射到所述第二插件servlet中;如果所述第二应用插件为停止状态,则为所述第二应用插件构建停止状态插件映射正则表达式。优选地,所述删除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源,包括:清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件;对清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件的过程中产生的垃圾文件进行回收处理。优选地,在清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件之后,在对清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件的过程中产生的垃圾文件进行回收处理之前,该方法还包括:重新打开所述第二插件servlet所需的单例资源。一种web服务器,包括:标记单元,用于标记加载第一应用插件的第一插件servlet所占用的资源信息;其中,所述第一应用插件为需要更新的应用插件;信息获取单元,用于获取所述第一插件servlet的配置信息;servlet创建单元,用于创建主servlet,以及用于加载应用插件的插件servlet;根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet;插件获取单元,用于获取第二应用插件,并通过所述第二插件servlet加载所述第二应用插件;其中,所述第二应用插件是对所述第一应用插件升级后的应用插件;实例化处理单元,用于通过所述主servlet实例化加载应用插件的插件servlet;在持续运行所述主servlet的同时,实例化所述第二插件servlet,删除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源。优选地,所述servlet创建单元根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet时,具体用于:根据所述第一插件servlet的配置信息,指定用于创建与所述第一插件servlet相同的第二插件servlet的定义xml文件;根据所述定义xml文件及所述第一插件servlet的配置信息,构建与所述第一插件servlet相同的第二插件servlet;为所述第二插件servlet指定初始化参数定义文件;根据所述初始化参数定义文件,对所述第二插件servlet进行初始化处理;将初始化处理后的所述第二插件servlet挂载到所述主servlet下。优选地,所述插件获取单元,包括:解压缩处理单元,用于获取第二应用插件压缩包,并对所述第二应用插件压缩包进行解压缩处理,得到第二应用插件;信息读取单元,用于读取所述第二应用插件的基本信息,并将读取得到的所述第二应用插件的基本信息保存到缓存中;扫描记录单元,用于扫描记录所述第二应用插件的资源文件;映射单元,用于将所述第二应用插件映射到所述第二插件servlet中;加载处理单元,用于根据扫描记录的所述第二应用插件的资源文件,为所述第二插件servlet构建类加载器,使所述第二插件servlet本文档来自技高网...

【技术保护点】
一种web应用更新方法,其特征在于,应用于web服务器,所述web服务器创建主servlet,以及用于加载应用插件的插件servlet,并通过所述主servlet实例化加载应用插件的插件servlet;该方法包括:标记加载第一应用插件的第一插件servlet所占用的资源信息;其中,所述第一应用插件为需要更新的应用插件;获取所述第一插件servlet的配置信息;根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet;获取第二应用插件,并通过所述第二插件servlet加载所述第二应用插件;其中,所述第二应用插件是对所述第一应用插件升级后的应用插件;在持续运行所述主servlet的同时,实例化所述第二插件servlet,删除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源。

【技术特征摘要】
1.一种web应用更新方法,其特征在于,应用于web服务器,所述web服务器创建主servlet,以及用于加载应用插件的插件servlet,并通过所述主servlet实例化加载应用插件的插件servlet;该方法包括:标记加载第一应用插件的第一插件servlet所占用的资源信息;其中,所述第一应用插件为需要更新的应用插件;获取所述第一插件servlet的配置信息;根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet;获取第二应用插件,并通过所述第二插件servlet加载所述第二应用插件;其中,所述第二应用插件是对所述第一应用插件升级后的应用插件;在持续运行所述主servlet的同时,实例化所述第二插件servlet,删除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一插件servlet的配置信息,创建与所述第一插件servlet相同的第二插件servlet,包括:根据所述第一插件servlet的配置信息,指定用于创建与所述第一插件servlet相同的第二插件servlet的定义xml文件;根据所述定义xml文件及所述第一插件servlet的配置信息,构建与所述第一插件servlet相同的第二插件servlet;为所述第二插件servlet指定初始化参数定义文件;根据所述初始化参数定义文件,对所述第二插件servlet进行初始化处理;将初始化处理后的所述第二插件servlet挂载到所述主servlet下。3.根据权利要求1所述的方法,其特征在于,所述获取第二应用插件,并通过所述第二插件servlet加载所述第二应用插件,包括:获取第二应用插件压缩包,并对所述第二应用插件压缩包进行解压缩处理,得到第二应用插件;读取所述第二应用插件的基本信息,并将读取得到的所述第二应用插件的基本信息保存到缓存中;扫描记录所述第二应用插件的资源文件;将所述第二应用插件映射到所述第二插件servlet中;根据扫描记录的所述第二应用插件的资源文件,为所述第二插件servlet构建类加载器,使所述第二插件servlet加载所述第二应用插件。4.根据权利要求3所述的方法,其特征在于,所述扫描记录所述第二应用插件的资源文件,包括:根据所述第二应用插件的基本信息,对所述第二应用插件进行扫描;判断所述第二应用插件是否为启动状态;如果所述第二应用插件为启动状态,则记录扫描得到的所述第二应用插件的资源文件路径,并将所述第二应用插件的资源文件路径保存到所述第二插件servlet中;如果所述第二应用插件为停止状态,则将所述第二应用插件的名称保存到停止状态插件名称集合中。5.根据权利要求4所述的方法,其特征在于,所述将所述第二应用插件映射到所述第二插件servlet中,包括:判断所述第二应用插件是否为启动状态;如果所述第二应用插件为启动状态,则根据所述第二应用插件的基本信息,将所述第二应用插件映射到所述第二插件servlet中;如果所述第二应用插件为停止状态,则为所述第二应用插件构建停止状态插件映射正则表达式。6.根据权利要求1所述的方法,其特征在于,所述删除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源,包括:清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件;对清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件的过程中产生的垃圾文件进行回收处理。7.根据权利要求6所述的方法,其特征在于,在清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件之后,在对清除所述第一插件servlet,以及释放所述第一插件servlet所占用的资源并清除缓存资源文件的过程中产生的垃圾文件进行回收处理之前,该方法还包括:重新打开所述第二插件servlet所需的单例资源。8.一种web服务器,其特征在于,包括:标记单元,用于标记加载第一应用插件的第一插件servlet所占用的资源信息;其...

【专利技术属性】
技术研发人员:江春华陈显龙罗新伟孙敏杰陈晓龙刘海
申请(专利权)人:北京恒华伟业科技股份有限公司
类型:发明
国别省市:北京;11

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

1