一种应用程序包安装方法及应用程序包安装装置技术领域
本发明涉及计算机应用程序安装技术,尤其涉及一种应用程序包安装方法
及应用程序包安装装置。
背景技术
设备驱动程序是一种可以使计算机和设备通信的特殊应用程序,在操作系
统中运行,用于向操作系统提供一个访问、使用硬件设备的接口,负责计算机
与硬件设备的通信,从而实现操作系统和操作系统中所有硬件设备之间通信的
应用程序。通过安装应用程序包,可以告知操作系统中相应软硬件设备所包含
的功能,并在操作系统需要实现该功能时,调动软硬件设备并使软硬件设备利
用最有效的方式来完成该功能。
目前,随着通信技术的迅猛发展,互联网的应用越来越广泛,用户通过个
人计算机(PC,Personal Computer),可以从互联网上获取到具备各种应用功能
的应用程序包,即应用软件安装包,通过安装该应用程序包,可以获得该应用
程序的相应功能。
在目前的互联网时代,应用程序的更新频度也随着宽带的提速而加速,且
由于为了满足用户的各种个性化需求,提升应用程序的用户体验,应用程序的
应用功能越来越多,使得应用程序包的体积也越来越大。这样,在用户需要从
互联网上下载该应用程序包时,下载所需的时间较长,进一步地,由于该应用
程序包集成了大量的应用功能,因而,在安装该应用程序包时,安装所需的时
间较长,使得用户在获取应用程序中的应用功能时,需要等待较长的时间,导
致应用程序包安装效率较低,从而降低了用户获取并执行应用功能的效率。
发明内容
有鉴于此,本发明实施例提供一种应用程序包安装方法及应用程序包安装
装置,提升应用程序安装包安装效率、降低用户获取应用功能所需的时间。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供一种应用程序包安装方法,包括:
发送应用程序包下载请求,以从服务器下载应用程序包中的应用程序核心
应用功能包,所述应用程序包还包括应用程序辅助应用功能包;
安装所述应用程序核心应用功能包,并在安装所述应用程序核心应用功能
包的同时或之后,从服务器下载所述应用程序辅助应用功能包;
启动所述应用程序核心应用功能,并在启动所述应用程序核心应用功能的
同时或之后,安装所述应用程序辅助应用功能包。
本发明实施例提供的应用程序包安装方法,通过分离应用程序包中除了核
心应用功能外的其他辅助应用功能,将辅助应用功能所需的资源文件从应用程
序包中摘除,利用空闲的网络下载辅助应用功能所需的资源文件并进行安装,
可以在不影响最主要的核心应用功能的同时,缩小应用程序核心应用功能包的
体积,降低用户下载所需的时间;同时,由于应用程序核心应用功能包中含有
较少数量的应用功能,安装该较少数量的应用功能所需的时间较短,从而可以
提升应用程序安装包安装效率、降低用户获取该较少数量的应用功能所需的时
间。
另一方面,本发明实施例提供一种应用程序包安装装置,包括:应用程序
核心应用功能包下载模块、应用程序核心应用功能包安装处理模块以及应用程
序核心应用功能启动处理模块,其中,
应用程序核心应用功能包下载模块,用于发送应用程序包下载请求,以从
服务器下载应用程序包中的应用程序核心应用功能包,所述应用程序包还包括
应用程序辅助应用功能包;
应用程序核心应用功能包安装处理模块,用于安装所述应用程序核心应用
功能包,并在安装所述应用程序核心应用功能包的同时或之后,从服务器下载
所述应用程序辅助应用功能包;
应用程序核心应用功能启动处理模块,用于启动所述应用程序核心应用功
能,并在启动所述应用程序核心应用功能的同时或之后,安装所述应用程序辅
助应用功能包。
本发明实施例提供的应用程序包安装装置,应用程序核心应用功能包下载
模块通过下载分离的应用程序包中的应用程序核心应用功能包,利用核心应用
功能包安装或使用时下载辅助应用功能所需的资源文件并安装,从而可以在不
影响最主要的核心应用功能的同时,缩小应用程序核心应用功能包的体积,降
低用户下载所需的时间;同时,由于应用程序核心应用功能包中含有较少数量
的应用功能,安装该较少数量的应用功能所需的时间较短,从而可以提升应用
程序安装包安装效率、降低用户获取该较少数量的应用功能所需的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付
出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例应用程序包安装方法流程示意图;
图2为本发明实施例应用程序包安装装置结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实
施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前
提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例应用程序包安装方法流程示意图。参见图1,该方法包
括:
步骤101,发送应用程序包下载请求,以从服务器下载应用程序包中的应用
程序核心应用功能包,所述应用程序包还包括应用程序辅助应用功能包;
本步骤中,通过对大量用户使用应用程序提供的应用功能进行统计分析发
现,绝大多数的用户,只会使用应用程序提供的一部分应用功能,而对于该应
用程序提供的其它应用功能,几乎不使用或极少使用。也就是说,只有极少部
分用户,在使用到应用程序提供的一部分应用功能的基础上,会进一步使用该
应用程序提供的其它应用功能中的一项或多项应用功能。因而,本发明实施例
中,基于用户使用的应用功能,考虑对应用程序包进行拆分,将其拆分为两个
能够独立进行安装的应用程序子包,即应用程序核心应用功能包以及应用程序
辅助应用功能包。其中,应用程序核心应用功能包包含有用户经常使用的该应
用程序提供的一部分应用功能所需的安装文件,应用程序辅助应用功能包包含
有用户几乎不使用或极少使用的该应用程序提供的其它应用功能所需的安装文
件。这样,可以有效减少一次下载的应用程序包的体积,降低用户下载所需的
时间;同时,由于应用程序核心应用功能包中含有较少数量的应用功能,安装
该较少数量的应用功能所需的时间较短,从而可以提升应用程序安装包安装效
率、降低用户获取该较少数量的应用功能所需的时间。
作为一可选实施例,生成所述应用程序包包括:
A11,统计用户在预定的时间内使用应用程序中的各应用功能的次数;
本步骤中,通过对已安装现有应用程序包的用户在预定的时间内使用的应
用功能的次数进行统计,从而可以统计出用户使用该应用程序中的各应用功能
的频次,统计得到的用户使用应用功能的频次越高,表明该应用功能被用户使
用的越频繁,具有被多数用户使用的共性。
A12,对统计得到的次数进行排序,选取排序前N位的次数对应的应用功
能,得到核心应用功能;
本步骤中,对于排序靠前的应用功能,表明用户经常使用这些应用功能,
可以作为核心应用功能提供给用户,在应用程序包安装后,用户可以直接使用
这些应用功能。其中,N为自然数,可根据实际需要来确定。
本发明实施例中,作为另一可选实施例,还可以选取超过预定次数阈值的
统计次数对应的应用功能,得到核心应用功能。
A13,获取核心应用功能之外的应用功能,得到辅助应用功能,提取辅助应
用功能所需的资源文件,生成应用程序辅助应用功能包;
本步骤中,辅助应用功能为排序前N位之后的次数对应的应用功能,或者,
不超过预定次数阈值的统计次数对应的应用功能。
本步骤中,安装信息包括:安装路径、目录结构等描述信息以及快捷方式、
注册表信息等。关于提取辅助应用功能所需的资源文件,为公知技术,在此略
去详述。
A14,提取核心应用功能所需的资源文件以及应用程序包配置信息,构建应
用程序界面中辅助应用功能与应用程序辅助应用功能包的映射关系,依据核心
应用功能所需的资源文件、应用程序包配置信息以及映射关系生成应用程序核
心应用功能包。
本步骤中,依据核心应用功能所需的资源文件、应用程序包配置信息以及
映射关系生成应用程序核心应用功能包,这样,在安装该应用程序核心应用功
能包时,可以保留应用程序的所有应用功能,但与现有安装应用程序包不同的
是,对于安装后的应用程序,用户可以直接使用核心应用功能,而对于非核心
应用功能,即辅助应用功能,虽然显示在应用程序界面中,但未安装,在应用
程序界面中显示的辅助应用功能图标控件为一带有映射关系的链接信息,即需
要通过点击辅助应用功能图标控件来触发安装映射的应用程序辅助应用功能
包。
实际应用中,还可以对辅助应用功能进行分类,将分类的应用功能所需的
资源文件进行归类,并为每一归类的资源文件设置映射关系,即为每一归类的
资源文件分配不同的或相同的资源文件下发通道。
作为另一可选实施例,生成所述应用程序包包括:
A21,按照预先设置的核心应用功能选取策略选取应用程序中的应用功能;
本步骤中,应用程序运营商或开发商可以按照自身的策略需求,设置核心
应用功能选取策略,用以从应用程序的各应用功能中选取核心应用功能。
A22,获取选取的应用功能之外的应用功能,得到辅助应用功能,提取辅助
应用功能所需的资源文件,生成应用程序辅助应用功能包;
A23,提取选取的应用功能所需的资源文件以及应用程序包配置信息,构建
应用程序界面中辅助应用功能与应用程序辅助应用功能包的映射关系,依据核
心应用功能所需的资源文件、应用程序包配置信息以及映射关系生成应用程序
核心应用功能包。
本发明实施例中,通过分离应用程序包中除了核心应用功能外的其他辅助
应用功能,将辅助应用功能所需的安装文件从应用程序包中摘除,以便在不影
响最主要的核心应用功能的同时,缩小应用程序核心应用功能包的体积。
作为另一可选实施例,服务器中也可以提供完整的应用程序包,即将应用
程序辅助应用功能包以及应用程序核心应用功能包集成在一起的应用程序包,
当接收到用户发送的应用程序包下载请求后,分别将拆分的应用程序包以及完
整的应用程序包向用户展示,由用户选取下载,当用户选择下载完整的应用程
序包,其安装流程与现有技术相同。
作为另一可选实施例,在生成所述应用程序包后,该方法还可以进一步包
括:
对生成的所述应用程序包进行压缩处理。
步骤102,安装所述应用程序核心应用功能包,并在安装所述应用程序核心
应用功能包的同时或之后,从服务器下载所述应用程序辅助应用功能包;
本步骤中,在安装应用程序核心应用功能包时,可以向服务器再次发送应
用程序包下载请求,携带用户标识信息或应用程序辅助应用功能包标识信息,
服务器在接收到应用程序包下载请求后,依据用户标识信息查询到该用户已下
载应用程序核心应用功能包,或者,依据应用程序辅助应用功能包标识信息获
知用户需要下载应用程序辅助应用功能包,将应用程序辅助应用功能包下发至
用户。
本发明实施例中,在安装应用程序核心应用功能包,应用程序仅仅具备预
先设置的基本应用功能(核心应用功能),后续应用中,可根据实际需要进行
应用程序辅助应用功能包安装,使得应用程序同时具备基本应用功能以及附加
(辅助)应用功能。
作为一可选实施例,为了提升安装速度,较佳地,安装所述应用程序核心
应用功能包包括:
启动第一线程以及第二线程,利用第一线程对所述应用程序核心应用功能
包中的安装信息进行设置,利用第二线程对所述应用程序核心应用功能包中的
资源文件进行解压,并将解压后的资源文件拷贝到临时文件夹中,并在所述第
一线程执行完毕后,将所述临时文件夹中的文件拷贝到安装目录。
本步骤中,第一线程用于对应用程序核心应用功能包的安装进行设置,例
如,查看及同意用户许可协议、选择安装的组件以及设置安装路径等安装设置
操作。
步骤103,启动所述应用程序核心应用功能,并在启动所述应用程序核心应
用功能的同时或之后,安装所述应用程序辅助应用功能包。
本步骤中,用户在下载应用程序核心应用功能包后,完成安装后即可在开
启的主程序中使用其中包含的各核心应用功能。对于应用程序辅助应用功能,
在主程序界面中显示应用程序辅助应用功能图标控件,该应用程序辅助应用功
能不能直接使用,用户在点击该应用程序辅助应用功能图标控件后,可以触发
从服务器下载应用程序辅助应用功能包并进行相应的安装,或从本地读取应用
程序辅助应用功能包并进行安装。
本发明实施例中,作为一可选实施例,从服务器下载所述应用程序辅助应
用功能包中,进一步携带有用户在预定的时间内使用各辅助应用功能的统计次
数,所述在启动所述应用程序核心应用功能的同时或之后,安装所述应用程序
辅助应用功能包包括:
B11,在启动所述应用程序核心应用功能的同时,获取超过辅助次数阈值的
统计次数对应的辅助应用功能;
B12,解析应用程序辅助应用功能包,提取获取的辅助应用功能所需的安装
文件并进行安装;
B13,监测到用户处于空闲状态,提取获取的辅助应用功能之外的辅助应用
功能所需的安装文件并进行安装。
作为另一可选实施例,所述在启动所述应用程序核心应用功能的同时或之
后,安装所述应用程序辅助应用功能包包括:
接收用户发送的应用程序辅助应用功能安装请求,查询映射关系,从本地
或服务器获取应用程序辅助应用功能安装请求映射的应用程序辅助应用功能
包,所述应用程序辅助应用功能安装请求为在启动的应用程序核心应用功能对
应的核心程序界面中,用户点击核心程序界面中的应用程序辅助应用功能图标
控件的点击信息。
本发明实施例中,用户在下载应用程序核心应用功能包后,完成安装即可
在主程序(核心程序)使用其中包含的核心应用功能,在主程序开启后,通过
在一定时间内调用升级程序对当前运行的核心程序进行升级扩展,从而可以在
不打扰用户的前提下,将其他应用程序辅助应用功能所需的安装文件下载,以
便用户下次正常使用。这样,当用户需要其他应用程序辅助应用功能时,通过
在核心程序界面点击相应的应用程序辅助应用功能图标控件,便会立刻开启相
对应的升级通道,从本地或服务器获取应用程序辅助应用功能图标控件映射的
应用程序辅助应用功能包并进行安装,在完成安装后,就可以正常开启安装的
应用程序辅助应用功能。
以下以应用程序包为驱动精灵2015版安装包为例,说明该驱动精灵2015
版安装包的安装方法。驱动精灵2015版安装包被拆分为两部分:包含主程序应
用功能的主程序安装包以及包含非主程序应用功能的辅助应用功能安装包,其
中,主程序安装包大小为19M,辅助应用功能安装包中,又包含有多个辅助应
用功能子安装包,例如,对于垃圾清理辅助应用功能,其对应的辅助应用功能
子安装包大小为6M,其他的辅助应用功能子安装包大小不等,总的驱动精灵
2015版安装包的大小可达上百兆。
假设用户带宽2M,最大下载速度为256K,则下载主程序安装包,需要时
间约75秒,而如果下载整个驱动精灵2015版安装包,则需要时间数分钟甚至
更长。通过下载主程序安装包,安装主程序安装包后,开启主程序,即可正常
为硬件安装或升级驱动程序。
如果用户点击主程序界面中的垃圾清理功能图标控件,将开启升级程序,
对垃圾清理辅助应用功能子安装包进行下载,由于该安装包大小约为6M,下载
只需等待20秒左右,安装所需的时间也较短,安装后就可以正常使用垃圾清理
功能。当然,实际应用中,如果用户网络空闲,驱动精灵会自动利用升级程序,
将所有的辅助应用功能子安装包下载至本地,方便用户下次开启时直接进行安
装,或者,在下载后,自动进行安装,便于用户下次开启后直接使用。
本发明实施例的应用程序包安装方法,通过对应用程序包进行拆分,可以
有效的改善因软件安装程序较大,下载等待时间较长的问题,用户可以快速地
完成应用程序核心应用功能包的下载、安装,使用其包含的核心应用功能,其
他辅助应用功能也可以通过较少的等候时间来完成下载、安装,有效减少了软
件安装程序包的体积;进一步地,可以将较长的等待时间分散,从而改进用户
在使用时的操作体验。
图2为本发明实施例应用程序包安装装置结构示意图。参见图2,该装置包
括:应用程序核心应用功能包下载模块201、应用程序核心应用功能包安装处理
模块202以及应用程序核心应用功能启动处理模块203,其中,
应用程序核心应用功能包下载模块201,用于发送应用程序包下载请求,以
从服务器下载应用程序包中的应用程序核心应用功能包,所述应用程序包还包
括应用程序辅助应用功能包;
应用程序核心应用功能包安装处理模块202,用于安装所述应用程序核心应
用功能包,并在安装所述应用程序核心应用功能包的同时或之后,从服务器下
载所述应用程序辅助应用功能包;
应用程序核心应用功能启动处理模块203,用于启动所述应用程序核心应用
功能,并在启动所述应用程序核心应用功能的同时或之后,安装所述应用程序
辅助应用功能包。
本发明实施例中,作为一可选实施例,应用程序核心应用功能包下载模块
201包括:请求发送单元、下载单元、统计单元、排序单元、应用程序辅助应用
功能包生成单元以及应用程序核心应用功能包生成单元(图中未示出),其中,
请求发送单元,用于发送应用程序包下载请求;
下载单元,用于服务器下载应用程序包中的应用程序核心应用功能包,所
述应用程序包还包括应用程序辅助应用功能包;
统计单元,用于统计用户在预定的时间内使用应用程序中的各应用功能的
次数;
排序单元,用于对统计得到的次数进行排序,选取排序前N位的次数对应
的应用功能或选取超过预定次数阈值的统计次数对应的应用功能,得到核心应
用功能;
应用程序辅助应用功能包生成单元,用于获取核心应用功能之外的应用功
能,得到辅助应用功能,提取辅助应用功能所需的资源文件,生成应用程序辅
助应用功能包;
应用程序核心应用功能包生成单元,用于提取核心应用功能所需的资源文
件以及应用程序包配置信息,构建应用程序界面中辅助应用功能与应用程序辅
助应用功能包的映射关系,依据核心应用功能所需的资源文件、应用程序包配
置信息以及映射关系生成应用程序核心应用功能包。
作为另一可选实施例,应用程序核心应用功能包下载模块201包括:请求
发送单元、下载单元、选取单元、应用程序辅助应用功能包生成单元以及应用
程序核心应用功能包生成单元(图中未示出),其中,
请求发送单元,用于发送应用程序包下载请求;
下载单元,用于服务器下载应用程序包中的应用程序核心应用功能包,所
述应用程序包还包括应用程序辅助应用功能包;
选取单元,用于按照预先设置的核心应用功能选取策略选取应用程序中的
应用功能;
应用程序辅助应用功能包生成单元,用于获取选取的应用功能之外的应用
功能,得到辅助应用功能,提取辅助应用功能所需的资源文件,生成应用程序
辅助应用功能包;
应用程序核心应用功能包生成单元,用于提取选取的应用功能所需的资源
文件以及应用程序包配置信息,构建应用程序界面中辅助应用功能与应用程序
辅助应用功能包的映射关系,依据核心应用功能所需的资源文件、应用程序包
配置信息以及映射关系生成应用程序核心应用功能包。
本发明实施例中,作为一可选实施例,应用程序核心应用功能包安装处理
模块202包括:应用程序核心应用功能包安装单元以及应用程序辅助应用功能
包下载单元(图中未示出),其中,
应用程序核心应用功能包安装单元,用于启动第一线程以及第二线程,利
用第一线程对所述应用程序核心应用功能包中的安装信息进行设置,利用第二
线程对所述应用程序核心应用功能包中的资源文件进行解压,并将解压后的资
源文件拷贝到临时文件夹中,并在所述第一线程执行完毕后,将所述临时文件
夹中的文件拷贝到安装目录;
应用程序辅助应用功能包下载单元,用于在安装所述应用程序核心应用功
能包的同时或之后,向服务器再次发送应用程序包下载请求,携带用户标识信
息或应用程序辅助应用功能包标识信息,服务器在接收到应用程序包下载请求
后,依据用户标识信息查询到该用户已下载应用程序核心应用功能包,或者,
依据应用程序辅助应用功能包标识信息获知用户需要下载应用程序辅助应用功
能包,将应用程序辅助应用功能包下发至用户。
本发明实施例中,作为一可选实施例,应用程序核心应用功能启动处理模
块203包括:检测单元、第一获取单元、解析单元以及第二安装单元(图中未
示出),其中,
检测单元,用于检测从服务器下载所述应用程序辅助应用功能包中,是否
携带有用户在预定的时间内使用各辅助应用功能的统计次数,如果有,通知第
一获取单元;
第一获取单元,用于接收通知,在启动所述应用程序核心应用功能的同时,
获取超过辅助次数阈值的统计次数对应的辅助应用功能;
解析单元,用于解析应用程序辅助应用功能包,提取获取的辅助应用功能
所需的安装文件并进行安装;
第二安装单元,用于在监测到用户处于空闲状态后,提取获取的辅助应用
功能之外的辅助应用功能所需的安装文件并进行安装。
作为另一可选实施例,应用程序核心应用功能启动处理模块203包括:启
动单元、请求接收单元以及查询单元(图中未示出),其中,
启动单元,用于启动所述应用程序核心应用功能;
请求接收单元,用于接收用户发送的应用程序辅助应用功能安装请求,所
述应用程序辅助应用功能安装请求为在启动的应用程序核心应用功能对应的核
心程序界面中,用户点击核心程序界面中的应用程序辅助应用功能图标控件的
点击信息;
查询单元,用于依据应用程序辅助应用功能安装请求,查询映射关系,从
本地或服务器获取应用程序辅助应用功能安装请求映射的应用程序辅助应用功
能包。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,
是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算
机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,
ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于
此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到
的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围
应以权利要求的保护范围为准。