一种Virgo组件的安装更新方法及装置的制造方法

文档序号:9910756阅读:435来源:国知局
一种Virgo组件的安装更新方法及装置的制造方法
【技术领域】
[0001]本发明涉及智能安装技术领域,特别是涉及一种Virgo组件的安装更新方法及装置。
【背景技术】
[0002]Virgo Tomcat Server服务器是目前比较流行的基于OSGi的web应用服务器,该服务器可以很好的支持功能组件的热插拔。但是Virgo服务器的组件热插拔需要人为手动的做配置,并对管理员的要求比较高,不能完全做到自动化进行安装和更新组件。而大型互联网公司的服务器都要求在夜晚等一些业务时段比较空闲的时候来做服务器的热切换,所以对服务器进行自动化的热切换工作是非常有必要的。

【发明内容】

[0003]本发明的目的是提供一种Virgo组件的安装更新方法及装置,目的在于解决现有Virgo Tomcat Server应用服务器没有更新组件机制的功能的问题。
[0004]为解决上述技术问题,本发明提供一种Virgo组件的安装更新方法,包括:
[0005]连接组件仓库,所述组件仓库包括预先将不同文件格式的组件分类存放到相应目录中的多个Virgo组件;
[0006]从所述组件仓库中获取第一 Virgo组件;
[0007]解析所述第一Virgo组件的组件信息;
[0008]根据所述第一Virgo组件的类型调用相应的安装器进行自动安装。
[0009]可选地,预先将不同文件格式的组件存放到所述组件仓库包括:
[0010]将jar文件格式和war文件格式的组件存放至bundles目录,将par文件格式的组件存放到pars目录,将plan文件格式的组件存放到plans目录,将properties文件格式的组件存放到configurat1ns目录,将包含所述组件的描述信息的声明文档存放在根目录下content.xml 的目录。
[0011]可选地,所述描述信息包括:所述组件的类型信息、ID信息、名字信息、版本号信息和/或依赖信息。
[0012]可选地,在所述连接组件仓库之后,还包括:
[0013]判断是否访问过所述组件仓库;
[0014]如果是,则退出;如果否,则执行获取所述第一Virgo组件的步骤。
[0015]可选地,所述判断是否访问过所述组件仓库包括:
[0016]获取所述组件仓库的目录文件;
[0017]从所述目录文件中解析所述组件仓库的时间戳,与系统的访问日志中的时间戳进行比较,判断是否访问过所述组件仓库。
[0018]可选地,所述根据所述第一Virgo组件的类型调用相应的安装器进行自动安装包括:
[0019]当所述第一Virgo组件为war或jar类型的组件时,采用Bundle安装器进行安装;当所述第一Virgo组件为par类型的组件时,采用par安装器进行安装,当所述第一Virgo组件为plan类型的组件时,采用plan安装器进行安装;当所述第一Virgo组件为properties类型的组件时,采用config安装器进行安装。
[0020]可选地,所述根据所述第一Virgo组件的类型调用相应的安装器进行自动安装包括:
[0021]当采用所述Bundle安装器、所述par安装器或所述plan安装器进行安装时,判断系统已安装的组件中是否存在与所述第一 Virgo组件相对应的第二 Virgo组件;
[0022]如果是,则将所述第一Virgo组件的版本与所述第二Virgo组件的版本进行比较,判断所述第一 Virgo组件是否为新版本的组件;如果是,则通过对应的安装器安装所述新版本的组件;如果否,则退出安装。
[0023]可选地,所述根据所述第一Virgo组件的类型调用相应的安装器进行自动安装包括:
[0024]当采用所述config安装器进行安装时,判断系统已安装的组件中是否存在与所述第一 Virgo组件相对应的第三Virgo组件,如果是,则卸载掉所述第三Virgo组件,安装所述第一 Virgo组件;如果否,则直接安装所述第一 Virgo组件。
[0025]可选地,在所述根据所述第一Virgo组件的类型调用相应的安装器进行自动安装之前还包括:
[0026]分析所述第一Virgo组件的依赖,并在系统和所述组件仓库中查询所述依赖是否满足;
[0027]如果否,则退出;如果是,则执行安装的步骤。
[0028]本发明还提供了一种Virgo组件的安装更新装置,包括:
[0029]连接模块,用于连接组件仓库,所述组件仓库包括预先将不同文件格式的组件分类存放到相应目录中的多个Virgo组件;
[0030]获取模块,用于从所述组件仓库中获取第一Virgo组件;
[0031 ]解析模块,用于解析所述第一Virgo组件的组件信息;
[0032]安装模块,用于根据所述第一Virgo组件的类型调用相应的安装器进行自动安装。
[0033]本发明所提供的Virgo组件的安装更新方法及装置,通过连接组件仓库,组件仓库包括预先将不同文件格式的组件分类存放到相应目录中的多个Virgo组件;从组件仓库中获取第一 Virgo组件;解析第一 Virgo组件的组件信息;根据第一 Virgo组件的类型调用相应的安装器进行自动安装。本发明所提供的Virgo组件的安装更新方法及装置,能够对组件进行批量自动化更新,实现了组件的热切换。
【附图说明】
[0034]为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本发明所提供的Virgo组件的安装更新方法的一种【具体实施方式】的流程图;
[0036]图2为本发明所提供的Virgo组件的安装更新方法的另一种【具体实施方式】的流程图;
[0037]图3为本发明实施例提供的Virgo组件的安装更新装置的结构框图。
【具体实施方式】
[0038]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]本发明所提供的Virgo组件的安装更新方法的一种【具体实施方式】的流程图如图1所示,该方法包括:
[0040]步骤SlOl:连接组件仓库,所述组件仓库包括预先将不同文件格式的组件分类存放到相应目录中的多个Virgo组件;
[0041 ] 基于OSGi规范的Virgo组件,包含了 jar、war、par、plan、properties不同文件格式的组件。具体地,可以按照不同的文件扩展名分类存放到相应的目录中。
[0042]作为一种【具体实施方式】,可将jar文件格式和war文件格式的组件存放至bundles目录,将par文件格式的组件存放到pars目录,将plan文件格式的组件存放到plans目录,将properties文件格式的组件存放到configurat1ns目录,将包含所述组件的描述信息的声明文档存放在根目录下content.xml的目录。在根目录下面建立名为content.xml的目录文件,该文件对组件集合做了详细的描述。描述信息可以具体但并不限于包括类型、ID、名字、版本号、依赖等信息。
[0043]步骤S102:从所述组件仓库中获取第一 Virgo组件;
[0044]具体地,可以在远程连接组件仓库后,下载远程仓库的目录文件,下载仓库中的组件。
[0045]步骤S103:解析所述第一Virgo组件的组件信息;
[0046]组件信息具体可以包括组件的类型、名字、ID、版本号、依赖等信息。
[0047]步骤S104:根据所述第一Virgo组件的类型调用相应的安装器进行自动安装。
[0048]本发明所提供的Virgo组件的安装更新方法,通过连接组件仓库,组件仓库包括预先将不同文件格式的组件分类存放到相应目录中的多个Virgo组件;从组件仓库中获取第一 Virgo组件;解析第一 Virgo组件的组件信息;根据第一 Virgo组件的类型调用相应的安装器进行自动安装。本发明所提供的Virgo组件的安装更新方法,能够对组件进行批量自动化更新,实现了组件的热切换。
[0049]在上述实施例的基础上,本发明所提供的Virgo组件的安装更新方法,在连接组件仓库之后,还可以进一步包括:
[0050]判断是否访问过组件仓库的步骤;如果是,则退出;如果否,则执行获取所述第一Virgo组件的步骤。
[0051 ]本发明实施例通过比较目前仓库的版本和访问过的仓库的版本,如果是新仓库就开始下载组件,如果是访问过的仓库或是旧的仓库就放弃本次安装。其判断是否访问过所述组件仓库可以具体通过下述方式实现:
[0052]获取所述组件仓库的目录文件;
[0053]从所述目录文件中解析所述组件仓库的时间戳,与系统的访问日志中的时间戳进行比较,判断是否访问过所述组件仓库。
[0054]在上述任一实施例的基础上,根据所述第一Virgo组件的类型调用相应的安装器进行自动安装可以具体为:针对不同类型的组件调用不同的安装器来完成安装,调度器可以识别 war、par、jar、plan、properties 类型的组件。
[0055]四种类型的安装器,用于分别对应于不同类型的组件。当所述第一Virgo组件为war或jar类型的组件时,采用Bundle安装器进行安装;当所述第一Virgo组件为par类型的组件时,采用par安装器进行安装,当所述第一 Virgo组件为plan类型的组件时,采用plan安装器进行安装;当所述第一Virgo组件为properties类型的组件时,采用config安装器进行安装。
[0050]四种类型的安装器工作方式有所不同,bundle安装器、par安装器和plan安装器首先检查系统中是否已经安装了该组件的旧版本,如果有就先卸载掉旧版本,然后再安装新版本。如果没有旧版本就直接安装该组件。而Config安装器在更新组件时先检查有没有旧组件,如果没有就直接安装;如果有就卸载掉旧组件再安装新
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1