一种软件升级的方法及软件升级装置与流程

文档序号:11215980阅读:424来源:国知局
本发明涉及软件管理
技术领域
:,尤其涉及一种软件安装的方法及软件升级装置。
背景技术
::随着计算机技术和网络技术的飞速发展,互联网技术在人们的日常生活、学习和工作中发挥的作用也越来越大。网络上各种软件层出不穷,也间接地促使了对软件管理的需求。其中,管理类软件是一种集软件下载和软件管理于一体的工具,其功能主要分为检测、下载、安装和卸载软件这四个部分。现有技术中,当需要对软件进行升级时,需要先退出该软件进程,再运行安装包,或者等到软件进程退出后再自动运行安装包,又或者是在启动软件进程前进行软件更新,更新过程中软件进程不能够启动。然而由于现有技术中的软件进程与安装进程之间是互斥的关系,两者不能同时存在。当用户正在使用的软件进程中尚有任务未完成时,一旦该软件出现有升级的要求,则需要用户先退出当前还有任务没完成的软件进程,然后升级成功后再继续未完成的任务,这样不但会耽误任务完成的时间,同时,还可能影响任务完成的质量,不利于用户体验。技术实现要素:本发明实施例提供了一种软件升级的方法及软件升级装置,可以在用户无感知的情况下完成目标软件升级,提升用户体验,也使得安装过程更为灵活。有鉴于此,本发明第一方面提供一种软件升级的方法,包括:获取目标软件的待安装数据包;当所述目标软件处于运行状态时,在所述目标软件的安装目录下安装所述待安装数据包,并生成所述待安装数据包对应的第一可执行程序;对所述安装目录下的第二可执行程序进行属性修改,并得到目标文件,所述目标文件为非可执行程序;当所述目标软件被关闭后,接收所述目标软件的启动指令;根据所述启动指令,启动所述第一可执行程序。第二方面,本方面实施例还提供一种软件升级装置,包括:获取模块,用于获取目标软件的待安装数据包;安装模块,用于当所述目标软件处于运行状态时,在所述目标软件的安装目录下安装所述获取模块获取的所述待安装数据包,并生成所述待安装数据包对应的第一可执行程序;修改模块,用于对所述安装目录下的第二可执行程序进行属性修改,并得到目标文件,所述目标文件为非可执行程序;接收模块,用于当所述目标软件被关闭后,接收所述目标软件的启动指令;启动模块,用于根据所述接收模块接收的所述启动指令,启动所述安装模块安装的所述第一可执行程序。第三方面,本方面实施例还提供一种软件升级装置,包括:存储器、收发器、处理器以及总线系统;其中,所述存储器用于存储程序;所述处理器用于执行所述存储器中的程序,具体如下步骤:获取目标软件的待安装数据包;当所述目标软件处于运行状态时,在所述目标软件的安装目录下安装所述待安装数据包,并生成所述待安装数据包对应的第一可执行程序;对所述安装目录下的第二可执行程序进行属性修改,并得到目标文件,所述目标文件为非可执行程序;当所述目标软件被关闭后,控制所述收发器接收所述目标软件的启动指令;根据所述启动指令,启动所述第一可执行程序。从以上技术方案可以看出,本发明实施例具有以下优点:本发明实施例中,提供了一种软件升级的方法,软件升级装置首先获取 目标软件的待安装数据包,当目标软件处于运行状态时,在目标软件的安装目录下安装待安装数据包,并生成待安装数据包对应的第一可执行程序,对安装目录下的第二可执行程序进行属性修改,并得到目标文件,目标文件为非可执行程序,当目标软件被关闭后,接收目标软件的启动指令,根据启动指令,启动第一可执行程序。通过上述方式进行目标软件的升级安装,可以在用户无感知的情况下,一边继续在原有进程中任务,一边在后台进行软件的升级安装,升级成功后,待系统重启时,会直接执行升级后的第一可执行程序,而原有的第二可执行程序因为属性的更改不会被运行,从而完成目标软件升级,提升用户体验,也使得安装过程更为灵活。附图说明图1为本发明实施例中软件升级的方法一个实施例示意图;图2为本发明实施例中软件升级的方法另一个实施例示意图;图3为本发明实施例中软件升级流程的示意图;图4为本发明实施例中软件安装流程的示意图;图5为本发明应用场景中软件升级界面(1)的显示示意图;图6为本发明应用场景中软件升级界面(2)的显示示意图;图7为本发明应用场景中软件升级界面(3)的显示示意图;图8为本发明应用场景中软件升级界面(4)的显示示意图;图9为本发明实施例中软件升级装置一个实施例示意图;图10为本发明实施例中软件升级装置一个实施例示意图;图11为本发明实施例中软件升级装置一个实施例示意图;图12为本发明实施例中软件升级装置一个实施例示意图;图13为本发明实施例中软件升级装置一个实施例示意图;图14为本发明实施例中软件升级装置一个实施例示意图;图15为本发明实施例中软件升级装置一个实施例示意图;图16为本发明实施例中软件升级装置一个实施例示意图;图17为本发明实施例中软件升级装置一个实施例示意图;图18为本发明实施例中软件升级装置一个结构示意图。具体实施方式本发明实施例提供了一种软件升级的方法及软件升级装置,可以在用户无感知的情况下完成目标软件升级,提升用户体验,也使得安装过程更为灵活。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。应理解,本发明实施例可以应用于不同的用户设备(英文全称:userequipment,英文缩写:ue),如手机、平板电脑或者个人电脑(英文全称:personalcomputer,英文缩写:pc)等设备,故此处不作限定。对于pc而言,在不同的操作环境下也可以实现本发明方案,例如在视窗操作系统2000(英文全称:windows2000)的环境下,或者是视窗操作系统体验版(英文全称:windowsexperience,英文缩写:windowsxp)的环境下,还可以是windows7或windows8的环境下,故此处不作限定。除此以外,该方案若是应用于手机,则不但可以应用于谷歌公司开发的操作系统(英文全称:android),还可以应用于苹果公司的移动操作系统(英文全称:appleoperatingsystem,英文缩写:ios),或者其他类型的操作系统,故此处不作限定。请参阅图1,本发明实施例中软件升级的方法一个实施例包括:101、获取目标软件的待安装数据包;本实施例中,软件升级装置可以获取目标软件的待安装数据包,目标软件为当前可以升级的软件,例如浏览器软件、聊天软件或者社交软件等,其待安装数据包中是目标软件的软件安装包,是可自行解压缩文件的集合,其 中包括软件安装的所有文件,运行这个待安装数据包,可以将此软件的所有的文件释放到硬盘上,完成修改注册表、修改系统设置和创建快捷方式等工作。102、当目标软件处于运行状态时,在目标软件的安装目录下安装待安装数据包,并生成待安装数据包对应的第一可执行程序;本实施例中,当目标软件正处于运行状态的时候,软件升级装置在该目标软件的安装目录下安装待安装数据包,此时,目标软件已经在后台进行升级处理,但是这个时候用户仍可以继续使用未升级的目标软件,且用户未感知新版本的目标软件已经升级完毕。软件升级装置在对目标软件升级完成后,会生成待安装数据包对应的第一可执行程序。103、对安装目录下的第二可执行程序进行属性修改,并得到目标文件,目标文件为非可执行程序;本实施例中,当目标软件的升级完成后,目标软件对应的旧版本运行程序就可以进行删除处理,以免占用系统内存。具体方式为,软件升级装置对安装目录下的目标软件原运行程序,即第二可执行程序,进行属性修改,修改后得到目标文件,其中,该目标文件是非执行程序,也就是失去的原有的运行目标软件的功能。104、当目标软件被关闭后,接收目标软件的启动指令;本实施例中,当目标软件被关闭后,用户需要再次使用该目标软件时,可通过输入设备向软件升级装置发送启动指令,软件升级装置接收到目标软件对应的启动指令。105、根据启动指令,启动第一可执行程序。本实施例中,软件升级装置根据接收到启动指令,启动对应的第一可执行程序,第一可执行程序是升级后目标软件对应的运行程序,就此完成了在用户没有感知的情况下,在后台对目标软件进行升级的过程。本发明实施例中,提供了一种软件升级的方法,软件升级装置首先获取目标软件的待安装数据包,当目标软件处于运行状态时,在目标软件的安装目录下安装待安装数据包,并生成待安装数据包对应的第一可执行程序,对 安装目录下的第二可执行程序进行属性修改,并得到目标文件,目标文件为非可执行程序,当目标软件被关闭后,接收目标软件的启动指令,根据启动指令,启动第一可执行程序。通过上述方式进行目标软件的升级安装,可以在用户无感知的情况下,一边继续在原有进程中任务,一边在后台进行软件的升级安装,升级成功后,待系统重启时,会直接执行升级后的第一可执行程序,而原有的第二可执行程序因为属性的更改不会被运行,从而完成目标软件升级,提升用户体验,也使得安装过程更为灵活。请参阅图2,本发明实施例中软件升级的方法另一个实施例包括:201、检测目标软件是否存在待安装数据包;本实施例中,软件升级装置在目标软件进程启动后开始检测当前是否存在待安装数据包。其中,进程既是操作系统结构的基础,又是一次程序的执行,还是一个程序及其数据在处理器上顺序执行时所发生的活动,也是在一个数据集合上运行的过程。它是系统进行资源分配和调度的一个独立单位。202、若目标软件存在待安装数据包,则下载待安装数据包;本实施例中,如果目标软件存在待安装数据包,则可以在后台下载该待安装数据包。步骤201与步骤202的具体过程可参阅图3,图3为本发明实施例中软件升级流程的示意图,如图所示:步骤301:通过用户发起进程开启指令,启动目标软件的进程;步骤302:正如步骤201检测目标软件是否存在待安装数据包这一操作,即在线检测是否存在新版本,在线检测的过程可以是持续性的检测,这样虽然能够更快地发现新版本,但是会占用较多的网络资源,因此可以设置为间歇性检测,比如每隔15分钟进行一次新版本的检测,如果检测到有新版本则进入步骤303,若没有新版本,则跳转至步骤305;步骤303:正如步骤202若目标软件存在待安装数据包,则下载待安装数据包所述,如果当前的目标软件存在新版本的待安装数据包,则直接下载该待安装数据包;步骤304:安装新版本的待安装数据包,且安装到默认路径下;步骤305如果当前的目标软件不存在新版本的待安装数据包,则退出软 件的升级,或者在某一个预置时间内不再进行软件升级的操作。203、获取目标软件的待安装数据包;本实施例中,在步骤304中,当安装新版本的待安装数据包,且安装到默认路径下,也就意味着软件升级装置获取到已完成下载的安装数据包。204、当目标软件处于运行状态时,在目标软件的安装目录下安装待安装数据包,并生成待安装数据包对应的第一可执行程序;本实施例中,步骤204与上述实施例中图1对应的步骤102类似,故此处不作赘述。205、对安装目录下的第二可执行程序进行属性修改,并得到目标文件,目标文件为非可执行程序;本实施例中,步骤205与上述实施例中图1对应的步骤103类似,故此处不作赘述。206、当目标软件被关闭后,接收目标软件的启动指令;本实施例中,步骤206与上述实施例中图1对应的步骤104类似,故此处不作赘述。207、根据启动指令,启动第一可执行程序。本实施例中,步骤207与上述实施例中图1对应的步骤105类似,故此处不作赘述。其次,本发明实施例中,还具体说明了软件升级装置获取目标软件的待安装数据包之前,检测目标软件是否存在待安装数据包,如果目标软件存在待安装数据包,则下载待安装数据包并进行后续的无感知升级。从而使得本发明方案在实际应用中的可操作性更强,并且也能体现本发明不需要用户对其进行升级安装等相关操作,方便快捷的完成软件升级,提升方案的实用性以及加强用户体验。可选地,在上述图1或图2对应的实施例的基础上,本发明实施例提供的软件升级的方法第一个可选实施例中,获取目标软件的待安装数据包之后,还可以包括:在安装目录下创建第一子目录;在目标软件的安装目录下安装待安装数据包,可以包括:在安装目录下的第一子目录安装待安装数据包。本实施例中,软件升级装置获取到目标软件的待安装数据包之后,先在安装目录下创建第一子目录,可以理解的是,我们可将安装目录作为父目录,那么子目录就是父目录里的一个目录,而子目录里还可以有子目录,因此子目录是没有限制的。例如在pc中,c:\是父目录,那么c:\windows就是c:\的子目录,而c:\windows\system32\就是c:\windows的子目录。在安装目录下建立完成第一子目录后,在安装目录下的第一子目录中安装待安装数据包。其次,本发明实施例中,在安装目录下先创建第一子目录,然后可以第一子目录下安装待安装数据包。一方面将待安装数据包中的所有文件归于第一子目录,便于一次性进行处理,比如可以直接通过删除子目录来删除待安装数据包,另一方面将待安装数据包放置于子目录里方便与其他文件进行区分,提升方案的可行性。可选地,在上述图1或图2对应的第一个实施例的基础上,本发明实施例提供的软件升级的方法第二个可选实施例中,安装目录中可以包括第一子目录以及第二子目录,其中,第一子目录对应于第一可执行程序,第二子目录对应于第二可执行程序,第二子目录用于存储目标软件的原数据。本实施例中,在安装目录中除了第一子目录以外,还包括了第二子目录,第一子目录中用于存储待安装数据包的内容,且第一子目录对应的是第一可执行程序,当运行第一可执行程序时,其数据来源于第一子目录。第二子目录中用于存储目标软件未升级前的原数据,且第二子目录对应于第二可执行程序,当前正在使用的目标软件是通过第二可执行程序运行的。可以理解的是,第一可执行程序既可以在第一子目录中保存,也可以自动从第一子目录中拷贝到安装目录,成为快捷方式,此处不作限定。再次,本发明实施例中,在安装目录下建立有第一子目录和第二子目录,而第一子目录和第二子目录分别存储了不同的数据,便于区别升级前与升级后的文件,再进行后续处理时有利于提高系统工作的效率,增加方案的可行性和可操作性。可选地,在上述图1或图2对应的第一个实施例的基础上,本发明实施 例提供的软件升级的方法第三个可选实施例中,还可以包括:当第二可执行程序的属性修改失败时,则删除第一子目录,并结束流程。本实施例中,软件升级装置会自动在后台对第二可执行程序进行属性修改,如果在属性修改的过程中出现操作中断或者操作失误,则说明第二可执行程序的属性修改失败,这个时候将删除第一子目录,根据上述实施例中所介绍的内容可知,第一子目录中包含了待安装数据包,因此删除的即为待安装数据包。再次,本发明实施例中,设定了一种情况,即当第二可执行程序的属性修改失败时,删除第一子目录,并结束流程。通过这样的方式进行软件升级,能够有效地防止第二可执行程序与第一可执行程序之间造成冲突,在第二可行性程序还为有效程序时,如果第一可执行程序也有效,就会发生冲突运行的情况。由此增强方案的实用性和灵活性,提升用户体验。可选地,在上述图1或图2对应的第一个实施例的基础上,本发明实施例提供的软件升级的方法第四个可选实施例中,在安装目录下创建第一子目录之后,还可以包括:在第一子目录下解压缩待安装数据包;当待安装数据包解压缩失败时,则删除第一子目录,并结束流程。本实施例中,软件升级装置在安装目录下创建了第一子目录之后,首先需要在第一子目录下解压缩待安装数据包,且当该待安装数据包解压缩失败时,会自动删除第一子目录,并结束相关流程。其中,解压缩就是将一个通过软件压缩的文档和文件等各种东西恢复到压缩之前的样子,这种形式以利于传输或存储。其原理就是利用压缩软件把二进制信息中相同的字符串以特殊字符标记来达到压缩的目。再次,本发明实施例中,当待安装数据包在第一子目录下解压缩失败时,会删除第一子目录,并结束流程。通过上述方式可以克服因为解压失败导致无效文件残留在磁盘空间里,并占用系统资源的情况,根据实际情况对解压失败的待安装数据包进行及时地删除可以有效的避免上述问题,从而使得方案的实用性更强,提升用户设备的性能。可选地,在上述图1或图2对应的实施例的基础上,本发明实施例提供 的软件升级的方法第五个可选实施例中,对安装目录下的第二可执行程序进行属性修改,可以包括:将安装目录下的第二可执行程序对应的第一后缀名更改为第二后缀名。本实施例中,软件升级装置对安装目录下的第二可执行程序进行属性修改的具体做法可以是,将安装目录下的第二可执行程序对应的第一后缀名更改为第二后缀名。其中,第二可执行程序就是旧版本所对应的可执行程序(英文全称:executableprogram,英文缩写:exe),第一后缀名也可以称为文件扩展名,即为.exe,第二后缀名是更改后的文件扩展名,例如可以将.exe更改为.exe.old,使得更改后的文件为不可执行文件,即为本发明中所指的目标文件。可以理解的是,文件的后缀名也称为文件扩展名,是操作系统用来标志文件类型的一种机制。通常来说,一个扩展名是跟在主文件名后面的,由一个分隔符分隔。在一个像“读我.txt”的文件名中,读我是主文件名,.txt为扩展名(文本或外语全称:text),表示这个文件被认为是一个纯文本文件。扩展名可以被认为是一个类型的元数据,一些文件系统限制扩展的长度,如个人计算机磁盘操作系统和微软磁盘操作系统上的文件配置表(英文全称:fileallocationtable,英文缩写:fat)文件系统不允许超过三个字符,,国际商业机器公司)或万国商业机器公司(英文全称:internationalbusinessmachinescorporation,英文缩写:ibm)的虚拟机(英文全称:virtualmanufacturing,英文缩写:vm)/内容管理系统(英文全称:contentmanagementsystem,英文缩写:cms)不允许超过八个字符,而其他的比如新技术文件系统(英文全称:newtechnologyfilesystem,英文缩写:ntfs)则不限制。其次,本发明实施例中,具体提出了一种如何修改第二可执行程序属性的方式,可以通过修改第二可执行程序的后缀名来实现该功能。而修改后缀名不但能够更改第二可执行程序的属性,还可以根据实际需要对其进行灵活的属性配置,与此同时,更改后缀的方式简单有效,不需要占用过多的计算资源来实现该效果,提升了方案的实用性。可选地,在上述图1或图2对应的第一至第五个实施例中任一个实施例 的基础上,本发明实施例提供的软件升级的方法第六个可选实施例中,根据启动指令,启动第一可执行程序之后,还可以包括:删除目标文件以及第二子目录。本实施例中,当用户重启目标软件的进程时,则根据用户触发的启动指令启动第一可执行程序,且系统运行新版本的目标软件。那么这个时候,对应旧版本的文件而言,则可以进行删除处理,删除目标文件以及第二子目录。其中,目标文件就是上述图1对应的第五个可选实施例中提及的经过后缀名修改后的不可执行文件,第二子目录则是储存了目标软件未升级前的原数据。因为已经可以成功使用新版本的目标软件了,于是这些旧版本的内容可被删除,从而释放系统空间。进一步地,本发明实施例中,在软件升级装置接收启动指令并执行第一可执行程序之后,自动删除目标文件以及第二子目录。由此可以及时地为系统“瘦身”,增加系统容量,不占用过多的空间,提升资源利用率,加强本发明方案的灵活性和实用性。可选地,在上述图1或图2对应的第二个实施例的基础上,本发明实施例提供的软件升级的方法第七个可选实施例中,启动第一可执行程序之后,还可以包括:若第一可执行程序运行失败,则将目标文件还原为第二可执行程序,并执行第二可执行程序。本实施例中,在启动第一可执行程序之后,如果发生第一可执行程序运行失败,则将目标文件进行还原,得到第二可执行程序。换言之,也就是当新版本的目标软件运行失败时,则可以运行旧版本的目标软件,而不会因为升级失败导致无法使用该目标软件的情况。其中,第二可执行程序就是旧版本所对应的可执行程序,将目标文件还原为第二可执行程序,具体可以是,将第二后缀名再更改为第一后缀名,例如第二后缀名为.exe.old,它指示一个不可执行的程序,因此需要将.exe.old.,更改为.exe,从而可以执行第二可执行文件。进一步地,本发明实施例中,提供了一种当第一可执行程序运行失败时的备选方案,若第一可执行程序不能正常运行时,则软件升级装置自动将目 标文件又还原为第二可执行程序,并且用户通过打开第二可执行程序来开启旧版本的目标软件。通过上述方式进行软件升级,避免了因为特殊情况导致目标软件无法运行的情况,即便安装失败,也会自动恢复到旧版本,不影响旧版本的正常使用,从而增加的方案的灵活性。可选地,在上述图1或图2对应的第七个实施例的基础上,本发明实施例提供的软件升级的方法第八个可选实施例中,执行第二可执行程序之后,还可以包括:删除第一可执行程序以及第一子目录。本实施例中,在图1或图2对应的第七个实施例的基础上,可以知道如果第一可执行程序运行失败,则将目标文件还原为第二可执行程序,并执行第二可执行程序,最后将删除第一可执行程序和第一子目录。当第一可执行程序运行失败也就意味着本次目标软件的升级并没有成功,可以在这个时候自动删除第一可执行程序以及对应的第一子目录,回退到旧版本。以下将具体介绍整个目标软件安装的过程,请参阅图4,图4为本发明实施例中软件安装流程的示意图,如图所示,我们将详细地进行介绍:步骤401:开启目标软件,如果这个时候后台检测到该目标软件具有新版本可以下载,于是开始下载目标软件对应的新版本待安装数据包,就此也开启了安装进程;步骤402:新版本的待安装数据包下载成功后,软件升级装置在安装目录下创建9.*.*.*的子目录;步骤403:再将待安装数据包解压缩到9.*.*.*的子目录中;步骤404:解压的过程中可能会出现解压异常或者其他形式的错误,于是在这一步骤中需要对解压缩是否成功进行检测,如果解压缩成功,则继续步骤405,反之,若解压缩失败,则跳转至步骤410;步骤405:如果步骤404解压缩成功,则将旧版本对应的可执行文件进行重命名处理,例如可以将.exe重命名为.exe.old;步骤406:当然,在步骤405的重命名过程中同样可能遇到重命名异常,或者是其他形式的问题,于是这一步骤中需要对重命名是否成功进行检测,如果重命名成功,则继续步骤407,反之,如果解压缩失败,则跳转至步骤 410;步骤407:如果对旧版本的可执行程序重命名成功,则将9.*.*.*子目录下的可执行程序,即以.exe为后缀的文件被拷贝至安装目录下,与子目录位于同一层,方便用户选择;步骤408:在后台进行安装相关的操作,例如设置防火墙、注册表和快捷方式等,防火墙是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过,注册表用于存储系统和应用程序的设置信息;步骤409:就此,目标软件的升级安装全部完成,升级成功;步骤410:无论是步骤404在解压缩时发生解压缩失败,还是步骤406在旧版本可执行程序的重命名失败,都将进行本步骤,即删除9.*.*.*子目录;步骤411:在步骤410删除了9.*.*.*子目录后,意味着升级安装失败,这个时候可以退回到旧版本的目标软件,等到下次开启目标软件时,依旧为旧版本的内容,但是对于目标软件的后台升级仍然可以参考步骤401至411所述的过程来实现。更进一步地,本发明实施例中,在第一可执行程序不能正常运行时,自动将目标文件又还原为第二可执行程序,并且通过第二可执行程序来开启旧版本的目标软件之后,还可以删除第一可执行程序以及第一子目录,从而达到节省系统资源的效果,提升计算效率,增强用户体验。为便于理解,下面以一个具体应用场景对本发明中一种软件升级的方法进行详细描述,具体为:用户甲在自己的pc上下载了腾讯浏览器使用,用户甲习惯性的每天在腾讯浏览器中搜索财经新闻。当这次用户甲再次开启腾讯浏览器时,在他无感知的情况下,浏览器后台检测到已经出现了新版本内容可以下载,其版本号为9.3.6438.400。请参阅图5,图5为本发明应用场景中软件升级界面(1)的显示示意图,如图所示,在软件升级装置启动了待安装数据包进程,获取了该待安装数据包的版本,并在当前安装目录c:\programfiles(×86)/tencent/qqbrower下创建了子目录,也可以理解为是子文件夹,名称即为新版本号9.3.6438.400。此时,再将待安装数据包中的文件解压到新的子文件夹9.3.6438.400中,具体请参阅图6,图6为本发明应用场景中软件升级界面(2)的显示示意图,当然如果解压失败,则会删除新生成的子文件夹9.3.6438.400,并且直接退出升级的流程,相反地,如果解压成功,那么子文件夹9.3.6438.400中就包含了所有完整的安装程序,当然,也包括了可执行程序。因为旧版本9.3.6400.400对应一个可执行程序,而新版本9.3.6438.400也对应一个可执行程序,这就需要把旧版本的可执行程序处理为不可执行程序才能保证新版本的正常运行。更改旧版本的可执行程序具体做法可以是,将按照目录下原理的exe文件进行重命名,得到命名后的exe.old,如图7所示,图7为本发明应用场景中软件升级界面(3)的显示示意图,不难看出,图标qqbrower.exe.old已经是更改后的文件了,此时它已不能被正常运行。可以理解的是,在旧版本运行的情况下,仍旧可以重命名成功,并不需要退出安装进程。无可避免的情况下,可能会出现对旧版本的可执行文件重命名失败,这个时候还是可以将新创建的子文件夹9.3.6438.400进行删除,且说明安装失败。如果重命名成功,那么会在系统重启后,自动删除旧版本9.3.6400.400对应的qqbrower.exe.old文件以及其他相关的数据。将子文件夹中的exe程序拷贝到安装目录下,请参阅图8,图8为本发明应用场景中软件升级界面(4)的显示示意图,用户甲重新开启腾讯浏览器进程时,只能通过更新后的exe打开,并加载新目录9.3.6438.400下的文件。而旧版本的qqbrower.exe.old文件不能被打开,或者,直接删除了qqbrower.exe.old文件。下面对本发明中的软件升级装置进行详细描述,请参阅图9,本发明实施例中的软件升级装置,包括:获取模块501,用于获取目标软件的待安装数据包;安装模块502,用于当所述目标软件处于运行状态时,在所述目标软件的安装目录下安装所述获取模块501获取的所述待安装数据包,并生成所述待安装数据包对应的第一可执行程序;修改模块503,用于所述安装模块502生成所述待安装数据包对应的第一 可执行程序之后,对所述安装目录下的第二可执行程序进行属性修改,并得到目标文件,所述目标文件为非可执行程序;接收模块504,用于修改模块503对所述安装目录下的第二可执行程序进行属性修改之后,当所述目标软件被关闭后,接收所述目标软件的启动指令;启动模块505,用于根据所述接收模块504接收的所述启动指令,启动所述安装模块安装的所述第一可执行程序。本实施例中,获取模块501获取目标软件的待安装数据包,当目标软件处于运行状态时,安装模块502在目标软件的安装目录下安装获取模块501获取的待安装数据包,并生成待安装数据包对应的第一可执行程序,安装模块502生成待安装数据包对应的第一可执行程序之后,修改模块503对安装目录下的第二可执行程序进行属性修改,并得到目标文件,目标文件为非可执行程序,修改模块503对安装目录下的第二可执行程序进行属性修改之后,当目标软件被关闭后,接收模块504接收目标软件的启动指令,启动模块505根据接收模块504接收的启动指令,启动安装模块安装的第一可执行程序。本发明实施例中,提供了一种软件升级的方法,软件升级装置首先获取目标软件的待安装数据包,当目标软件处于运行状态时,在目标软件的安装目录下安装待安装数据包,并生成待安装数据包对应的第一可执行程序,对安装目录下的第二可执行程序进行属性修改,并得到目标文件,目标文件为非可执行程序,当目标软件被关闭后,接收目标软件的启动指令,根据启动指令,启动第一可执行程序。通过上述方式进行目标软件的升级安装,可以在用户无感知的情况下,一边继续在原有进程中任务,一边在后台进行软件的升级安装,升级成功后,待系统重启时,会直接执行升级后的第一可执行程序,而原有的第二可执行程序因为属性的更改不会被运行,从而完成目标软件升级,提升用户体验,也使得安装过程更为灵活。可选地,在上述图9对应的实施例的基础上,请参阅图10发明实施例提供的软件升级装置50的另一实施例中,软件升级装置50还包括:检测模块506,用于所述获取模块501获取目标软件的待安装数据包之前,检测所述目标软件是否存在所述待安装数据包;下载模块507,用于若所述检测模块506检测到所述目标软件存在所述待安装数据包,则下载所述待安装数据包。其次,本发明实施例中,还具体说明了软件升级装置获取目标软件的待安装数据包之前,检测目标软件是否存在待安装数据包,如果目标软件存在待安装数据包,则下载待安装数据包并进行后续的无感知升级。从而使得本发明方案在实际应用中的可操作性更强,并且也能体现本发明不需要用户对其进行升级安装等相关操作,方便快捷的完成软件升级,提升方案的实用性以及加强用户体验。可选地,在上述图9对应的实施例的基础上,请参阅图11发明实施例提供的软件升级装置50的另一实施例中,软件升级装置50还包括:创建模块508,用于所述获取模块501获取目标软件的待安装数据包之后,在所述安装目录下创建第一子目录;所述安装模块502包括:安装单元5021,用于在所述安装目录下的所述第一子目录安装所述待安装数据包。其次,本发明实施例中,在安装目录下先创建第一子目录,然后可以第一子目录下安装待安装数据包。一方面将待安装数据包中的所有文件归于第一子目录,便于一次性进行处理,比如可以直接通过删除子目录来删除待安装数据包,另一方面将待安装数据包放置于子目录里方便与其他文件进行区分,提升方案的可行性。可选地,在上述图9对应的实施例的基础上,在本发明实施例中,安装目录中包括所述第一子目录以及第二子目录,其中,所述第一子目录对应于所述第一可执行程序,所述第二子目录对应于所述第二可执行程序,所述第二子目录用于存储所述目标软件的原数据。再次,本发明实施例中,在安装目录下建立有第一子目录和第二子目录,而第一子目录和第二子目录分别存储了不同的数据,便于区别升级前与升级后的文件,再进行后续处理时有利于提高系统工作的效率,增加方案的可行性和可操作性。可选地,在上述图11对应的实施例的基础上,请参阅图12发明实施例 提供的软件升级装置50的另一实施例中,软件升级装置50还包括:第一删除模块509,用于当所述第二可执行程序的属性修改失败时,则删除所述第一子目录,并结束流程。再次,本发明实施例中,设定了一种情况,即当第二可执行程序的属性修改失败时,删除第一子目录,并结束流程。通过这样的方式进行软件升级,能够有效地防止第二可执行程序与第一可执行程序之间造成冲突,在第二可行性程序还为有效程序时,如果第一可执行程序也有效,就会发生冲突运行的情况。由此增强方案的实用性和灵活性,提升用户体验。可选地,在上述图11对应的实施例的基础上,请参阅图13发明实施例提供的软件升级装置50的另一实施例中,软件升级装置50还包括:解压模块510,用于所述创建模块508在所述安装目录下创建第一子目录之后,在所述第一子目录下解压缩所述待安装数据包;第二删除模块511,用于当所述解压模块510解压所述待安装数据包解压缩失败时,则删除所述第一子目录,并结束流程。再次,本发明实施例中,当待安装数据包在第一子目录下解压缩失败时,会删除第一子目录,并结束流程。通过上述方式可以克服因为解压失败导致无效文件残留在磁盘空间里,并占用系统资源的情况,根据实际情况对解压失败的待安装数据包进行及时地删除可以有效的避免上述问题,从而使得方案的实用性更强,提升用户设备的性能。可选地,在上述图9对应的实施例的基础上,请参阅图14发明实施例提供的软件升级装置50的另一实施例中,所述修改模块503包括:更新单元5031,用于将所述安装目录下的所述第二可执行程序对应的第一后缀名更改为第二后缀名。其次,本发明实施例中,具体提出了一种如何修改第二可执行程序属性的方式,可以通过修改第二可执行程序的后缀名来实现该功能。而修改后缀名不但能够更改第二可执行程序的属性,还可以根据实际需要对其进行灵活的属性配置,与此同时,更改后缀的方式简单有效,不需要占用过多的计算资源来实现该效果,提升了方案的实用性。可选地,在上述图11、12或13对应的实施例的基础上,请参阅图15发明实施例提供的软件升级装置50的另一实施例中,软件升级装置50还包括:第三删除模块512,用于所述启动模块505根据所述启动指令,启动所述第一可执行程序之后,删除所述目标文件以及所述第二子目录。进一步地,本发明实施例中,在软件升级装置接收启动指令并执行第一可执行程序之后,自动删除目标文件以及第二子目录。由此可以及时地为系统“瘦身”,增加系统容量,不占用过多的空间,提升资源利用率,加强本发明方案的灵活性和实用性。可选地,在上述图9对应的实施例的基础上,请参阅图16发明实施例提供的软件升级装置50的另一实施例中,还原模块513,用于所述启动模块505启动所述第一可执行程序之后,若所述第一可执行程序运行失败,则将所述目标文件还原为所述第二可执行程序,并执行所述第二可执行程序。进一步地,本发明实施例中,提供了一种当第一可执行程序运行失败时的备选方案,若第一可执行程序不能正常运行时,则软件升级装置自动将目标文件又还原为第二可执行程序,并且用户通过打开第二可执行程序来开启旧版本的目标软件。通过上述方式进行软件升级,避免了因为特殊情况导致目标软件无法运行的情况,即便安装失败,也会自动恢复到旧版本,不影响旧版本的正常使用,从而增加的方案的灵活性。可选地,在上述图16对应的实施例的基础上,请参阅图17发明实施例提供的软件升级装置50的另一实施例中,第四删除模块514,用于所述还原模块513执行所述第二可执行程序之后,删除所述第一可执行程序以及所述第一子目录。更进一步地,本发明实施例中,在第一可执行程序不能正常运行时,自动将目标文件又还原为第二可执行程序,并且通过第二可执行程序来开启旧版本的目标软件之后,还可以删除第一可执行程序以及第一子目录,从而达到节省系统资源的效果,提升计算效率,增强用户体验。本发明实施例还提供了另一种图像显示控制装置,如图18所示,为了便 于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为手机为例:图18示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图18,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图18中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图18对手机的各个构成部件进行具体的介绍:rf电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,rf电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,英文缩写:gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文缩写:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:longtermevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,英文缩写:sms)等。存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可 存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(英文全称:liquidcrystaldisplay,英文缩写:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文缩写:oled)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经rf电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。wifi属于短距离无线传输技术,手机通过wifi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了wifi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。手机还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。在本发明实施例中,该终端所包括的处理器680还具有以下功能:获取目标软件的待安装数据包;当所述目标软件处于运行状态时,在所述目标软件的安装目录下安装所述待安装数据包,并生成所述待安装数据包对应的第一可执行程序;对所述安装目录下的第二可执行程序进行属性修改,并得到目标文件,所述目标文件为非可执行程序;当所述目标软件被关闭后,控制所述输入单元630接收所述目标软件的启动指令;根据所述启动指令,启动所述第一可执行程序。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1