1.本发明涉及软件开发技术领域,具体涉及一种软件升级方法、软件升级装置及终端设备。
背景技术:2.随着网络技术的发展,软件在人们日常生活中的应用越来越广泛。而软件在创造出来后多多少少都会存在一些漏洞,因此,在使用过程中就需要不断地对软件进行升级优化,以修复存在的漏洞。
3.目前,用户打开一个软件时,软件内可能会包含有多个预设功能,当软件升级时,需要对软件的全部功能进行升级,等全部升级完所有功能后该软件才能重新启用。而用户在使用这种软件升级方式时,就需要等待较长时间去下载所有功能包,导致软件升级的效率明显降低。
技术实现要素:4.本发明提供一种软件升级方法、软件升级装置及终端设备,以提高软件的升级效率。
5.根据第一方面,一种实施例中提供一种软件升级方法,包括在检测到执行目标功能的操作指令时,判断所述目标功能对应的功能包是否满足预设条件;
6.若所述功能包满足预设条件,判断所述功能包是否需要升级;
7.若是,则升级所述功能包,并运行升级后的功能包,以执行所述目标功能。
8.在一种可能实现的实施例中,所述目标功能对应的功能包是最小单位的功能包,所述最小单位的功能包为不可再继续拆分的功能包。
9.在一种可能实现的实施例中,所述在检测到执行目标功能的操作指令之前,包括:
10.在人机交互界面上设置有多个虚拟按键供用户选取;所述虚拟按键用于运行对应的功能包以执行对应的功能或者启动下一级菜单;
11.在检测到选取一个虚拟按键的指令时,判断选取的虚拟按键是否用于运行功能包,若是则将所述选取的虚拟按键对应的功能包确定为用户选取的目标功能;否则启动下一级菜单,基于用户在所述下一级菜单的操作确定选取的目标功能。
12.在一种可能实现的实施例中,所述判断所述功能包是否需要升级,包括:
13.从预设的服务器中获取所述功能包的日期标签,所述日期标签用于体现所述功能包发布的先后顺序;
14.将本地的所述功能包的日期标签与所述服务器中所述功能包的日期标签进行对比,若两个所述日期标签不同,则确定所述功能包需要升级;若两个所述日期标签相同,则确定所述功能包不需要升级。
15.在一种可能实现的实施例中,在所述判断所述功能包是否需要升级之后,还包括:
16.若所述功能包需要升级,则向用户发送升级提示信息;
17.若接收到用户发送的不进行升级的确认指令,运行当前的所述功能包,以执行所述目标功能。
18.根据第二方面,一种实施例中提供一种软件升级装置,包括:
19.第一判断模块,用于在检测到执行目标功能的操作指令时,判断所述目标功能对应的功能包是否满足预设条件;
20.第二判断模块,用于若所述功能包满足预设条件,判断所述功能包是否需要升级;
21.升级模块,用于若所述功能包需要升级,则升级所述功能包,并运行升级后的功能包,以执行所述目标功能。
22.在一种可能实现的实施例中,所述预设条件包括:
23.所述目标功能对应的功能包是最小单位的功能包,所述最小单位的功能包为不可再继续拆分的功能包。
24.在一种可能实现的实施例中,所述装置还包括:
25.设置模块,用于在人机交互界面上设置有多个虚拟按键供用户选取;所述虚拟按键用于启动功能包或者启动下一级菜单;
26.第三判断模块,用于在检测到选取一个虚拟按键的指令时,判断选取的虚拟按键是否用于启动功能包,若是则将所述选取的虚拟按键对应的功能包确定为用户选取的目标功能;否则启动下一级菜单,基于用户在所述下一级菜单的操作确定选取的目标功能。
27.根据第三方面,一种实施例中提供一种终端设备,包括:
28.中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
29.所述存储器为短暂存储存储器或持久存储存储器;
30.所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行上述的软件升级方法。
31.根据第四方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现上述的软件升级方法。
32.据上述实施例的一种软件升级方法,系统在检测到用户执行目标功能的指令时,对目标功能对应的功能包进行判断,看其是否满足预设条件,如果选取的功能包满足预设条件,则进一步判断该功能包是否需要升级,如果判断结果为是,则升级该功能包,并运行升级后的功能包,以便于执行目标功能,通过采用这种软件升级方法,能够有效提高了软件的升级效率。
附图说明
33.图1为本发明提供的软件升级方法的一种实施例的流程图;
34.图2为本发明提供的软件升级方法的另一种实施例的流程图;
35.图3为本发明提供的判断功能包是否需要升级的一种实施例的流程图;
36.图4为本发明提供的功能包升级提醒的一种实施例的流程图;
37.图5为本发提供的软件升级装置的示意图;
38.图6为本发提供的终端设备的示意图。
39.附图标记:100、第一判断模块;200、第二判断模块;300、升级模块;400、中央处理器;401、存储器;402、电源;403、有线或无线网络接口;404、输入输出接口。
具体实施方式
40.下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本技术能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本技术相关的一些操作并没有在说明书中显示或者描述,这是为了避免本技术的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
41.另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
42.本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本技术所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
43.现有技术中,用户一般对软件进行升级时,系统会自动默认将该软件的所有功能一起升级,这种升级方式升级时间较长,导致软件的升级效率降低,因此,需要发明一种能够提高软件升级效率的软件升级方法、具备软件升级能力的系统及终端设备。
44.实施例1
45.如图1所示,本发明实施例提供的一种软件升级方法包括如下步骤:
46.步骤1:在人机交互界面上设置有多个虚拟按键供用户选取;所述虚拟按键用于运行对应的功能包以执行对应的功能或者启动下一级菜单。
47.请参考图2,例如功能包可以是机油保养功能包、刹车排气功能包、节气门匹配功能包、防盗钥匙匹配功能包、方向盘校准功能包、胎压学习功能包等,上述功能包分别用于执行机油保养功能、刹车排气功能、节气门匹配功能、防盗钥匙匹配功能、方向盘校准功能、胎压学习功能等。
48.本发明提供的软件(应用程序)能够在安装该软件的终端设备的显示器20上显示人机交互界面,其中人机交互界面上显示有多个预设的功能模块,用户可以基于人机交互界面选取任意的功能模块。
49.步骤2:在检测到选取一个虚拟按键的指令时,判断选取的虚拟按键是否用于运行功能包,若是则执行步骤21:将所述选取的虚拟按键对应的功能包确定为用户选取的目标功能;否则执行步骤22:启动下一级菜单,基于用户在所述下一级菜单的操作确定选取的目标功能。
50.在实际应用当中,显示器20上的人机交互界面会设置有多个虚拟按键,用户通过对虚拟按键的选取来实现对功能包的启动。当用户点开虚拟按键后,软件后台接收到选取一个虚拟按键的指令时,判断虚拟按键是否能够运行功能包,如果可以直接进入功能包,然后软件后台可以判断该功能包是否是用户选取的目标功能,是否需要升级;否则,该虚拟按键用于启动下一级菜单,在下一级菜单中显示有多个虚拟按键,然后用户点击任一虚拟按键,则该虚拟按键对应的功能包被选取,再通过软件后台对该功能包是否需要升级进行判
断。例如,控制面板上设置有多个快捷键,一个快捷键对应一个功能包,快捷键被按下,则发出启动该快捷键对应的功能包的指令,处理器对该快捷键对应的功能包是否具有新版本进行判断。也可以是快捷键被按下,启动下一级菜单,该下一级菜单中又显示多个子按键,一个子按键对应一个功能包,子按键被按下,则发出启动该子按键对应的功能包,处理器对该子按键对应的功能包是否具有新版本进行判断。
51.步骤3:在检测到执行目标功能的操作指令时,判断目标功能对应的功能包是否满足预设条件。具体的,该预设条件包括:目标功能对应的功能包是最小单位的功能包,最小单位的功能包为不可再继续拆分的功能包。
52.请参考图1,预设软件的代码可以识别用户选取的功能模块是否属于最小单位功能包,比如,每个功能包都在软件代码中有做标记,当用户选取的功能包的标记与预设的最小单位功能包的标记相匹配的时候,说明该功能包是一个不可分割的功能包即最小单位功能包。
53.步骤4:若所述功能包满足预设条件,判断所述功能包是否需要升级。
54.当功能包满足预设条件,即当用户选取的功能包为不可再继续拆分的功能软件包即最小单位功能包时,判断该功能包是否需要升级。
55.步骤5:若是,则升级所述功能包,并运行升级后的功能包,以执行所述目标功能。
56.当判断该功能包需要升级时,提醒用户升级该功能包,并运行升级后的功能包,删除原来旧的功能包。
57.作为本实施例的进一步改进,请参考图4,在判断功能包是否需要升级之后,还包括:
58.步骤6:若功能包需要升级,则向用户发送升级提示信息;
59.在判断所选取的功能包是否需要升级后,系统会向用户发送提示信息,以提醒用户对功能包进行升级,例如,系统会向显示界面弹出消息对话框,用户可以点击该消息对话框直接进入功能包界面,进而选择是否需要对功能包进行升级。
60.步骤7:若接收到用户发送的不进行升级的确认指令,运行当前的功能包,以执行目标功能。
61.当用户接收到升级提醒后,用户选择不升级,系统会接收到用户发送的不进行升级的确认指令,系统会继续运行当前的功能包,以执行目标功能。
62.作为本实施例的一种实施方式,具体的,请参考图3,当判断功能包是否需要升级时,可以采用以下方法进行判断:
63.步骤41:从预设的服务器中获取功能包的日期标签,日期标签用于体现所述功能包发布的先后顺序。本实施例中的日期标签可以是日期本身,例如,本地的功能包对应的安装包会有一个下载或升级的版本日期,服务器中的该功能包对应的安装包也会有一个的版本日期。又例如,本地的功能模块对应的安装包会有一个版本号,服务器中的该功能包对应的安装包也会有一个版本号。只要能够用于体现安装包发布的先后顺序即可。
64.步骤42:将本地的所述功能包的日期标签与所述服务器中所述功能包的日期标签进行对比,若两个所述日期标签不同,则执行步骤421:确定所述功能包需要升级。
65.具体的,将服务器中的该功能包对应的安装包的日期标签与本地软件中的功能包对应的安装包的日期标签进行对比,当服务器中功能包安装包的日期标签与本地软件中的
功能包安装包的日期标签不同,并且判断出服务器中功能包安装包的日期标签靠后于本地软件中的功能包安装包的日期标签,则下载服务器中的功能包安装包,同时删除本地软件中原来的功能包安装包,最后启用下载后(即升级后)的功能包。
66.若两个所述日期标签相同,则执行步骤422:确定所述功能包不需要升级。
67.此外,作为另外一种实施方式,在判断所选取的功能包是否需要升级,也可以通过判断该选取的功能包是否出现过报错的情况来实现。例如,判断所选取的功能包是否出现过报错,若是则确定需要升级,否则不需要升级。当然,还可以将报错和日期标签综合起来判断,例如,选取的功能包出现过报错或者日期标签与服务器中的不同,则需要升级;选取的功能包没有出现过报错且日期标签与服务器中的相同,则不需要升级。
68.实施例2
69.本发明提供的一种软件升级装置,请参考图5,包括:第一判断模块100、第二判断模块200以及升级模块300,其中,第一判断模块100用于在检测到执行目标功能的操作指令时,判断所述目标功能对应的功能包是否满足预设条件;第二判断模块200用于若所述功能包满足预设条件,判断所述功能包是否需要升级;升级模块300用于若所述功能包需要升级,则升级所述功能包,并运行升级后的功能包,以执行所述目标功能。
70.具体的,用户在选取一个目标功能时,第一判断模块100接收到执行目标功能的操作指令后,判断该目标功能对应的功能包是否具备升级的条件,当第一判断模块100判断结果为是时,即用户选取的目标功能对应的功能包具备升级的条件,然后通过第二判断模块200对该功能包是否需要升级进行判断,当第二判断模块200判断结果为是时,则升级该功能包,升级成功的功能包即可正常运行,并能够执行目标功能。
71.另外,本实施例的软件升级装置还包括设置模块,设置模块用于在人机交互界面(可以是显示器)上设置有多个虚拟按键,用户可以通过对虚拟按键的选取来实现对功能包101的启动或者启动下一级菜单。当用户点开虚拟按键后,软件后台接收到选取一个虚拟按键的指令时,判断虚拟按键是否能够运行功能包,如果可以,则确定该虚拟按键对应的功能包为用户选取的目标功能,然后直接进入功能包,然后软件后台通过第一判断模块100判断该功能包是否具备升级的条件,再通过第二判断模块200该功能包是否需要升级;如果不可以直接进入功能包,则该虚拟按键用于启动下一级菜单,在下一级菜单中显示有多个虚拟按键,然后用户点击任一虚拟按键,则该虚拟按键对应的功能包被选取,再通过判断模块对该功能包是否需要升级进行判断。例如,控制面板上设置有多个快捷键,一个快捷键对应一个功能包,快捷键被按下,则发出启动该快捷键对应的功能包的指令,第一判断模块100接收到该指令,并对该快捷键对应的功能包是否具备升级的条件进行判断,当判断结果为是后,启动第二判断模块200,通过第二判断模块200对该功能包是否需要升级进行判断。
72.其中,上述实施例中所提到的预设条件包括:目标功能对应的功能包是最小单位的功能包,最小单位的功能包为不可再继续拆分的功能包。具体的,预设软件的代码可以识别用户选取的功能模块是否属于最小单位功能包,比如,每个功能包都在软件代码中有做标记,当用户选取的功能包的标记与预设的最小单位功能包的标记相匹配的时候,说明该功能包是一个不可分割的功能包即最小单位功能包。
73.当功能包满足预设条件,即当用户选取的功能包为不可再继续拆分的功能软件包即最小单位功能包时,判断该功能包是否需要升级,具体包括:从预设的服务器中获取功能
包的日期标签,日期标签用于体现所述功能包发布的先后顺序。本实施例中的日期标签可以是日期本身,例如,本地的功能包对应的安装包会有一个下载或升级的版本日期,服务器中的该功能包对应的安装包也会有一个的版本日期。又例如,本地的功能模块对应的安装包会有一个版本号,服务器中的该功能包对应的安装包也会有一个版本号。只要能够用于体现安装包发布的先后顺序即可。
74.在服务器中获取功能包的日期标签后,将本地的所述功能包的日期标签与服务器中所述功能包的日期标签进行对比,若两个所述日期标签不同,则确定所述功能包需要升级。
75.具体的,将服务器中的该功能包对应的安装包的日期标签与本地软件中的功能包对应的安装包的日期标签进行对比,当服务器中功能包安装包的日期标签与本地软件中的功能包安装包的日期标签不同,并且判断出服务器中功能包安装包的日期标签靠后于本地软件中的功能包安装包的日期标签,则下载服务器中的功能包安装包,同时删除本地软件中原来的功能包安装包,最后启用下载后(即升级后)的功能包。
76.若两个所述日期标签相同,则确定所述功能包不需要升级。
77.此外,作为另外一种实施方式,在判断所选取的功能包是否需要升级,也可以通过判断该选取的功能包是否出现过报错的情况来实现。例如,判断所选取的功能包是否出现过报错,若是则确定需要升级,否则不需要升级。当然,还可以将报错和日期标签综合起来判断,例如,选取的功能包出现过报错或者日期标签与服务器中的不同,则需要升级;选取的功能包没有出现过报错且日期标签与服务器中的相同,则不需要升级。
78.在判断功能包是否需要升级之后,还包括:若功能包需要升级,则向用户发送升级提示信息。
79.在判断所选取的功能包是否需要升级后,系统会向用户发送提示信息,以提醒用户对功能包进行升级,例如,系统会向显示界面弹出消息对话框,用户可以点击该消息对话框直接进入功能包界面,进而选择是否需要对功能包进行升级。
80.若接收到用户发送的不进行升级的确认指令,运行当前的功能包,以执行目标功能。当用户接收到升级提醒后,用户选择不升级,系统会接收到用户发送的不进行升级的确认指令,系统会继续运行当前的功能包,以执行目标功能。
81.实施例3
82.本发明实施例提供的一种终端设备,请参考图6,该终端设备可以是手机、各种类型的电脑、车载设备等,该终端设备包括中央处理器400、存储器401。
83.存储器401为短暂存储存储器401或持久存储存储器401,存储器401中存储有一个或一个以上的应用程序或数据。存储在存储器401的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器400可以设置为与存储器401通信,在服务器上执行存储器401中的一系列指令操作。
84.中央处理器400配置为与存储器401通信,并执行存储器401中的指令操作以执行权利上述实施例1中的软件升级方法,中央处理器400中的具体功能模块划分可以与前述实施例2中所描述的各模块的功能模块划分方式类似,此处不再赘述。
85.该终端设备还可以包括一个或一个以上电源402,一个或一个以上有线或无线网络接口403,一个或一个以上输入输出接口404,和/或,一个或一个以上操作系统,例如
windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等。
86.实施例4
87.本发明实施例提供的一种计算机可读存储介质,介质上存储有程序,程序能够被处理器执行以实现如上述实施例1中提供的软件升级方法,本实施例在此不做过多赘述。
88.本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本升级,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
89.以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。