《软件安装方法及相应软件安装装置.pdf》由会员分享,可在线阅读,更多相关《软件安装方法及相应软件安装装置.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103677879 A (43)申请公布日 2014.03.26 CN 103677879 A (21)申请号 201210341447.6 (22)申请日 2012.09.14 G06F 9/445(2006.01) (71)申请人 腾讯科技 (深圳) 有限公司 地址 518000 广东省深圳市福田区赛格科技 园 2 栋东 403 号 (72)发明人 童洋 张艺弘 (74)专利代理机构 深圳翼盛智成知识产权事务 所 ( 普通合伙 ) 44300 代理人 欧阳启明 李捷 (54) 发明名称 软件安装方法及相应软件安装装置 (57) 摘要 本发明涉及一种软件安装方法及相。
2、应的软 件安装装置, 该软件安装方法包括步骤 : 接收软 件安装请求, 并根据软件安装请求同时启动第一 线程以及第二线程, 第一线程执行对软件的安装 进行设置的操作, 第二线程执行将软件的安装包 中的文件进行解压, 并将解压后的文件拷贝到临 时文件夹的操作 ; 第一线程和第二线程执行完毕 后, 将临时文件夹中的文件拷贝到安装目录 ; 以 及对计算机的注册表信息进行修改, 记录软件安 装后的计算机的状态。本发明还涉及一种软件安 装装置。本发明的软件安装方法及相应的软件安 装装置通过多线程处理实现软件的快速安装。 (51)Int.Cl. 权利要求书 1 页 说明书 6 页 附图 4 页 (19)中。
3、华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书6页 附图4页 (10)申请公布号 CN 103677879 A CN 103677879 A 1/1 页 2 1. 一种软件安装方法, 其特征在于, 包括步骤 : 接收软件安装请求, 并根据所述软件安装请求同时启动第一线程以及第二线程, 所述 第一线程执行对软件的安装进行设置的操作, 所述第二线程执行将所述软件的安装包中的 文件进行解压, 并将解压后的文件拷贝到临时文件夹的操作 ; 所述第一线程和所述第二线程执行完毕后, 将所述临时文件夹中的文件拷贝到安装目 录。 2. 根据权利要求 1 所述的软件安装方法, 其特征在于。
4、, 所述第一线程和所述第二线程 执行完毕后, 将所述临时文件夹中的文件拷贝到安装目录的步骤具体包括 : 所述第二线程执行完毕后, 对所述临时文件夹中的文件进行分组处理, 得到多组待拷 贝文件 ; 以及 所述第一线程执行完毕后, 将所述多组待拷贝文件多线程拷贝到安装目录。 3. 根据权利要求 1 所述的软件安装方法, 其特征在于, 所述软件安装方法还包括步骤 : 接收软件安装请求, 并根据所述软件安装请求同时启动第三线程, 所述第三线程执行 备份所述计算机的当前状态的操作。 4. 根据权利要求 2 所述的软件安装方法, 其特征在于, 所述第一线程执行完毕后, 将所 述多组待拷贝文件多线程拷贝到安。
5、装目录的步骤中, 使用单线程将一组所述待拷贝文件拷 贝到所述安装目录。 5. 根据权利要求 3 所述的软件安装方法, 其特征在于, 如取消所述软件的安装, 则根据 所述第三线程中备份的所述计算机的状态, 执行安装回滚。 6. 一种软件安装装置, 其特征在于, 包括 : 第一线程执行模块, 用于接收软件安装请求, 并根据所述软件安装请求执行对软件的 安装进行设置的操作 ; 第二线程执行模块, 用于接收软件安装请求, 并根据所述软件安装请求执行将所述软 件的安装包中的文件进行解压, 并将解压后的文件拷贝到临时文件夹的操作 ; 以及 拷贝模块, 用于将所述临时文件夹中的文件拷贝到安装目录。 7. 根。
6、据权利要求 6 所述的软件安装装置, 其特征在于, 所述拷贝模块包括 : 分组单元, 用于对所述临时文件夹中的文件进行分组处理, 得到多组待拷贝文件 ; 以及 多线程拷贝单元, 用于将所述多组待拷贝文件多线程拷贝到安装目录。 8. 根据权利要求 6 所述的软件安装装置, 其特征在于, 所述软件安装装置还包括 : 第三线程执行模块, 用于接收软件安装请求, 并根据所述软件安装请求执行备份所述 计算机的当前状态的操作。 9. 根据权利要求 7 所述的软件安装装置, 其特征在于, 所述多线程拷贝单元使用单线 程将一组所述待拷贝文件拷贝到所述安装目录。 10. 根据权利要求 8 所述的软件安装装置, 。
7、其特征在于, 所述软件安装装置还包括 : 安装回滚模块, 用于如取消所述软件的安装, 则根据所述第三线程执行模块备份的所 述计算机的状态, 执行安装回滚。 权 利 要 求 书 CN 103677879 A 2 1/6 页 3 软件安装方法及相应软件安装装置 技术领域 0001 本发明涉及计算机技术领域, 特别是涉及一种快速的软件安装方法及软件安装装 置。 背景技术 0002 在当今社会, 通过计算机上各种的软件实现了用户的各种需求。随着计算机技术 的飞速发展, 为了满足用户的需求, 相应软件的容量也越来越大。 0003 现有的软件安装方法如图 1 所示, 图 1 为现有的基于 nsis 安装包。
8、的软件安装方法 的流程图, nsis 为一个开源的 Windows 系统下安装程序的制作程序, 可提供程序的安装、 卸载、 系统设置以及文件解压缩等功能。在该流程图中, 用户双击运行安装包后, 首先对软 件的安装进行设置, 例如查看及同意用户许可协议、 选择安装组件以及设置安装路径等 ; 随 后备份计算机的当前状态, 用于取消安装时的安装回滚 (安装回滚是指当用户取消安装时, 将用户的计算机恢复到初始的状态, 包括文件夹内容以及注册表内容等) ; 然后将软件的安 装包中的文件解压后整体拷贝到安装目录 ; 最后对注册表信息进行修改, 记录该软件安装 后的计算机的状态。 0004 上述整个安装过程。
9、为顺序执行, 如软件的容量较大, 将软件安装包中的文件整体 拷贝到安装目录和对注册表信息进行修改, 记录该软件安装后的计算机的状态这两个步骤 将花费大量的时间, 导致整个软件安装的时间过长, 影响用户的体验。 0005 故, 有必要提供一种软件安装方法及软件安装装置, 以解决现有技术所存在的问 题。 发明内容 0006 本发明的目的在于提供一种通过多线程处理实现软件的快速安装的软件安装方 法及软件安装装置 ; 解决了现有的软件安装方法及软件安装装置的软件安装耗时较长, 影 响用户体验的技术问题。 0007 为解决上述问题, 本发明提供的技术方案如下 : 0008 本发明涉及一种软件安装方法, 。
10、其包括步骤 : 0009 接收软件安装请求, 并根据所述软件安装请求同时启动第一线程以及第二线程, 所述第一线程执行对软件的安装进行设置的操作, 所述第二线程执行将所述软件的安装包 中的文件进行解压, 并将解压后的文件拷贝到临时文件夹的操作 ; 0010 所述第一线程和所述第二线程执行完毕后, 将所述临时文件夹中的文件拷贝到安 装目录。 0011 在本发明所述的软件安装方法中, 所述第一线程和所述第二线程执行完毕后, 将 所述临时文件夹中的文件拷贝到安装目录的步骤具体包括 : 0012 所述第二线程执行完毕后, 对所述临时文件夹中的文件进行分组处理, 得到多组 待拷贝文件 ; 以及 说 明 书。
11、 CN 103677879 A 3 2/6 页 4 0013 所述第一线程执行完毕后, 将所述多组待拷贝文件多线程拷贝到安装目录。 0014 在本发明所述的软件安装方法中, 所述软件安装方法还包括步骤 : 0015 接收软件安装请求, 并根据所述软件安装请求同时启动第三线程, 所述第三线程 执行备份所述计算机的当前状态的操作。 0016 在本发明所述的软件安装方法中, 所述第一线程执行完毕后, 将所述多组待拷贝 文件多线程拷贝到安装目录的步骤中, 使用单线程将一组所述待拷贝文件拷贝到所述安装 目录。 0017 在本发明所述的软件安装方法中, 如取消所述软件的安装, 则根据所述第三线程 中备份的。
12、所述计算机的状态, 执行安装回滚。 0018 本发明还涉及一种软件安装装置, 其包括 : 0019 第一线程执行模块, 用于接收软件安装请求, 并根据所述软件安装请求执行对软 件的安装进行设置的操作 ; 0020 第二线程执行模块, 用于接收软件安装请求, 并根据所述软件安装请求执行将所 述软件的安装包中的文件进行解压, 并将解压后的文件拷贝到临时文件夹的操作 ; 以及 0021 拷贝模块, 用于将所述临时文件夹中的文件拷贝到安装目录。 0022 在本发明所述的软件安装装置中, 所述拷贝模块包括 : 0023 分组单元, 用于对所述临时文件夹中的文件进行分组处理, 得到多组待拷贝文件 ; 以及。
13、 0024 多线程拷贝单元, 用于将所述多组待拷贝文件多线程拷贝到安装目录。 0025 在本发明所述的软件安装装置中, 所述软件安装装置还包括 : 0026 第三线程执行模块, 用于接收软件安装请求, 并根据所述软件安装请求执行备份 所述计算机的当前状态的操作。 0027 在本发明所述的软件安装装置中, 所述多线程拷贝单元使用单线程将一组所述待 拷贝文件拷贝到所述安装目录。 0028 在本发明所述的软件安装装置中, 所述软件安装装置还包括 : 0029 安装回滚模块, 用于如取消所述软件的安装, 则根据所述第三线程执行模块备份 的所述计算机的状态, 执行安装回滚。 0030 相较于现有技术, 。
14、本发明的软件安装方法及软件安装装置通过多线程处理实现软 件的快速安装 ; 解决了现有的软件安装方法及软件安装装置的软件安装耗时较长, 影响用 户体验的技术问题。 0031 为让本发明的上述内容能更明显易懂, 下文特举优选实施例, 并配合所附图式, 作 详细说明如下 : 附图说明 0032 图 1 为现有的基于 nsis 安装包的软件安装方法的流程图 ; 0033 图 2 为本发明的软件安装方法的第一优选实施例的流程图 ; 0034 图 3 为本发明的软件安装方法的第二优选实施例的流程图 ; 0035 图 4 为本发明的软件安装方法的具体实施例的流程图 ; 0036 图 5 为本发明的软件安装装。
15、置的第一优选实施例的结构示意图 ; 说 明 书 CN 103677879 A 4 3/6 页 5 0037 图 6 为本发明的软件安装装置的第二优选实施例的结构示意图 ; 0038 其中, 附图标记说明如下 : 0039 51、 第一线程执行模块 ; 0040 52、 第二线程执行模块 ; 0041 53、 拷贝模块 ; 0042 54、 状态记录模块 ; 0043 61、 第三线程执行模块 0044 62、 安装回滚模块。 具体实施方式 0045 以下各实施例的说明是参考附加的图式, 用以例示本发明可用以实施的特定实施 例。本发明所提到的方向用语, 例如 上 、下 、前 、后 、左 、右 、。
16、内 、外 、侧 面 等, 仅是参考附加图式的方向。 因此, 使用的方向用语是用以说明及理解本发明, 而非用 以限制本发明。 0046 在图中, 结构相似的单元是以相同标号表示。 0047 请参照图2, 图2为本发明的软件安装方法的第一优选实施例的流程图。 该软件安 装方法开始于 : 0048 步骤 201, 接收软件安装请求, 并根据软件安装请求同时启动第一线程以及第二线 程, 第一线程执行对软件的安装进行设置的操作, 第二线程执行将软件的安装包中的文件 进行解压, 并将解压后的文件拷贝到临时文件夹的操作 ; 0049 步骤 202, 第一线程和第二线程执行完毕后, 将临时文件夹中的文件拷贝到。
17、安装目 录 ; 0050 步骤 203, 对计算机的注册表信息进行修改, 记录软件安装后的计算机的状态 ; 0051 该软件安装方法结束于步骤 203。 0052 下面详细说明本发明的软件安装方法的第一优选实施例的具体流程。 0053 在步骤 201 中, 接收到用户的软件安装请求 (例如用户双击软件的安装包进行软 件的安装) , 这时根据上述的软件安装请求, 同时启动两个线程, 即第一线程和第二线程。其 中第一线程用于执行对软件的安装进行设置的操作, 如查看及同意用户许可协议、 选择安 装的组件以及设置安装路径等操作, 但是必须由用户手动操作, 因此具体操作时间根据用 户的操作过程决定。第二。
18、线程与第一线程同时启动, 第二线程用于将软件的安装包中的文 件进行解压处理, 并将解压后的文件拷贝到临时文件夹 (即预拷贝操作) , 这个解压以及拷 贝的操作在接收到用户的软件安装请求后自动在后台进行。 由于第一线程中的操作占用系 统资源较少, 因此第二线程的进行不会影响到用户在第一线程的操作。 0054 随后来到步骤 202。 0055 在步骤 202 中, 在第一线程和第二线程执行完毕后, 软件的安装文件已经全部拷 贝到临时文件夹中, 然后再由临时文件夹中拷贝到安装目录下, 由于先将安装文件解压释 放到临时文件夹后再拷贝到安装目录下, 因而减少了磁盘的文件碎片 (直接进行软件的安 装会在硬。
19、盘中产生文件碎片) 。另外, 由于在本步骤中, 直接将临时文件夹中的文件拷贝至 安装目录实现软件的安装, 从而节省了解压软件的安装包的时间。 说 明 书 CN 103677879 A 5 4/6 页 6 0056 在本步骤中, 在将临时文件夹中的文件拷贝至安装目录之前, 还优选对临时文件 夹中的文件进行分组处理, 从而得到多组待拷贝文件。这里的分组只是将安装文件按大小 进行组合, 使得每组中的所有文件的总容量相似, 例如每组的文件总容量均为8兆至12兆。 随后将上述各组待拷贝文件多线程拷贝到软件的安装目录中, 这里优选使用单线程将一组 待拷贝文件拷贝到安装目录中, 如设置有5组待拷贝文件, 即。
20、开启5个线程将待拷贝文件拷 贝至安装目录, 由于每组文件总容量相似, 因此每组文件的拷贝所花费时间也应该相似。 这 样可以最大限度的利用系统的资源, 进一步节省软件安装的时间。 0057 随后来到步骤 203。 0058 在步骤 203 中, 对计算机的注册表信息进行修改, 记录软件安装后的计算机的状 态, 这样即完成了该软件的安装。 0059 请参照图3, 图3为本发明的软件安装方法的第二优选实施例的流程图。 该软件安 装方法开始于 : 0060 步骤 301, 接收软件安装请求, 并根据软件安装请求同时开启第一线程、 第二线程 以及第三线程, 第一线程执行对软件的安装进行设置的操作, 第二。
21、线程执行将软件的安装 包中的文件进行解压, 并将解压后的文件拷贝到临时文件夹的操作, 第三线程执行备份计 算机的当前状态的操作 ; 0061 步骤 302, 第一线程和第二线程执行完毕后, 将临时文件夹中的文件拷贝到安装目 录 ; 0062 步骤 303, 对计算机的注册表信息进行修改, 记录软件安装后的计算机的状态 ; 0063 该软件安装方法结束于步骤 303。 0064 本优选实施例与第一优选实施例的区别在于, 接收到用户的软件安装请求后, 除 了启动第一线程和第二线程, 还同时启动第三线程。第三线程用于执行备份计算机的当前 状态的操作, 以便于取消软件安装时的安装回滚。 0065 在接。
22、收到用户软件安装请求时即开始备份计算机的当前状态, 可进一步的节省后 续备份计算机的当前状态的时间。 一般在第一线程、 第二线程以及第三线程均执行完毕后, 再将临时文件夹中的文件拷贝至安装目录中。 如在将临时文件夹中的文件拷贝至安装目录 的过程中, 用户决定取消该软件的安装, 则根据第三线程中备份的计算机安装软件前的状 态, 执行安装回滚, 即终止当前文件拷贝的操作, 删除安装目录下已经安装的所有文件并将 计算机的文件夹内容以及注册表内容恢复到安装前的状态。 0066 在本优选实施例中, 通过多线程的方式使备份计算机的当前状态的操作与对软件 的安装进行设置的操作同时进行, 在保证软件安装的可靠。
23、性和可恢复性的基础上, 进一步 节省软件安装的时间。 0067 下面通过图 4 来详细说明本发明的一具体实施例, 图 4 为本发明的软件安装方法 的具体实施例的流程图。 0068 用户双击运行软件的安装包后, 第一线程开始对软件的安装进行设置, 如查看用 户许可协议, 选择安装组件设置等 ; 第二线程开始解压安装包, 并将安装文件释放到临时文 件夹中 ; 第三线程开始备份计算机的当前状态 (安装前) , 用于安装回滚。 随后对临时文件夹 中的安装文件进行分组处理, 得到多组大小相似的待拷贝文件, 随后将上述各组待拷贝文 件多线程拷贝到软件的安装目录中。 如在拷贝过程中, 用户决定取消该软件的安。
24、装, 则根据 说 明 书 CN 103677879 A 6 5/6 页 7 第三线程中备份的计算机安装前的状态, 执行安装回滚后结束软件的安装。如用户完成了 整个拷贝过程, 则记录当前计算机的状态后结束软件的安装。 0069 本发明还涉及一种软件安装装置, 如图5所示, 图5为本发明的软件安装装置的第 一优选实施例的结构示意图。该软件安装装置包括第一线程执行模块 51、 第二线程执行模 块52、 拷贝模块53以及状态记录模块54。 第一线程执行模块51用于接收软件安装请求, 并 根据软件安装请求执行对软件的安装进行设置的操作 ; 第二线程执行模块 52 用于接收软 件安装请求, 并根据软件安装。
25、请求执行将软件的安装包中的文件进行解压, 并将解压后的 文件拷贝到临时文件夹的操作 ; 拷贝模块 53 用于将临时文件夹中的文件拷贝到安装目录 ; 状态记录模块 54 用于对计算机的注册表信息进行修改, 记录软件安装后的计算机状态。 0070 其中拷贝模块 53 包括分组单元以及多线程拷贝单元。分组单元用于对临时文件 夹中的文件进行分组处理, 得到多组待拷贝文件 ; 多线程拷贝单元用于将多组待拷贝文件 多线程拷贝到安装目录, 其中多线程拷贝单元优选使用单线程将一组待拷贝文件拷贝到安 装目录。 0071 本优选实施例的软件安装装置使用时, 接收到用户的软件安装请求, 第一线程执 行模块 51 即。
26、会执行对软件的安装进行设置的操作 ; 同时第二线程执行模块 52 将软件的安 装包中的文件进行解压处理, 并将解压后的文件拷贝到临时文件夹。 0072 在第一线程执行模块 51 和第二线程执行模块 52 执行完毕后, 拷贝模块 53 的分组 单元即对临时文件夹中的文件进行分组处理, 从而得到多组待拷贝文件。随后拷贝模块 53 的多线程拷贝单元将上述各组待拷贝文件多线程拷贝到软件的安装目录中, 这里优选使用 单线程将一组待拷贝文件拷贝到安装目录中。 0073 最后, 状态记录模块 54 对计算机的注册表信息进行修改, 记录软件安装后的计算 机的状态, 这样即通过软件安装装置完成了该软件的安装。 。
27、0074 本优选实施例中的软件安装装置的具体使用过程与上述的软件安装方法的第一 优选实施例相同或相似, 具体可参见上述软件安装方法的第一优选实施例的相关描述。 0075 如图6所示, 图6为本发明的软件安装装置的第二优选实施例的结构示意图。 本优 选实施例与第一优选实施例的区别在于, 该软件安装装置还包括第三线程执行模块 61 和 安装回滚模块62。 该第三线程执行模块61用于执行备份计算机的当前状态的操作, 以便于 取消软件安装时的安装回滚 ; 安装回滚模块 62 用于如取消软件的安装, 则根据第三线程执 行模块 61 备份的计算机的状态, 执行安装回滚。 0076 本优选实施例的软件安装装。
28、置使用时, 第三线程执行模块 61 在接收到用户软件 安装请求时即开始备份计算机的当前状态, 可进一步的节省后续备份计算机的当前状态的 时间。如在拷贝模块 53 将临时文件夹中的文件拷贝至安装目录的过程中, 用户决定取消该 软件的安装, 则安装回滚模块 62可根据第三线程执行模块61备份的计算机安装前的状态, 执行安装回滚。 0077 本优选实施例中的软件安装装置的具体使用过程与上述的软件安装方法的第二 优选实施例相同或相似, 具体可参见上述软件安装方法的第二优选实施例的相关描述。 0078 本发明的软件安装方法以及软件安装装置通过多线程处理实现软件的快速安装, 同时在安装过程中对安装文件进行。
29、分组多线程拷贝处理, 进一步提升了软件安装速度 ; 解 决了现有的软件安装方法及软件安装装置的软件安装耗时较长, 影响用户体验的技术问 说 明 书 CN 103677879 A 7 6/6 页 8 题。 0079 综上所述, 虽然本发明已以优选实施例揭露如上, 但上述优选实施例并非用以限 制本发明, 本领域的普通技术人员, 在不脱离本发明的精神和范围内, 均可作各种更动与润 饰, 因此本发明的保护范围以权利要求界定的范围为准。 说 明 书 CN 103677879 A 8 1/4 页 9 图 1 说 明 书 附 图 CN 103677879 A 9 2/4 页 10 图 2 说 明 书 附 图 CN 103677879 A 10 3/4 页 11 图 3 图 4 说 明 书 附 图 CN 103677879 A 11 4/4 页 12 图 5 图 6 说 明 书 附 图 CN 103677879 A 12 。