一种可定制软件的部署及安装方法和系统的制作方法

文档序号:6442353阅读:127来源:国知局
专利名称:一种可定制软件的部署及安装方法和系统的制作方法
技术领域
本申请涉及软件开发的技术领域,特别是涉及一种可定制软件的部署及安装方法和一种可定制软件的部署及安装系统。
背景技术
一款软件根据不同用户群体的个性化需求,进行一定程度的定制,是软件开发中常见的需求。例如,Windows操作系统有专业版、企业版、家庭版;阿里旺旺有淘宝买家版、淘宝卖家版,阿里国际站版等。在软件开发过程中,实现软件定制化的基本做法是,将软件划分成两类功能模块,即包含通用功能的“基本功能模块”,和根据不同需求进行定制的“定制功能模块”。通过对定制功能模块进行不同需求的定制,并与基本功能模块组合,生成对应功能的软件定制版本。需要说明的是,此处的“版本”不同于软件升级而产生的版本序列。在实际中,一款软件可能有多个定制版本,版本个数少则有三四个,如专业版、企业版、家庭版之别;多则有成千上万个,如针对企业进行定制的企业管理信息软件、针对医院进行定制的医疗信息软件等。在对软件定制版本进行部署和安装时,现有技术通常采用以下技术手段:方案一,将基本功能模块和定制功能模块组装在一起,形成完整的定制安装包。这些安装包可通过提供下载或媒介拷贝的方式发放给终端用户,终端用户执行安装。典型应用如Microsoft分别提供WindowsXP专业版、企业版和家庭版的⑶拷贝可供用户选择,用户选择相应版本的CD安装后,即获得相应的定制版本。方案二,将定制功能模块根据不同的定制需求分别打包,并部署到可提供下载服务的服务器;另将基本功能模块统一打包分发给终端用户。这种方式,所有用户拿到的安装包均是相同的,而在软件安装过程中,或安装完成后,由终端用户自行选择或设置所需要的定制特性后,安装程序(或软件主程序本身)根据用户的选择从部署服务器下载定制功能模块包并应用之。典型应用如360浏览器的换肤功能。上述方案一的问题在于,每一个定制安装包均包含一份基本功能模块,换句话说,基本功能模块同时存在多分,如果有1000个定制安装包,就存在1000分基本功能模块。这就意味着,一旦软件的基本功能模块因需求变更或缺陷修复而升级,就需要重新生成这1000个定制安装包,这提高了软件部署的复杂性和工作量。另外,如果这些定制安装包是通过下载的方式提供给用户,这个方案对部署服务器提出了更高的磁盘空间要求。上述方案二虽然避免了方案一的“升级部署难”、“更多部署磁盘空间”的问题,但其要求终端安装用户自行选择定制特性,这对于那些针对每个用户个体进行定制的软件是适用的(如浏览器的换肤,可根据每个用户个体的个人习惯自行决定采用何种皮肤),但对于需要针对不同用户群体进行统一定制的软件则并不适用。比如,企业管理信息软件需要针对企业本身进行统一定制(如软件标题栏显示企业名称等)后,再分发给其企业员工进行安装,而非由员工自己(终端用户)决定安装哪个企业版本。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:创造性地提出一种可定制软件的部署及安装机制,用以在尽量节约资源的前提下,满足可定制软件,尤其是具有大量软件定制版本的可定制软件的用户群体适应性,提高可定制软件部署和安装的便捷性。

发明内容
本申请所要解决的技术问题是提供一种可定制软件的部署及安装方法和装置,用以在尽量节约资源的前提下,满足可定制软件的群体适应性,提高用户操作的便捷性。为了解决上述问题,本申请公开了一种可定制软件的部署及安装方法,所述可定制软件中包括基本功能模块和定制功能模块,所述方法可以包括:在服务器中部署基本功能模块包,所述基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置;根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包并部署在服务器中,其中,所述定制功能模块包部署在第二位置;根据所述定制版本生成对应的安装信息,所述安装信息中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置;调用所述安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装。优选的是,所述服务器可以为提供下载服务的服务器;所述第一位置和第二位置位于同一服务器中,或者,所述第一位置和第二位置位于不同服务器中。优选的是,所述安装信息可以为在线安装程序,所述在线安装程序为可独立执行的可执行程序,所述在线安装程序中的基本功能模块包的第一位置为所述基本功能模块包在服务器的第一 URL信息,所述在线安装程序中的定制功能模块包的第二位置为所述定制功能模块包在服务器的第二 URL信息。优选的是,所述调用安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装的步骤具体可以包括:执行所述在线安装程序,从相应的第一位置中下载基本功能模块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包;在指定位置安装所述基本功能模块包及定制功能模块包。优选的是,所述基本功能模块包可以为压缩文件包或可独立执行的安装程序,所述定制功能模块包可以为压缩文件包或可独立执行的安装程序。本申请提供了一种可定制软件的部署及安装系统,所述可定制软件中包括基本功能模块和定制功能模块,所述系统可以包括:基本功能模块包部署单元,用于在服务器中部署基本功能模块包,所述基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置;定制功能模块包部署单元,用于根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包并部署在服务器中,其中,所述定制功能模块包部署在第二位置;安装信息生成单元,用于根据所述定制版本生成对应的安装信息,所述安装信息中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置;安装单元,用于调用所述安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装。优选的是,所述服务器可以为提供下载服务的服务器;所述第一位置和第二位置位于同一服务器中,或者,所述第一位置和第二位置位于不同服务器中。优选的是,所述安装信息可以为在线安装程序,所述在线安装程序可以为可独立执行的可执行程序,所述在线安装程序中的基本功能模块包的第一位置为所述基本功能模块包在服务器的第一 URL信息,所述在线安装程序中的定制功能模块包的第二位置为所述定制功能模块包在服务器的第二 URL信息。优选的是,所述安装单元可以包括:在线安装程序执行子单元,用于执行所述在线安装程序,从相应的第一位置中下载基本功能模块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包;指定位置安装子单元,用于在指定位置安装所述基本功能模块包及定制功能模块包。优选的是,所述基本功能模块包可以为压缩文件包或可独立执行的安装程序,所述定制功能模块包可以为压缩文件包或可独立执行的安装程序。与现有技术相比,本申请包括以下优点:本申请通过将含软件基本功能模块的基本功能模块包统一部署(只有一份),同时将软件根据不同的用户群体进行预先定制,针对不同用户群体的需求,生成特定于该用户群体的定制功能模块包以及相应的软件安装信息,再将定制后的软件安装信息分发给终端用户进行安装,从而满足了可定制软件,尤其是具有大量软件定制版本的可定制软件的用户群体适应性,避免了终端用户自行定制,提供了安装的便捷性和用户体验。同时,由于基本功能模块包在部署的服务器只存在一份,一方面避免占用多余的磁盘空间,节省了资源;另一方面,在软件基本功能升级或修改时,仅需要更新替换基本功能模块包自身,对原有的定制功能模块包和软件安装信息无需进行重新定制,使得可定制软件的部署和安装更加快捷简便。


图1是本申请的一种可定制软件的部署及安装方法实施例1的步骤流程图;图2是本申请的一种可定制软件的部署及安装方法实施例2的步骤流程图;图3为本申请的一种可定制软件的部署及安装系统实施例的结构框图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本申请的核心构思在于,将包含软件基本功能模块的基本功能模块包统一部署(只有一份),同时将软件根据不同的用户群体进行预先定制,针对不同用户群体的需求,生成特定于该用户群体的定制功能模块包以及相应的软件安装信息,再将定制后的软件安装信息分发给终端用户进行安装,从而满足了可定制软件,尤其是具有大量软件定制版本的可定制软件的用户群体适应性。参照图1,其示出了本申请的一种可定制软件的部署及安装方法实施例1的步骤流程图,其中,所述可定制软件中包括基本功能模块和定制功能模块,本实施例具体可以包括如下步骤:步骤101、在服务器中部署基本功能模块包,所述基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置;应用本申请实施例,需要明确区分可定制软件中的两类功能模块,即包含通用功能的“基本功能模块”,和可根据不同需求进行定制的“定制功能模块”。在具体实现中,通过对用户定制需求的收集和分析,并将其体现到软件的系统设计和详细设计中,将允许用户定制的软件特性集中在若干功能模块(如配置文件),这样,只需要通过修改或配置这些功能模块(定制功能模块),即可以达到定制该软件的目的。也就是说,基本功能模块是指实现软件通用功能的功能模块;可以是可执行程序、动态链接库、各类配置文件、资源文件等。定制功能模块是指可根据不同需求进行定制的功能模块;可以是可执行程序、动态链接库、各类配置文件、资源文件等。在本步骤中,需要将某个软件中的所有基本功能模块打包为基本功能模块包,所述基本功能模块包是指将所有基本功能模块打包形成的一个计算机文件,具体可以为压缩文件包(如ZIP包),或为可独立执行的安装程序。当然,本申请实施例并不限制“基本功能模块包”必须为一个文件,它也可以广义理解为“文件的集合”,本申请对此不作限制。在将基本功能模块打包为基本功能模块包后,可以将所述基本功能模块包部署到某台服务器的第一位置,在具体实现中,所述服务器可以为对外开放提供下载服务的服务器,例如,可以在服务器上通过FTP、HTTP等协议设置对外开放下载服务,将所述基本功能模块包部署到提供下载服务的服务器后,便会生成一个URL(网页地址)信息,在本申请实施例中,称之为第一 URL信息。需要说明的是,一个软件仅有一份基本功能模块包,即使软件含有大量的定制版本,其基本功能模块包也仅有一份。步骤102、根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包并部署在服务器中,其中,所述定制功能模块包部署在第二位置;所谓定制版本是指一款软件产品根据不同的用户群体的需求,进行定制生成的版本,根据当前针对软件产品配置的定制版本,或当前用户选择的定制版本,提取对应的定制功能模块进行打包;即将软件功能模块根据不同用户群体(或企业、医院等)的需求进行定制,然后将定制后的软件功能模块(定制功能模块)打包为一个定制功能模块包。所述定制功能包是指将所有定制功能模块打包形成的一个计算机文件。具体可以为压缩文件包(如ZIP包),或为可独立执行的安装程序。一个定制功能模块包对应于一个定制版本,比如,定制功能模块包A、定制功能模块包B等等。当然,本申请实施例并不限制“定制功能模块包”必须为一个文件,它也可以广义理解为“文件的集合”,本申请对此不作限制。然后,将这些定制功能模块包部署于某台服务器的第二位置,在具体实现中,所述服务器可以为对外开放提供下载服务的服务器,例如,可以在服务器上通过FTP、HTTP等协议设置对外开放下载服务,将所述定制功能模块包部署到提供下载服务的服务器后,便会生成一个URL (网页地址)信息,在本申请实施例中,称之为第二 URL信息。在具体应用中,所述基本功能模块包和定制功能模块包可以部署在同一服务器中,也可以部署在不同服务器中。步骤103、根据所述定制版本生成对应的安装信息,所述安装信息中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置;在本申请的一种优选实施例中,所述安装信息可以为在线安装程序,所述在线安装程序为可独立执行的可执行程序,在这种情况下,所述在线安装程序中的基本功能模块包的第一位置,可以为所述基本功能模块包在服务器的第一 URL信息,所述在线安装程序中的定制功能模块包的第二位置,可以为所述定制功能模块包在服务器的第二 URL信息。在具体实现中,根据不同的定制版本,可以相应地生成它们的在线安装程序。在线安装程序通常是一个文件尺寸较小的可执行程序,如.exe文件,它执行定制版本的安装过程,但它本身并不内含任何软件功能模块,而是内含基本功能模块包的第一 URL信息和相应定制版本对应的定制功能模块包的第二 URL信息。在实际应用中,所述在线安装程序往往还包括执行安装过程的可执行模块,用以保证所述在线安装程序的独立性和可执行性。软件的每一个定制版本都有一个对应于它的在线安装程序。需要说明的是,在本申请实施例中,对所述安装信息的生成方式及内容不作限制,例如,除在线安装程序外,所述安装信息还可以浏览器插件,其它功能组件等,本领域技术人员根据实际情况任意设置均可,本申请对此无需加以限制。例如,假设当前服务器中部署有基本功能模块包,以及,定制功能模块包A,定制功能模块包B,...,定制功能模块包N ;所述基本功能模块包在服务器中的部署地址为URLl,所述定制功能模块包A在服务器中的部署地址为URL2,定制功能模块包B在服务器中的部署地址为URL3,,定制功能模块包N在服务器中的部署地址为URLn,在这种情况下,定制版本A的在线安装程序中包括URLl和URL2的信息;定制版本B的在线安装程序中包括URLl和URL3的信息,定制版本N的在线安装程序中包括URLl和URLn的信息。在具体实现中,在线安装程序可通过媒介拷贝、下载等方式提供给软件的终端用户。步骤104、调用所述安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装。在本申请的一种优选实施例中,所述步骤104具体可以包括如下子步骤:子步骤S11、执行所述在线安装程序,从相应的第一位置中下载基本功能模块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包;子步骤S 12、在指定位置安装所述基本功能模块包及定制功能模块包。在具体实现中,终端用户可以根据自己所需的定制版本,通过下载、拷贝等渠道获得相应的在线安装程序,直接运行安装;安装完毕后即获得经过定制的软件。在线安装程序运行过程中,可向用户展现安装过程,其执行的基本过程可以为:I)下载基本功能模块包;2)下载定制功能模块包;3)释放并应用基本功能模块包;
4)释放并应用定制功能模块包。参照图2,其示出了本申请的一种可定制软件的部署及安装方法实施例2的步骤流程图,其中,所述可定制软件中包括基本功能模块和定制功能模块,本实施例具体可以包括如下步骤:步骤201、将所有基本功能模块打包为基本功能模块包,并部署在对外开放提供下载服务的服务器中,所述基本功能模块包具有第一 URL信息;步骤202、根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包,并部署在对外开放提供下载服务的服务器中,所述定制功能模块包具有第二 URL信息;步骤203、根据所述定制版本生成对应的在线安装程序,所述在线安装程序中包括所述第一 URL信息和第二 URL信息;步骤204、执行所述在线安装程序,从相应的第一位置中下载基本功能模块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包后,在指定位置安装所述基本功能模块包及定制功能模块包。在本实施例中,通过采用在线安装的方式安装经过定制的软件产品,既解决了针对不同用户群体预先定制的需求,同时避免了常规方案中对软件升级带来的不便,以及对部署服务器额外的磁盘要求。需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。参照图3,示出了本申请的一种可定制软件的部署及安装系统实施例的结构框图,所述可定制软件中包括基本功能模块和定制功能模块,本实施例具体可以包括以下模块:基本功能模块包部署单元301,用于在服务器中部署基本功能模块包,所述基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置;定制功能模块包部署单元302,用于根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包并部署在服务器中,其中,所述定制功能模块包部署在第二位置;安装信息生成单元303,用于根据所述定制版本生成对应的安装信息,所述安装信息中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置;安装单元304,用于调用所述安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装。在具体实现中,所述服务器可以为提供下载服务的服务器;所述第一位置和第二位置可以位于同一服务器中,或者,所述第一位置和第二位置也可以位于不同服务器中。作为本申请实施例具体应用的一种示例,所述安装信息可以为在线安装程序,所述在线安装程序为可独立执行的可执行程序,在这种情况下,所述在线安装程序中的基本功能模块包的第一位置可以为,所述基本功能模块包在服务器的第一 URL信息,所述在线安装程序中的定制功能模块包的第二位置可以为,所述定制功能模块包在服务器的第二URL彳目息ο在本申请的一种优选实施例中,所述安装单元304可以包括以下子单元:在线安装程序执行子单元,用于执行所述在线安装程序,从相应的第一位置中下载基本功能模块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包;指定位置安装子单元,用于在指定位置安装所述基本功能模块包及定制功能模块包。在具体实现中,所述基本功能模块包和所述定制功能模块包可以采用压缩文件包的形式,或者,可以采用独立执行的安装程序的形式。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。以上对本申请所提供的一种可定制软件的部署及安装方法和一种可定制软件的部署及安装系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种可定制软件的部署及安装方法,其特征在于,所述可定制软件中包括基本功能模块和定制功能模块,所述方法包括: 在服务器中部署基本功能模块包,所述基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置; 根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包并部署在服务器中,其中,所述定制功能模块包部署在第二位置; 根据所述定制版本生成对应的安装信息,所述安装信息中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置; 调用所述安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装。
2.根据权利要求1所述的方法,其特征在于,所述服务器为提供下载服务的服务器; 所述第一位置和第二位置位于同一服务器中,或者,所述第一位置和第二位置位于不同服务器中。
3.根据权利要求2所述的方法,其特征在于,所述安装信息为在线安装程序,所述在线安装程序为可独立执行的可执行程序,所述在线安装程序中的基本功能模块包的第一位置为所述基本功能模块包在服务器的第一 URL信息,所述在线安装程序中的定制功能模块包的第二位置为所述定制功能模块包在服务器的第二 URL信息。
4.根据权利要求3所述的方法,其特征在于,所述调用安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装的步骤包括: 执行所述在线安装程序,从相应的第一位置中下载基本功能模块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包; 在指定位置安装所述基本功能模块包及定制功能模块包。
5.根据权利要求1或2或3或4所述的方法,其特征在于,所述基本功能模块包为压缩文件包或可独立执行的安装程序,所述定制功能模块包为压缩文件包或可独立执行的安装程序。
6.一种可定制软件的部署及安装系统,其特征在于,所述可定制软件中包括基本功能模块和定制功能模块,所述系统包括: 基本功能模块包部署单元,用于在服务器中部署基本功能模块包,所述基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置; 定制功能模块包部署单元,用于根据所需的定制版本提取对应的定制功能模块,打包生成定制功能模块包并部署在服务器中,其中,所述定制功能模块包部署在第二位置; 安装信息生成单元,用于根据所述定制版本生成对应的安装信息,所述安装信息中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置; 安装单元,用于调用所述安装信息,从相应的第一位置中提取基本功能模块包,以及,从相应的第二位置提取对应的定制功能模块包进行安装。
7.根据权利要求6所述的系统,其特征在于,所述服务器为提供下载服务的服务器; 所述第一位置和第二位置位于同一服务器中,或者,所述第一位置和第二位置位于不同服务器中。
8.根据权利要求7所述的系统,其特征在于,所述安装信息为在线安装程序,所述在线安装程序为可独立执行的可执行程序,所述在线安装程序中的基本功能模块包的第一位置为所述基本功能模块包在服务器的第一 URL信息,所述在线安装程序中的定制功能模块包的第二位置为所述定制功能模块包在服务器的第二 URL信息。
9.根据权利要求8所述的系统,其特征在于,所述安装单元包括: 在线安装程序执行子单元,用于执行所述在线安装程序,从相应的第一位置中下载基本功能模 块包,以及,从相应的第二位置下载对应定制版本的定制功能模块包; 指定位置安装子单元,用于在指定位置安装所述基本功能模块包及定制功能模块包。
10.根据权利要求6或7或8或9所述的系统,其特征在于,所述基本功能模块包为压缩文件包或可独立执行的安装程序,所述定制功能模块包为压缩文件包或可独立执行的安装程序。
全文摘要
本申请提供了一种可定制软件的部署及安装方法和系统,其中所述方法包括在服务器中部署基本功能模块包为将所有基本功能模块打包生成,其中,所述基本功能模块包部署在第一位置;根据所需提取定制功能模块,打包生成定制功能模块包并部署在服务器中的第二位置;根据所述定制版本生成对应的安装信息,其中包括所述基本功能模块包的第一位置,以及,对应定制版本的定制功能模块包的第二位置;调用所述安装信息,提取基本功能模块包,以及,提取对应的定制功能模块包进行安装。本申请用以在尽量节约资源的前提下,满足可定制软件,尤其是具有大量软件定制版本的可定制软件的用户群体适应性,提高可定制软件部署和安装的便捷性。
文档编号G06F9/44GK103176769SQ20111043080
公开日2013年6月26日 申请日期2011年12月20日 优先权日2011年12月20日
发明者李广望, 童玮, 张利明 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1