软件安装方法及相应软件安装装置制造方法

文档序号:6488826阅读:146来源:国知局
软件安装方法及相应软件安装装置制造方法
【专利摘要】本发明涉及一种软件安装方法及相应的软件安装装置,该软件安装方法包括步骤:接收软件安装请求,并根据软件安装请求同时启动第一线程以及第二线程,第一线程执行对软件的安装进行设置的操作,第二线程执行将软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作;第一线程和第二线程执行完毕后,将临时文件夹中的文件拷贝到安装目录;以及对计算机的注册表信息进行修改,记录软件安装后的计算机的状态。本发明还涉及一种软件安装装置。本发明的软件安装方法及相应的软件安装装置通过多线程处理实现软件的快速安装。
【专利说明】软件安装方法及相应软件安装装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种快速的软件安装方法及软件安装装置。
【背景技术】
[0002]在当今社会,通过计算机上各种的软件实现了用户的各种需求。随着计算机技术的飞速发展,为了满足用户的需求,相应软件的容量也越来越大。
[0003]现有的软件安装方法如图1所示,图1为现有的基于nsis安装包的软件安装方法的流程图,nsis为一个开源的Windows系统下安装程序的制作程序,可提供程序的安装、卸载、系统设置以及文件解压缩等功能。在该流程图中,用户双击运行安装包后,首先对软件的安装进行设置,例如查看及同意用户许可协议、选择安装组件以及设置安装路径等;随后备份计算机的当前状态,用于取消安装时的安装回滚(安装回滚是指当用户取消安装时,将用户的计算机恢复到初始的状态,包括文件夹内容以及注册表内容等);然后将软件的安装包中的文件解压后整体拷贝到安装目录;最后对注册表信息进行修改,记录该软件安装后的计算机的状态。
[0004]上述整个安装过程为顺序执行,如软件的容量较大,将软件安装包中的文件整体拷贝到安装目录和对注册表信息进行修改,记录该软件安装后的计算机的状态这两个步骤将花费大量的时间,导致整个软件安装的时间过长,影响用户的体验。
[0005]故,有必要提供一种软件安装方法及软件安装装置,以解决现有技术所存在的问题。

【发明内容】

[0006]本发明的目的在于提供一种通过多线程处理实现软件的快速安装的软件安装方法及软件安装装置;解决了现有的软件安装方法及软件安装装置的软件安装耗时较长,影响用户体验的技术问题。
[0007]为解决上述问题,本发明提供的技术方案如下:
[0008]本发明涉及一种软件安装方法,其包括步骤:
[0009]接收软件安装请求,并根据所述软件安装请求同时启动第一线程以及第二线程,所述第一线程执行对软件的安装进行设置的操作,所述第二线程执行将所述软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作;
[0010]所述第一线程和所述第二线程执行完毕后,将所述临时文件夹中的文件拷贝到安装目录。
[0011]在本发明所述的软件安装方法中,所述第一线程和所述第二线程执行完毕后,将所述临时文件夹中的文件拷贝到安装目录的步骤具体包括:
[0012]所述第二线程执行完毕后,对所述临时文件夹中的文件进行分组处理,得到多组待拷贝文件;以及[0013]所述第一线程执行完毕后,将所述多组待拷贝文件多线程拷贝到安装目录。
[0014]在本发明所述的软件安装方法中,所述软件安装方法还包括步骤:
[0015]接收软件安装请求,并根据所述软件安装请求同时启动第三线程,所述第三线程执行备份所述计算机的当前状态的操作。
[0016]在本发明所述的软件安装方法中,所述第一线程执行完毕后,将所述多组待拷贝文件多线程拷贝到安装目录的步骤中,使用单线程将一组所述待拷贝文件拷贝到所述安装目录。
[0017]在本发明所述的软件安装方法中,如取消所述软件的安装,则根据所述第三线程中备份的所述计算机的状态,执行安装回滚。
[0018]本发明还涉及一种软件安装装置,其包括:
[0019]第一线程执行模块,用于接收软件安装请求,并根据所述软件安装请求执行对软件的安装进行设置的操作;
[0020]第二线程执行模块,用于接收软件安装请求,并根据所述软件安装请求执行将所述软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作;以及
[0021]拷贝模块,用于将所述临时文件夹中的文件拷贝到安装目录。
[0022]在本发明所述的软件安装装置中,所述拷贝模块包括:
[0023]分组单元,用于对所述临时文件夹中的文件进行分组处理,得到多组待拷贝文件;以及
[0024]多线程拷贝单元,用于将所述多组待拷贝文件多线程拷贝到安装目录。
[0025]在本发明所述的软件安装装置中,所述软件安装装置还包括:
[0026]第三线程执行模块,用于接收软件安装请求,并根据所述软件安装请求执行备份所述计算机的当前状态的操作。
[0027]在本发明所述的软件安装装置中,所述多线程拷贝单元使用单线程将一组所述待拷贝文件拷贝到所述安装目录。
[0028]在本发明所述的软件安装装置中,所述软件安装装置还包括:
[0029]安装回滚模块,用于如取消所述软件的安装,则根据所述第三线程执行模块备份的所述计算机的状态,执行安装回滚。
[0030]相较于现有技术,本发明的软件安装方法及软件安装装置通过多线程处理实现软件的快速安装;解决了现有的软件安装方法及软件安装装置的软件安装耗时较长,影响用户体验的技术问题。
[0031]为让本发明的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:
【专利附图】

【附图说明】
[0032]图1为现有的基于nsis安装包的软件安装方法的流程图;
[0033]图2为本发明的软件安装方法的第一优选实施例的流程图;
[0034]图3为本发明的软件安装方法的第二优选实施例的流程图;
[0035]图4为本发明的软件安装方法的具体实施例的流程图;
[0036]图5为本发明的软件安装装置的第一优选实施例的结构示意图;[0037]图6为本发明的软件安装装置的第二优选实施例的结构示意图;
[0038]其中,附图标记说明如下:
[0039]51、第一线程执行模块;
[0040]52、第二线程执行模块;
[0041]53、拷贝模块;
[0042]54、状态记录模块;
[0043]61、第三线程执行模块
[0044]62、安装回滚模块。
【具体实施方式】
[0045]以下各实施例的说明是参考附加的图式,用以例示本发明可用以实施的特定实施例。本发明所提到的方向用语,例如「上」、「下」、「前」、「后」、「左」、「右」、「内」、「外」、「侧面」等,仅是参考附加图式的方向。因此,使用的方向用语是用以说明及理解本发明,而非用以限制本发明。
[0046]在图中,结构相似的单元是以相同标号表示。
[0047]请参照图2,图2为本发明的软件安装方法的第一优选实施例的流程图。该软件安装方法开始于:
[0048]步骤201,接收软件安装请求,并根据软件安装请求同时启动第一线程以及第二线程,第一线程执行对软件的安装进行设置的操作,第二线程执行将软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作;
[0049]步骤202,第一线程和第二线程执行完毕后,将临时文件夹中的文件拷贝到安装目录;
[0050]步骤203,对计算机的注册表信息进行修改,记录软件安装后的计算机的状态;
[0051]该软件安装方法结束于步骤203。
[0052]下面详细说明本发明的软件安装方法的第一优选实施例的具体流程。
[0053]在步骤201中,接收到用户的软件安装请求(例如用户双击软件的安装包进行软件的安装),这时根据上述的软件安装请求,同时启动两个线程,即第一线程和第二线程。其中第一线程用于执行对软件的安装进行设置的操作,如查看及同意用户许可协议、选择安装的组件以及设置安装路径等操作,但是必须由用户手动操作,因此具体操作时间根据用户的操作过程决定。第二线程与第一线程同时启动,第二线程用于将软件的安装包中的文件进行解压处理,并将解压后的文件拷贝到临时文件夹(即预拷贝操作),这个解压以及拷贝的操作在接收到用户的软件安装请求后自动在后台进行。由于第一线程中的操作占用系统资源较少,因此第二线程的进行不会影响到用户在第一线程的操作。
[0054]随后来到步骤202。
[0055]在步骤202中,在第一线程和第二线程执行完毕后,软件的安装文件已经全部拷贝到临时文件夹中,然后再由临时文件夹中拷贝到安装目录下,由于先将安装文件解压释放到临时文件夹后再拷贝到安装目录下,因而减少了磁盘的文件碎片(直接进行软件的安装会在硬盘中产生文件碎片)。另外,由于在本步骤中,直接将临时文件夹中的文件拷贝至安装目录实现软件的安装,从而节省了解压软件的安装包的时间。[0056]在本步骤中,在将临时文件夹中的文件拷贝至安装目录之前,还优选对临时文件夹中的文件进行分组处理,从而得到多组待拷贝文件。这里的分组只是将安装文件按大小进行组合,使得每组中的所有文件的总容量相似,例如每组的文件总容量均为8兆至12兆。随后将上述各组待拷贝文件多线程拷贝到软件的安装目录中,这里优选使用单线程将一组待拷贝文件拷贝到安装目录中,如设置有5组待拷贝文件,即开启5个线程将待拷贝文件拷贝至安装目录,由于每组文件总容量相似,因此每组文件的拷贝所花费时间也应该相似。这样可以最大限度的利用系统的资源,进一步节省软件安装的时间。
[0057]随后来到步骤203。
[0058]在步骤203中,对计算机的注册表信息进行修改,记录软件安装后的计算机的状态,这样即完成了该软件的安装。
[0059]请参照图3,图3为本发明的软件安装方法的第二优选实施例的流程图。该软件安装方法开始于:
[0060]步骤301,接收软件安装请求,并根据软件安装请求同时开启第一线程、第二线程以及第三线程,第一线程执行对软件的安装进行设置的操作,第二线程执行将软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作,第三线程执行备份计算机的当前状态的操作;
[0061]步骤302,第一线程和第二线程执行完毕后,将临时文件夹中的文件拷贝到安装目录;
[0062]步骤303,对计算机的注册表信息进行修改,记录软件安装后的计算机的状态;
[0063]该软件安装方法结束于步骤303。
[0064]本优选实施例与第一优选实施例的区别在于,接收到用户的软件安装请求后,除了启动第一线程和第二线程,还同时启动第三线程。第三线程用于执行备份计算机的当前状态的操作,以便于取消软件安装时的安装回滚。
[0065]在接收到用户软件安装请求时即开始备份计算机的当前状态,可进一步的节省后续备份计算机的当前状态的时间。一般在第一线程、第二线程以及第三线程均执行完毕后,再将临时文件夹中的文件拷贝至安装目录中。如在将临时文件夹中的文件拷贝至安装目录的过程中,用户决定取消该软件的安装,则根据第三线程中备份的计算机安装软件前的状态,执行安装回滚,即终止当前文件拷贝的操作,删除安装目录下已经安装的所有文件并将计算机的文件夹内容以及注册表内容恢复到安装前的状态。
[0066]在本优选实施例中,通过多线程的方式使备份计算机的当前状态的操作与对软件的安装进行设置的操作同时进行,在保证软件安装的可靠性和可恢复性的基础上,进一步节省软件安装的时间。
[0067]下面通过图4来详细说明本发明的一具体实施例,图4为本发明的软件安装方法的具体实施例的流程图。
[0068]用户双击运行软件的安装包后,第一线程开始对软件的安装进行设置,如查看用户许可协议,选择安装组件设置等;第二线程开始解压安装包,并将安装文件释放到临时文件夹中;第三线程开始备份计算机的当前状态(安装前),用于安装回滚。随后对临时文件夹中的安装文件进行分组处理,得到多组大小相似的待拷贝文件,随后将上述各组待拷贝文件多线程拷贝到软件的安装目录中。如在拷贝过程中,用户决定取消该软件的安装,则根据第三线程中备份的计算机安装前的状态,执行安装回滚后结束软件的安装。如用户完成了整个拷贝过程,则记录当前计算机的状态后结束软件的安装。
[0069]本发明还涉及一种软件安装装置,如图5所示,图5为本发明的软件安装装置的第一优选实施例的结构示意图。该软件安装装置包括第一线程执行模块51、第二线程执行模块52、拷贝模块53以及状态记录模块54。第一线程执行模块51用于接收软件安装请求,并根据软件安装请求执行对软件的安装进行设置的操作;第二线程执行模块52用于接收软件安装请求,并根据软件安装请求执行将软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作;拷贝模块53用于将临时文件夹中的文件拷贝到安装目录;状态记录模块54用于对计算机的注册表信息进行修改,记录软件安装后的计算机状态。
[0070]其中拷贝模块53包括分组单元以及多线程拷贝单元。分组单元用于对临时文件夹中的文件进行分组处理,得到多组待拷贝文件;多线程拷贝单元用于将多组待拷贝文件多线程拷贝到安装目录,其中多线程拷贝单元优选使用单线程将一组待拷贝文件拷贝到安装目录。
[0071]本优选实施例的软件安装装置使用时,接收到用户的软件安装请求,第一线程执行模块51即会执行对软件的安装进行设置的操作;同时第二线程执行模块52将软件的安装包中的文件进行解压处理,并将解压后的文件拷贝到临时文件夹。
[0072]在第一线程执行模块51和第二线程执行模块52执行完毕后,拷贝模块53的分组单元即对临时文件夹中的文件进行分组处理,从而得到多组待拷贝文件。随后拷贝模块53的多线程拷贝单元将上述各组待拷贝文件多线程拷贝到软件的安装目录中,这里优选使用单线程将一组待拷贝文件拷贝到安装目录中。
[0073]最后,状态记录模块54对计算机的注册表信息进行修改,记录软件安装后的计算机的状态,这样即通过软件安装装置完成了该软件的安装。
[0074]本优选实施例中的软件安装装置的具体使用过程与上述的软件安装方法的第一优选实施例相同或相似,具体可参见上述软件安装方法的第一优选实施例的相关描述。
[0075]如图6所示,图6为本发明的软件安装装置的第二优选实施例的结构示意图。本优选实施例与第一优选实施例的区别在于,该软件安装装置还包括第三线程执行模块61和安装回滚模块62。该第三线程执行模块61用于执行备份计算机的当前状态的操作,以便于取消软件安装时的安装回滚;安装回滚模块62用于如取消软件的安装,则根据第三线程执行模块61备份的计算机的状态,执行安装回滚。
[0076]本优选实施例的软件安装装置使用时,第三线程执行模块61在接收到用户软件安装请求时即开始备份计算机的当前状态,可进一步的节省后续备份计算机的当前状态的时间。如在拷贝模块53将临时文件夹中的文件拷贝至安装目录的过程中,用户决定取消该软件的安装,则安装回滚模块62可根据第三线程执行模块61备份的计算机安装前的状态,执行安装回滚。
[0077]本优选实施例中的软件安装装置的具体使用过程与上述的软件安装方法的第二优选实施例相同或相似,具体可参见上述软件安装方法的第二优选实施例的相关描述。
[0078]本发明的软件安装方法以及软件安装装置通过多线程处理实现软件的快速安装,同时在安装过程中对安装文件进行分组多线程拷贝处理,进一步提升了软件安装速度;解决了现有的软件安装方法及软件安装装置的软件安装耗时较长,影响用户体验的技术问题。
[0079]综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
【权利要求】
1.一种软件安装方法,其特征在于,包括步骤: 接收软件安装请求,并根据所述软件安装请求同时启动第一线程以及第二线程,所述第一线程执行对软件的安装进行设置的操作,所述第二线程执行将所述软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作; 所述第一线程和所述第二线程执行完毕后,将所述临时文件夹中的文件拷贝到安装目录。
2.根据权利要求1所述的软件安装方法,其特征在于,所述第一线程和所述第二线程执行完毕后,将所述临时文件夹中的文件拷贝到安装目录的步骤具体包括: 所述第二线程执行完毕后,对所述临时文件夹中的文件进行分组处理,得到多组待拷贝文件;以及 所述第一线程执行完毕后,将所述多组待拷贝文件多线程拷贝到安装目录。
3.根据权利要求1所述的软件安装方法,其特征在于,所述软件安装方法还包括步骤: 接收软件安装请求,并根据所述软件安装请求同时启动第三线程,所述第三线程执行备份所述计算机的当前状态的操作。
4.根据权利要求2所述的软件安装方法,其特征在于,所述第一线程执行完毕后,将所述多组待拷贝文件多线程拷贝到安装目录的步骤中,使用单线程将一组所述待拷贝文件拷贝到所述安装目录。
5.根据权利要求3所述的软件安装方法,其特征在于,如取消所述软件的安装,则根据所述第三线程中备份的所述计算机的状态,执行安装回滚。
6.一种软件安装装置,其特征在于,包括: 第一线程执行模块,用于接收软件安装请求,并根据所述软件安装请求执行对软件的安装进行设置的操作; 第二线程执行模块,用于接收软件安装请求,并根据所述软件安装请求执行将所述软件的安装包中的文件进行解压,并将解压后的文件拷贝到临时文件夹的操作;以及拷贝模块,用于将所述临时文件夹中的文件拷贝到安装目录。
7.根据权利要求6所述的软件安装装置,其特征在于,所述拷贝模块包括: 分组单元,用于对所述临时文件夹中的文件进行分组处理,得到多组待拷贝文件;以及 多线程拷贝单元,用于将所述多组待拷贝文件多线程拷贝到安装目录。
8.根据权利要求6所述的软件安装装置,其特征在于,所述软件安装装置还包括: 第三线程执行模块,用于接收软件安装请求,并根据所述软件安装请求执行备份所述计算机的当前状态的操作。
9.根据权利要求7所述的软件安装装置,其特征在于,所述多线程拷贝单元使用单线程将一组所述待拷贝文件拷贝到所述安装目录。
10.根据权利要求8所述的软件安装装置,其特征在于,所述软件安装装置还包括: 安装回滚模块,用于如取消所述软件的安装,则根据所述第三线程执行模块备份的所述计算机的状态,执行安装回滚。
【文档编号】G06F9/445GK103677879SQ201210341447
【公开日】2014年3月26日 申请日期:2012年9月14日 优先权日:2012年9月14日
【发明者】童洋, 张艺弘 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1