CN102073488A - 一种软件集成方法、安装方法及软件集成装置、安装装置 - Google Patents

一种软件集成方法、安装方法及软件集成装置、安装装置 Download PDF

Info

Publication number
CN102073488A
CN102073488A CN2009102387183A CN200910238718A CN102073488A CN 102073488 A CN102073488 A CN 102073488A CN 2009102387183 A CN2009102387183 A CN 2009102387183A CN 200910238718 A CN200910238718 A CN 200910238718A CN 102073488 A CN102073488 A CN 102073488A
Authority
CN
China
Prior art keywords
software
installation
module
installation procedure
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009102387183A
Other languages
English (en)
Other versions
CN102073488B (zh
Inventor
熊剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN200910238718.3A priority Critical patent/CN102073488B/zh
Priority to PCT/CN2010/072765 priority patent/WO2010148812A1/zh
Publication of CN102073488A publication Critical patent/CN102073488A/zh
Application granted granted Critical
Publication of CN102073488B publication Critical patent/CN102073488B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

本发明提供一种软件集成方法、安装方法及软件集成装置、安装装置,集成装置包括:集成控制模块,用于启动和控制软件的集成过程;软件包扫描模块,用于扫描各个子软件包,并将扫描结果通知集成控制模块,以启动基础安装流程;安装流程计划模块,用于根据基础安装流程的用户选择信息形成扩展安装流程。本发明的软件安装方法通过安装引擎模块对软件安装所必需的其他相关模块的统一控制和调度实现。本发明的软件安装方法及装置在设计上实现了子软件包的解耦,为整个软件安装带来了极大的灵活性。本发明还可以根据用户对子软件包的选择情况和子软件包配置进行软件相关流程的二次调整。也可以通过分布式代理的方式对分布式的场景加以支持。

Description

一种软件集成方法、安装方法及软件集成装置、安装装置
技术领域
本发明涉及计算机软件中的软件集成和安装技术,尤其涉及一种用来实现不同功能软件包的快速集成和安装的方法和装置。
背景技术
随着软件行业的不断发展和新技术的引进,软件的功能日益复杂,一个软件产品往往由多个子软件开发团队进行开发,每个子软件开发团队输出对应的软件子产品后进行统一集成再安装,软件集成往往相当的复杂和繁琐。
目前开源安装软件系统一般分为安装程序和安装包两个部分,安装程序负责对指定的软件包信息进行处理,在这种处理方式下需要对软件包进行外部封装以形成软件产品。在软件安装时对特定的版本文件进行处理,这种方式对文件的位置信息和内容都有明确的要求,如果多个软件子产品要按照这种方式提供相关信息,则对软件子产品有较多的规范约束,存在灵活性不够的问题,不便于软件产品的快速集成和安装。
对于多个软件子产品的情况,需要提前对于多个软件子产品包进行一定的处理,比如对数据库脚本和相关的参数宏进行统一的处理,这样就破坏了软件子产品的独立性,在这个集成过程中可能会带来故障,且合并出这样一个软件产品包需要较多的时间,对于特定情况下存在的冲突问题不能很好的解决。
发明内容
为了解决现有的包含多个软件子产品的软件在安装时,需要提前对多个软件子产品进行处理,从而使得多个软件子产品之间不能相互独立而导致的不能快速安装的问题,本发明提供了一种软件集成装置,包括:
集成控制模块,用于启动和控制所述软件的集成过程;
软件包扫描模块,用于根据所述集成控制模块的启动命令扫描各个子软件包,获取一扫描结果,并将所述扫描结果通知所述集成控制模块,使所述集成控制模块启动基础安装流程;所述各个子软件包的信息分类存储;
安装流程计划模块,用于在所述集成控制模块的调用下,根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
所述扫描各个子软件包的扫描结果为:配置信息、检测信息和安装信息。
所述配置信息包括:默认的参数项、需配置的参数项和需用户确认的参数项。
本发明还提供了一种软件安装装置,所述软件安装装置在软件集成装置形成的软件的基础上完成所述软件的安装,包括:
安装控制模块,用于启动和控制所述软件的安装过程;
系统环境检测模块,用于在所述软件集成装置形成扩展安装流程后,在所述安装控制模块下,根据所述扩展安装流程中的用户选择信息进行系统环境检测;
公共服务模块,用于根据所述安装控制模块的启动命令启动并加载,并在系统环境检测通过后,根据所述安装控制模块的调用命令安装软件运行文件;
数据库脚本执行模块,用于在软件运行文件安装成功后,在所述安装控制模块的调用下,执行数据库脚本;
配置管理模块,用于在数据库脚本执行完成后,在所述安装控制模块的调用下,将所述扫描结果中的配置信息写入配置文件;
所述软件集成装置包括:
软件包扫描模块,用于根据所述集成控制模块的启动命令扫描各个子软件包,获取一扫描结果,并将所述扫描结果通知所述集成控制模块,使所述集成控制模块启动基础安装流程;所述各个子软件包的信息分类存储;
安装流程计划模块,用于在所述集成控制模块的调用下,根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
所述软件安装装置用于分布式安装时,进一步包括:
分布式代理模块,用于根据系统环境形成分布式安装方案;
所述安装控制模块在所述分布式安装方案形成后,调用所述公共服务模块安装所述软件运行文件。
本发明进一步提供了一种软件集成方法,应用于软件集成装置,包括以下步骤:
所述软件集成装置启动;
所述软件集成装置扫描各个子软件包,获取一扫描结果;所述各个子软件包的信息分类存储;
所述软件集成装置启动基础安装流程;
所述软件集成装置根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
所述形成扩展安装流程的步骤具体为:
所述软件集成装置获取所述基础安装流程中的用户选择信息;
所述软件集成装置根据所述用户选择信息形成所述各子软件包的扩展安装流程。
本发明进一步提供了一种软件安装方法,所述软件安装方法在软件集成方法形成的软件的基础上完成所述软件的安装,包括以下步骤:
在所述软件集成方法形成扩展安装流程后,软件安装装置根据所述扩展安装流程中的用户选择信息进行系统环境检测;
在系统环境检测通过后,所述软件安装装置安装软件运行文件;
在软件运行文件安装成功后,所述软件安装装置执行数据库脚本;
数据库脚本执行完成后,所述软件安装装置将所述扫描结果中的配置信息写入配置文件;
所述软件集成方法包括以下步骤:
软件集成装置扫描各个子软件包,获取一扫描结果;所述各个子软件包的信息分类存储;
所述软件集成装置启动基础安装流程;
所述软件集成装置根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
所述安装方法用于分布式安装时,所述进行系统环境检测的步骤之后进一步包括步骤:
所述软件安装装置搜索能够满足环境检测结果的分布式节点;
所述软件安装装置根据所述分布式节点和所述扩展安装流程中形成的待安装子软件包形成分布式方案;
所述软件安装装置根据所述分布式方案安装所述软件运行文件。
所述将配置信息写入配置文件的步骤之后进一步包括步骤:
所述软件安装装置执行安装清理操作,将安装过程中的临时目录删除,并将需要安装的日志和安装产品信息保存。
所述软件安装装置执行数据库脚本的步骤具体为:
所述软件安装装置获取数据库脚本的配置参数;
所述软件安装装置根据所述数据库脚本的配置参数确定数据库脚本的依赖关系,从而得到数据库脚本的执行顺序;
所述软件安装装置根据所述数据库脚本的配置参数对数据库脚本需要替换的参数宏进行替换;
所述软件安装装置根据所述数据库脚本的执行顺序和数据库脚本替换后的参数宏形成最终的数据库脚本;
所述软件安装装置执行所述最终的数据库脚本,完成数据库的创建和初始化。
所述配置信息包括:默认的参数项、需配置的参数项和需用户确认的参数项。
与现有技术相比,本发明具有以下有益效果:
本发明的软件安装方法通过安装引擎模块对软件安装所必需的其他相关模块的统一控制和调度实现。本发明的软件安装方法及装置提供了软件包的子描述功能,软件的所有配置信息和环境检测项都包含在子软件包中,本发明的安装引擎模块会根据子软件包中包含的信息进行统一处理,而某一个子软件包在设计上实现了与其它子软件包的解耦,无论系统包含多少个软件包都可以进行软件产品的安装,这也就为整个软件安装带来了极大的灵活性,实现了软件的快速安装。
并且,本发明的安装装置的安装流程计划模块还可以根据用户对子软件包的选择情况和子软件包配置进行软件相关流程的二次调整,可以将子软件包自己的安装界面逻辑插入到安装流程中,实现自身的一些特殊配置。
另外,也可以通过分布式代理的方式对分布式的场景加以支持,极大的简化了用户在分布式环境下的复杂操作。
附图说明
图1为本发明软件安装装置的结构示意图;
图2为本发明安装引擎模块的结构示意图;
图3为本发明软件包扫描模块的结构示意图;
图4为本发明安装流程计划模块的结构示意图;
图5为本发明环境检测模块的结构示意图;
图6为本发明分布式代理模块的结构示意图;
图7为本发明公共服务模块的结构示意图;
图8为本发明数据库脚本模块的结构示意图;
图9为本发明配置管理模块的结构示意图;
图10为本发明软件安装方法流程图。
具体实施方式
本发明提供了一种多个软件子产品快速灵活安装的方法和装置,整个软件的安装流程由各个子软件包共同确定,提供给用户选择和个性化订制,并能够满足分布式网络环境下软件产品安装的需求。
下面结合附图对本发明的具体实施方式作进一步详细说明。
参考图1,图1为本发明的软件安装装置的结构示意图,包括:安装引擎模块,公共服务模块,软件包扫描模块,安装流程计划模块,系统环境检测模块,数据库脚本执行模块,配置管理模块。
安装引擎模块,用于启动安装过程,并控制软件的安装操作,其它模块都与它相连接。由于软件在具体的安装过程中分为两个阶段完成,这两个阶段分别为软件集成阶段和软件安装阶段,安装引擎模块实际上需要完成对集成阶段的控制功能和对安装阶段的控制功能。因此,安装引擎模块对集成阶段的控制功能由集成控制模块完成,对安装阶段的控制功能由安装控制模块完成。
安装引擎模块启动后,进行初始化,并启动加载公共服务模块,加载完成后,启动软件包扫描模块。其中,公共服务模块,用于提供安装时需要的相关服务,例如,获取环境相关参数、用户输入参数,提供基本的文件压缩、解压和复制等功能。
软件包扫描模块,用于扫描各个子软件包,以完成软件安装需要的信息的读取工作。并将信息读取到内存中,扫描完成后通知安装引擎模块。
安装引擎模块收到扫描完成的通知后,启动基础安装流程,基础安装流程即软件安装流程中必须要支持的部分,比如用户对于版本语言、版本位置的选择以及安装类型,是否支持分布式和安装中需要安装哪些软件产品,这个部分在任何情况下都是需要执行的部分。
然后,安装引擎模块调用安装流程计划模块,该模块根据基础安装流程的信息,例如,用户在基础安装流程阶段选择安装的软件产品信息,和安装类型等等信息形成扩展安装流程。
对于用户选择的情况不同,扩展安装流程可能会有变化,这可以看成是软件安装流程的二次规划阶段。安装流程计划模块将各个子软件产品的扩展安装流程一起形成软件产品最终的安装流程。
上述的软件包扫描模块和安装流程计划模块共同完成子软件产品的集成,以形成最终的软件产品。以下各个模块则共同完成最终软件产品的安装。
最终的安装流程形成后,安装引擎模块启动系统环境检测模块,用于根据用户选择信息检测当前操作系统和相关的数据库环境是否满足软件定制的安装要求,如果满足安装要求,则反馈给安装引擎模块,由安装引擎模块调用公共服务模块,把需要安装的软件运行文件解压到用户指定的目录下,并把数据库和配置信息放置到特定的目录中,便于后续集中处理,如果不满足安装要求,则结束安装。
软件运行文件解压完成后,安装引擎模块调用数据库脚本执行模块,该模块用于对数据库脚本执行顺序和参数宏进行统一处理,然后执行数据库脚本,完成数据库的安装,安装完成后通知安装引擎模块。
安装引擎模块启动配置管理模块,配置管理模块通过安装引擎模块获取各个子软件包的配置信息,将需要用户交互的配置项提供给用户配置,用户配置完成后,把配置信息写入到配置文件中,然后配置管理模块通知安装引擎模块配置完成。
配置管理模块将配置项提供给用户进行配置的功能可以较好的满足在安装过程中,用户对软件进行配置,使软件能够与用户进行交互,实现软件的特定功能。而现有的软件安装的流程比较固定,软件产品只能够按照特定步骤完成安装,软件包本身不能够较好的定制这种安装流程,在安装过程中,软件特定的功能如果不能直接和用户输入交互的话,就不能满足软件安装的需求。
配置信息写入到配置文件后,安装引擎模块启动文件清理模块进行临时文件清理工作,并对用户需要的信息进行处理,放置在特定的存储位置。安装成功后,可以设置安装成功标志。
本发明的软件安装装置既可以用于非分布式场景下的安装也可以用于分布式场景下的安装。当用于分布式场景下的安装时,本发明的安装装置进一步包括:分布式代理模块,用于搜索能够满足环境安装要求的分布式节点,然后,根据节点和需要安装的子软件包,形成分布式安装方案,。分布式安装方案形成后,安装引擎模块调用公共服务模块,把需要安装的软件运行文件解压到用户指定的目录下,并把数据库和配置信息放置到特定的目录中,便于后续集中处理,继续按照上文模块所述的功能执行。
安装引擎模块是整个安装装置的核心部分。安装引擎模块启动软件包扫描模块、环境检测模块、安装流程计划模块完成对软件包的扫描、环境检测、安装流程计划等功能,形成软件安装界面或者命令行交互界面供用户安装。软件安装的扩展流程中,安装引擎模块调用安装流程计划模块、数据库脚本执行模块、配置管理模块完成软件运行文件安装、数据库配置和软件关键参数的配置工作,从而完成整个软件产品的安装。
下面对本发明的软件安装装置的具体模块进行详细说明。
参考图2,图2为本发明安装引擎模块的结构示意图,包括:
启动单元,用于启动安装过程,安装过程启动后初始化;
第一调用单元,用于初始化之后启动加载公用服务;
第二调用单元,用于加载公用服务完成后,启动软件包扫描模块进行扫描。
存储单元,用于将扫描结果进行存储,以提供给相应模块使用。扫描结果分为:配置信息、安装信息和检测信息三个大类。
执行单元,用于在扫描完成后,启动基础安装流程。
第三调用单元,用于在基础安装流程启动后,调用安装流程计划模块,使安装流程计划模块根据基础流程中的信息,例如,用户在基础安装流程阶段选择安装的软件产品信息,和安装类型等等信息形成扩展安装流程。
第四调用单元,用于在形成扩展安装流程后,调用系统环境检测模块进行当前操作系统和相关的数据库环境的检测。
第五调用单元,用于在环境检测完成后,调用公共服务模块,把需要安装的软件运行文件解压到用户指定的目录下,并把数据库和配置信息放置到特定的目录中。
第六调用单元,用于在软件运行文件解压完成后,调用数据库脚本执行模块,以执行数据库脚本。
第七调用单元,用于在数据库脚本执行完成后,调用配置管理模块,该模块通过存储单元获取各个子软件包的配置信息,将需要用户交互的配置项提供给用户配置,并将最终的配置信息写入配置文配置文件。
第八调用单元,用于在最终的配置信息写入配置文件后,启动文件清理模块进行临时文件的清理,把用户需要的信息进行处理,放置在特定的存储位置。
当本发明的软件安装装置中包括分布式代理模块时,安装引擎模块进一步包括:
第九调用单元,用于调用分布式代理模块,以形成分布式安装方案,实现软件在分布式节点下的安装过程。
参考图3,图3为本发明软件包扫描模块的结构示意图,包括:扫描命令接收单元,用于接收第二调用单元启动扫描的命令;
扫描单元,用于根据扫描的命令启动软件包配置信息、检测信息和安装信息几个子扫描进程,对软件包进行扫描。软件包配置信息包括:软件相关的配置参数,那些参数是需要用户配置的,后续通过配置模块统一配置,并写入软件系统中。检测信息包括:该软件包对于操作系统、数据库的版本号、内存大小,磁盘空间大小等一系列的要求,如果系统不满足要求,不允许用户安装。安装信息包括:软件包的版本信息,与其它软件包的依赖关系,以及是否有需要在扩展安装流程中执行的步骤。
扫描结果发送单元,用于将扫描结果发送到存储单元进行存储。
参考图4,图4为本发明安装流程计划模块的结构示意图,包括:
用户选择信息获取单元,用于根据第三调用单元的命令获取基础安装流程中的用户选择信息;
扩展安装流程生成单元,用于根据用户选择信息读取各子软件包的扩展安装流程,以重新生成软件安装计划。
参考图5,图5为本发明环境检测模块的结构示意图,包括:
环境检测信息确定单元,用于收到第四调用单元的调用命令后,根据用户选择信息(例如用户选择要安装的子软件包和安装类型),确定需要检测的环境信息(例如当前操作系统和相关的数据库环境);
检测单元,用于根据需要检测的环境信息进行检测;
反馈单元,用于将检测的结果反馈给第四调用单元。
参考图6,图6为本发明分布式代理模块的结构示意图,包括:
搜索单元,用于收到第九调用单元的调用命令后,搜索能够满足环境安装要求的分布式节点;
搜索模块会根据配置中的网段的IP地址来进行自动发现,判断在该IP段上面是否有支持分布式安装的节点,如果有就把该节点记录下来,直到所有的节点都被发现。
分布式方案生成单元,用于根据满足环境安装要求的分布式节点和用户选择安装的子软件包,生成分布式方案。
分布式方案生成模块根据发现的分布式节点和需要安装的子软件产品,通过预先定义的规则,给出几套分布的可选方案,并提供给用户选择,用户还可以对选择的方案进行自定义的一些操作并确认后保存该方案,后续会以该方案进行分布式支持。
参考图7,图7为本发明公共服务模块的结构示意图,包括:
公共服务命令获取单元,用于从第五调用单元获取调用公共服务模块的命令;
公共服务执行单元,用于根据调用公共服务的命令从存储单元获取服务代理(包括文件服务和用户信息服务),把需要安装的软件运行文件解压到用户指定的目录下,并把数据库和配置信息放置到特定的目录中。
公共服务模块可以作为将一些安装的相关方法和用户输出参数提供给外部的一个接口,在子软件包的二次开发中会涉及到这个模块。
参考图8,图8为本发明数据库脚本模块的结构示意图,包括:
数据库脚本获取单元,用于根据第六调用单元调用数据库脚本执行模块的命令,从存储单元获取数据库脚本的配置参数,并根据数据库脚本的配置参数确定数据库脚本的依赖关系,从而得到数据库脚本的执行顺序;以及根据数据库脚本的配置参数对数据库脚本需要替换的参数宏进行替换,形成一套最终的可以执行的数据库脚本;
数据库脚本执行单元,用于执行上述数据库脚本。
数据库脚本的执行,通过支持ORACLE、SQL Server等常见的数据库类型,支持TSQL相关的语法,可以根据软件包里面的信息连接到对应的数据库服务器上面,执行数据库脚本,完成数据库的创建和初始化工作。
参考图9,图9为本发明配置管理模块的结构示意图,包括:
配置信息获取单元,用于根据第七调用单元的调用命令,获取需要配置的相关信息,这个配置相关信息包括默认的参数项,必须配置的参数项和需要用户确认的参数项。
配置信息发送单元,用于把各个子软件产品的上述所有这些参数项通过界面或者命令行的方式提供给用户统一配置。
配置信息写入单元,用于将用户配置完成后的信息写入到配置文件中使其生效。
下面对本发明的软件安装方法进行说明,参考图10,图10为本发明软件安装方法流程图,本发明的软件安装方法适用于上文的软件安装装置,包括以下步骤:
步骤1,软件安装装置启动并加载公共服务;
步骤2,软件安装装置扫描各个子软件包;
扫描结果分为:配置信息、安装信息和检测信息三个大类。
步骤3,软件安装装置启动基础安装流程;
基础安装流程即软件安装流程中必须要支持的部分,比如用户对于版本语言、版本位置的选择以及安装类型,是否支持分布式和安装中需要安装哪些软件产品,这个部分在任何情况下都是需要执行的部分。
步骤4,软件安装装置根据基础安装流程的信息形成扩展安装流程;
基础安装流程的信息可以为用户在基础安装流程阶段选择安装的软件产品信息,和安装类型等等信息。
对于用户选择的情况不同,扩展安装流程可能会有变化,这可以看成是软件安装流程的二次规划阶段。软件安装装置将各个子软件产品的扩展安装流程一起形成软件产品最终的安装流程。
本步骤具体包括:
步骤41,软件安装装置获取基础安装流程中的用户选择信息;
步骤42,软件安装装置根据用户选择信息形成各子软件包的扩展安装流程。
步骤5,在形成扩展安装流程后,软件安装装置进行系统环境检测;
进行环境检测的过程为根据扩展安装流程中的用户选择信息(例如选择要安装的软件包和安装类型)确定需要检测哪些环境检测项,形成一个检测清单,以检测当前操作系统和相关的数据库环境是否满足软件定制的安装要求,如果满足安装要求,则执行下一步,否则结束安装。当多个子软件产品对于同一项的配置不同时,按照从高的原则进行处理。
步骤6,在系统环境检测通过后,软件安装装置安装软件运行文件;
安装软件运行文件是将需要安装的软件运行文件解压到用户指定的目录下,并把数据库和配置信息放置到特定的目录中,便于后续集中处理。
步骤7,在软件运行文件安装成功后,软件安装装置执行数据库脚本;
本步骤具体包括:
步骤71,软件安装装置获取数据库脚本的配置参数;
步骤72,软件安装装置根据数据库脚本的配置参数确定数据库脚本的依赖关系,从而得到数据库脚本的执行顺序;
步骤73,软件安装装置根据数据库脚本的配置参数对数据库脚本需要替换的参数宏进行替换;
步骤74,软件安装装置根据数据库脚本的执行顺序和数据库脚本替换后的参数宏形成最终的数据库脚本;
步骤75,软件安装装置执行最终的数据库脚本,完成数据库的创建和初始化。
步骤8,数据库脚本执行完成后,软件安装装置将配置信息写入配置文件。其中,配置信息包括:默认的参数项、需配置的参数项和需用户确认的参数项。
步骤9,软件安装装置执行安装清理操作,将安装过程中的临时目录删除,并将需要安装的日志和安装产品信息保存。
安装清理操作完成后,安装结束。
当本发明的安装方法应用于分布式安装场景时,在步骤5和6之间还可以包括:
步骤51,软件安装装置搜索能够满足环境检测结果的分布式节点;
步骤52,软件安装装置根据分布式节点和扩展安装流程中形成的待安装子软件包形成分布式方案。
步骤6具体为:软件安装装置根据分布式方案安装软件运行文件。
进一步,在步骤5的进行系统环境检测的步骤之后还可以包括:步骤5’,判断环境检测是否通过,如果通过,则继续执行步骤6或者步骤51,如果不通过,则执行步骤9。
同样的,在步骤6的安装软件运行文件的步骤之后还可以包括:步骤6’,判断软件运行文件是否安装成功,如果成功,则继续执行步骤7,否则执行步骤9。
在步骤7的安装数据库的步骤之后还可以包括:步骤7’,判断数据库是否安装成功,如果成功,则继续执行步骤8,否则执行步骤9。
总之,本发明的软件安装的整个流程分为三个阶段,第一阶段是相关数据和安装引擎的初始化工作,也就是安装准备工作,这个阶段准备好以后,启动安装的基本流程,与用户进行交互,收集用户安装选择的语言、安装路径、安装那些软件子产品、已经安装类型等信息。第二阶段是根据用户在第一阶段选择安装的软件产品信息,通过软件产品信息的描述和安装类型等等信息形成相关的安装计划,这个工作由安装流程计划器来完成。第三阶段安装计划确定以后,进行环境检测,看系统配置是否满足安装要求,满足要求再进行产品的最终安装和配置,完成产品的安装。
在数据连接关系上,安装引擎通过软件包扫描模块相连获取软件相关的信息,配置管理模块、安装流程计划模块、系统环境检测模块与安装引擎模块相连接间接获取软件相关信息。分布式代理模块和数据库脚本执行模块从安装引擎中获取相关的信息,并把操作的结果返回给引擎。公共服务模块是一个外界获取相关公共参数和用户参数的一个交互点。
综上所述,本发明的软件安装装置具有如下功能:
第一,当一个软件中包含多个子软件产品时,不需要修改子软件产品内容,就可以组成软件产品,各个子软件产品相互独立,通过一定的规则形成一个完整的安装流程;
第二,具有版本文件解压、拷贝、参数配置、数据库脚本的执行等安装公用功能;
第三,支持通过GUI(Graphical User Interface,图形用户界面)方式或命令行方式进行安装;
第四,支持分布式环境下的安装;
第五,支持各应用灵活的二次开发,尤其是参数配置界面的二次开发。
第六,支持安装时对于产品进行个性化的定制操作,可以根据需要对软件产品特性进行定制。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种软件集成装置,其特征在于,包括:
集成控制模块,用于启动和控制所述软件的集成过程;
软件包扫描模块,用于根据所述集成控制模块的启动命令扫描各个子软件包,获取一扫描结果,并将所述扫描结果通知所述集成控制模块,使所述集成控制模块启动基础安装流程;所述各个子软件包的信息分类存储;
安装流程计划模块,用于在所述集成控制模块的调用下,根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
2.如权利要求1所述的软件集成装置,其特征在于,所述扫描各个子软件包的扫描结果为:配置信息、检测信息和安装信息。
3.如权利要求2所述的软件集成装置,其特征在于,所述配置信息包括:默认的参数项、需配置的参数项和需用户确认的参数项。
4.一种软件安装装置,其特征在于,所述软件安装装置在软件集成装置形成的软件的基础上完成所述软件的安装,包括:
安装控制模块,用于启动和控制所述软件的安装过程;
系统环境检测模块,用于在所述软件集成装置形成扩展安装流程后,在所述安装控制模块下,根据所述扩展安装流程中的用户选择信息进行系统环境检测;
公共服务模块,用于根据所述安装控制模块的启动命令启动并加载,并在系统环境检测通过后,根据所述安装控制模块的调用命令安装软件运行文件;
数据库脚本执行模块,用于在软件运行文件安装成功后,在所述安装控制模块的调用下,执行数据库脚本;
配置管理模块,用于在数据库脚本执行完成后,在所述安装控制模块的调用下,将所述扫描结果中的配置信息写入配置文件;
所述软件集成装置包括:
软件包扫描模块,用于根据所述集成控制模块的启动命令扫描各个子软件包,获取一扫描结果,并将所述扫描结果通知所述集成控制模块,使所述集成控制模块启动基础安装流程;所述各个子软件包的信息分类存储;
安装流程计划模块,用于在所述集成控制模块的调用下,根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
5.如权利要求4所述的软件安装装置,其特征在于,所述软件安装装置用于分布式安装时,进一步包括:
分布式代理模块,用于根据系统环境形成分布式安装方案;
所述安装控制模块在所述分布式安装方案形成后,调用所述公共服务模块安装所述软件运行文件。
6.一种软件集成方法,其特征在于,应用于软件集成装置,包括以下步骤:
所述软件集成装置启动;
所述软件集成装置扫描各个子软件包,获取一扫描结果;所述各个子软件包的信息分类存储;
所述软件集成装置启动基础安装流程;
所述软件集成装置根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
7.如权利要求6所述的软件集成方法,其特征在于,所述形成扩展安装流程的步骤具体为:
所述软件集成装置获取所述基础安装流程中的用户选择信息;
所述软件集成装置根据所述用户选择信息形成所述各子软件包的扩展安装流程。
8.一种软件安装方法,其特征在于,所述软件安装方法在软件集成方法形成的软件的基础上完成所述软件的安装,包括以下步骤:
在所述软件集成方法形成扩展安装流程后,软件安装装置根据所述扩展安装流程中的用户选择信息进行系统环境检测;
在系统环境检测通过后,所述软件安装装置安装软件运行文件;
在软件运行文件安装成功后,所述软件安装装置执行数据库脚本;
数据库脚本执行完成后,所述软件安装装置将所述扫描结果中的配置信息写入配置文件;
所述软件集成方法包括以下步骤:
软件集成装置扫描各个子软件包,获取一扫描结果;所述各个子软件包的信息分类存储;
所述软件集成装置启动基础安装流程;
所述软件集成装置根据所述基础安装流程的用户选择信息形成扩展安装流程,以将所述各个子软件包集成形成所述软件。
9.如权利要求8所述的软件安装方法,其特征在于,所述安装方法用于分布式安装时,所述进行系统环境检测的步骤之后进一步包括步骤:
所述软件安装装置搜索能够满足环境检测结果的分布式节点;
所述软件安装装置根据所述分布式节点和所述扩展安装流程中形成的待安装子软件包形成分布式方案;
所述软件安装装置根据所述分布式方案安装所述软件运行文件。
10.如权利要求8所述的软件安装方法,其特征在于,所述将配置信息写入配置文件的步骤之后进一步包括步骤:
所述软件安装装置执行安装清理操作,将安装过程中的临时目录删除,并将需要安装的日志和安装产品信息保存。
11.如权利要求8所述的软件安装方法,其特征在于,所述软件安装装置执行数据库脚本的步骤具体为:
所述软件安装装置获取数据库脚本的配置参数;
所述软件安装装置根据所述数据库脚本的配置参数确定数据库脚本的依赖关系,从而得到数据库脚本的执行顺序;
所述软件安装装置根据所述数据库脚本的配置参数对数据库脚本需要替换的参数宏进行替换;
所述软件安装装置根据所述数据库脚本的执行顺序和数据库脚本替换后的参数宏形成最终的数据库脚本;
所述软件安装装置执行所述最终的数据库脚本,完成数据库的创建和初始化。
12.如权利要求8所述的软件安装方法,其特征在于,所述配置信息包括:默认的参数项、需配置的参数项和需用户确认的参数项。
CN200910238718.3A 2009-11-20 2009-11-20 一种软件集成方法、安装方法及软件集成装置、安装装置 Expired - Fee Related CN102073488B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200910238718.3A CN102073488B (zh) 2009-11-20 2009-11-20 一种软件集成方法、安装方法及软件集成装置、安装装置
PCT/CN2010/072765 WO2010148812A1 (zh) 2009-11-20 2010-05-14 一种软件集成方法、安装方法及软件集成装置、安装装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910238718.3A CN102073488B (zh) 2009-11-20 2009-11-20 一种软件集成方法、安装方法及软件集成装置、安装装置

Publications (2)

Publication Number Publication Date
CN102073488A true CN102073488A (zh) 2011-05-25
CN102073488B CN102073488B (zh) 2014-12-17

Family

ID=43385942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910238718.3A Expired - Fee Related CN102073488B (zh) 2009-11-20 2009-11-20 一种软件集成方法、安装方法及软件集成装置、安装装置

Country Status (2)

Country Link
CN (1) CN102073488B (zh)
WO (1) WO2010148812A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314351A (zh) * 2011-09-29 2012-01-11 用友软件股份有限公司 安装程序生成装置和安装程序生成方法
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN102426533A (zh) * 2011-12-12 2012-04-25 奇智软件(北京)有限公司 软件安装方法及装置
CN102591661A (zh) * 2011-12-30 2012-07-18 苏州汉清投资管理有限公司 一种实现软件集成的系统
CN102929665A (zh) * 2012-10-17 2013-02-13 北京奇虎科技有限公司 用于驱动安装的系统
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN103530154A (zh) * 2013-10-12 2014-01-22 北京神州绿盟信息安全科技股份有限公司 产品升级的方法和设备
CN104407904A (zh) * 2014-12-15 2015-03-11 深圳市科漫达智能管理科技有限公司 一种模块信息配置的方法及系统
CN106484452A (zh) * 2015-08-31 2017-03-08 大唐移动通信设备有限公司 一种软件平台的统一配置管理方法和装置
CN108255499A (zh) * 2017-07-28 2018-07-06 新华三大数据技术有限公司 组件处理方法和装置
CN108376076A (zh) * 2018-05-28 2018-08-07 郑州云海信息技术有限公司 一种安装软件的方法和装置
CN108833659A (zh) * 2018-04-12 2018-11-16 维沃移动通信有限公司 一种应用的安装方法及终端
CN111124483A (zh) * 2019-12-26 2020-05-08 深圳创维-Rgb电子有限公司 一种系统软件适配方法、终端及存储介质
CN111290775A (zh) * 2020-04-02 2020-06-16 麒麟软件有限公司 一种Linux系统软件包类型自动分类方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224348A (zh) * 2014-06-11 2016-01-06 中兴通讯股份有限公司 一种MySQL数据库的安装方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447612B2 (en) * 2002-03-06 2008-11-04 Fisher-Rosemount Systems, Inc. Appendable system and devices for data acquisition, analysis and control
CN101315618A (zh) * 2008-05-30 2008-12-03 中国科学院计算技术研究所 一种效用计算的机群系统及其运行时环境管理方法
CN101452402A (zh) * 2008-11-28 2009-06-10 珠海金山软件股份有限公司 软件运行系统和软件运行方法
CN101477457A (zh) * 2008-01-02 2009-07-08 联想(北京)有限公司 应用模块管理系统、应用模块执行方法以及虚拟机
CN101582038A (zh) * 2008-05-13 2009-11-18 英业达股份有限公司 测试用操作系统安装方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7735080B2 (en) * 2001-08-30 2010-06-08 International Business Machines Corporation Integrated system and method for the management of a complete end-to-end software delivery process
CN100349119C (zh) * 2004-12-30 2007-11-14 杭州华三通信技术有限公司 软件安装与集成的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447612B2 (en) * 2002-03-06 2008-11-04 Fisher-Rosemount Systems, Inc. Appendable system and devices for data acquisition, analysis and control
CN101477457A (zh) * 2008-01-02 2009-07-08 联想(北京)有限公司 应用模块管理系统、应用模块执行方法以及虚拟机
CN101582038A (zh) * 2008-05-13 2009-11-18 英业达股份有限公司 测试用操作系统安装方法
CN101315618A (zh) * 2008-05-30 2008-12-03 中国科学院计算技术研究所 一种效用计算的机群系统及其运行时环境管理方法
CN101452402A (zh) * 2008-11-28 2009-06-10 珠海金山软件股份有限公司 软件运行系统和软件运行方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN102314351A (zh) * 2011-09-29 2012-01-11 用友软件股份有限公司 安装程序生成装置和安装程序生成方法
CN102426533A (zh) * 2011-12-12 2012-04-25 奇智软件(北京)有限公司 软件安装方法及装置
CN102426533B (zh) * 2011-12-12 2014-10-01 奇智软件(北京)有限公司 软件安装方法及装置
CN102591661A (zh) * 2011-12-30 2012-07-18 苏州汉清投资管理有限公司 一种实现软件集成的系统
CN102929665A (zh) * 2012-10-17 2013-02-13 北京奇虎科技有限公司 用于驱动安装的系统
CN102929665B (zh) * 2012-10-17 2015-09-30 北京奇虎科技有限公司 用于驱动安装的系统
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN103530154A (zh) * 2013-10-12 2014-01-22 北京神州绿盟信息安全科技股份有限公司 产品升级的方法和设备
CN104407904B (zh) * 2014-12-15 2018-01-02 深圳市科漫达智能管理科技有限公司 一种模块信息配置的方法及系统
CN104407904A (zh) * 2014-12-15 2015-03-11 深圳市科漫达智能管理科技有限公司 一种模块信息配置的方法及系统
CN106484452A (zh) * 2015-08-31 2017-03-08 大唐移动通信设备有限公司 一种软件平台的统一配置管理方法和装置
CN106484452B (zh) * 2015-08-31 2019-12-06 大唐移动通信设备有限公司 一种软件平台的统一配置管理方法和装置
CN108255499A (zh) * 2017-07-28 2018-07-06 新华三大数据技术有限公司 组件处理方法和装置
CN108255499B (zh) * 2017-07-28 2019-09-17 新华三大数据技术有限公司 组件处理方法和装置
CN108833659A (zh) * 2018-04-12 2018-11-16 维沃移动通信有限公司 一种应用的安装方法及终端
CN108833659B (zh) * 2018-04-12 2021-06-08 维沃移动通信有限公司 一种应用的安装方法及终端
CN108376076A (zh) * 2018-05-28 2018-08-07 郑州云海信息技术有限公司 一种安装软件的方法和装置
CN111124483A (zh) * 2019-12-26 2020-05-08 深圳创维-Rgb电子有限公司 一种系统软件适配方法、终端及存储介质
CN111124483B (zh) * 2019-12-26 2024-01-30 深圳创维-Rgb电子有限公司 一种系统软件适配方法、终端及存储介质
CN111290775A (zh) * 2020-04-02 2020-06-16 麒麟软件有限公司 一种Linux系统软件包类型自动分类方法及系统

Also Published As

Publication number Publication date
WO2010148812A1 (zh) 2010-12-29
CN102073488B (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN102073488B (zh) 一种软件集成方法、安装方法及软件集成装置、安装装置
CN104272292B (zh) 用于基于云的服务的网络资源部署
CN100472438C (zh) 一种视窗系统及其界面编辑方法
CN103955364A (zh) 一种适用于手机的前端组件方法
CN101984410A (zh) 软件安装包的生成、卸载方法及装置
CN102160037A (zh) 只需设计一次就能在任何平台应用的移动应用开发框架
CN101188516B (zh) 一种网络设备软件系统高可靠性自适应远程更新的方法
USRE44534E1 (en) Dynamic machine synthesis for wireless device access and management
JP6412276B2 (ja) 仮想マシン作成方法及び装置
CN102663003A (zh) 移动终端多web页面应用中的页面切换方法及系统
CN103186460A (zh) 一种生成测试用例脚本的方法、装置及系统
CN105468500A (zh) 定时任务监控方法和装置
CN103092645B (zh) 一种基于微内核技术的地理空间信息应用系统及其实现方法
US9654343B2 (en) System and method for managing service characteristics
CN101000552A (zh) Java类加载方法及加载器
CN109639818A (zh) 一种云环境下的服务发现方法、装置、服务器和存储介质
CN100450013C (zh) 通信设备配置数据的存储方法
CN100489780C (zh) 一种软件的安装方法及其装置
CN114610334A (zh) 产品可视化部署方法、装置、系统及存储介质
CN105677427A (zh) 一种模块升级的方法及装置
CN106250068A (zh) 图像形成装置以及应用的删除方法
CN1983176A (zh) 用于管理与软件组件相关的操作状态的方法和设备
CN112486503A (zh) 用于分布式应用的部署交付方法
CN102929649A (zh) Pcs7软件系统的配置系统和配置方法
CN100349119C (zh) 软件安装与集成的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141217

Termination date: 20171120