CN104007992A - 程序更新、启动方法及其装置 - Google Patents
程序更新、启动方法及其装置 Download PDFInfo
- Publication number
- CN104007992A CN104007992A CN201410252932.5A CN201410252932A CN104007992A CN 104007992 A CN104007992 A CN 104007992A CN 201410252932 A CN201410252932 A CN 201410252932A CN 104007992 A CN104007992 A CN 104007992A
- Authority
- CN
- China
- Prior art keywords
- program
- version
- file
- version information
- target program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种程序更新方法及其装置,一种程序启动方法及其装置。目标程序的第一版本程序文件保存在本地的第一储存位置,在更新时,首先将更新包获取到本地;然后根据更新包获取第二版本程序文件并保存在本地的第二储存位置;同时设置配置文件,在所述配置文件中保存第一版本信息和第二版本信息,分别指向所述第一版本程序文件和所述第二版本程序文件。使旧有版本的程序文件不受更新影响,并且在启动时,可通过所述配置文件的版本信息选择以所述第一版本程序文件或者所述第二版本程序文件启动所述目标程序。如果程序更新失败,也可以通过所述配置文件选择以旧有版本的程序文件启动,维持目标程序的正常运作,解决用户的急需。
Description
技术领域
本发明涉及计算机程序控制的技术领域,特别是涉及一种程序更新方法以及一种程序更新装置,一种程序启动方法以及一种程序启动装置。
背景技术
现有的计算机软件程序升级方式,通常都是下载更新包到本地,然后点击打开更新包,更新包运行时,会将本地的旧有的文件覆盖来完成升级。
但是,这种升级方法存在一个问题,就是在出现覆盖失败的情况下(比如某些文件被占用了),就会导致部分文件升级不了,使升级失败,并且旧有程序也被破坏而不能正常启动,甚至出现崩溃等异常行为。
发明内容
针对现有程序升级方法升级不稳定会导致程序不能正常启动的问题,本发明提出一种程序更新方法及其装置,能够在程序升级失败的情况下,使用户可以照常运行程序。
一种程序更新方法,包括以下步骤:
获取目标程序的更新包,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;
根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;
在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,并且所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
一种程序更新装置,包括:
更新包获取模块,用于获取目标程序的更新包,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;
更新模块,用于根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;
配置文件设置模块,用于在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,并且所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
本发明的程序更新方法及其装置中,首先将需要更新的目标程序的更新包获取到本地,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;然后,根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;设置所述目标程序的配置文件,在所述配置文件中构建所述目标程序的第一版本信息和第二版本信息,分别指向所述第一版本程序文件和所述第二版本程序文件。因此,在更新时,保存在所述第一储存位置的旧有版本的程序文件不受更新影响,并且可通过所述配置文件的版本信息选择以所述第一版本程序文件或者所述第二版本程序文件启动所述目标程序。如果程序更新失败,也可以通过所述配置文件选择以所述第一储存位置旧有的版本程序文件启动,维持目标程序的正常运作,解决用户的急需。
针对现有程序升级方法升级不稳定会导致程序不能正常启动的问题,本发明还提出一种程序启动方法及其装置,用户能够在一个应用程序的多个版本之间进行选择启动,在一个版本不能够正常启动时,可以切换到另一个版本启动。
一种程序启动方法,包括以下步骤:
在目标程序启动时,读取所述目标程序的配置文件,其中,所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件;
根据所述对应的程序文件,启动所述目标程序。
一种程序启动装置,包括:
配置文件读取模块,用于在目标程序启动时,读取所述目标程序的配置文件,其中,所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
版本选择模块,用于选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件;
启动模块,用于根据所述对应的程序文件,启动所述目标程序。
本发明的程序启动方法及其装置中,在本地除了保存有所述目标程序的至少一个版本的程序文件之外,还保存有所述目标程序的配置文件,所述配置文件中保存有所述目标程序各个版本的程序文件对应的版本信息。在程序启动时读取所述配置文件,通过选择所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件,就可以根据对应的程序文件来启动所述目标程序。使用户可以在所述目标程序的多个版本之间选择启动,在新版本的程序文件更新失败时,也可以通过所述配置文件中选择一个旧有版本的程序文件来启动,防止更新失败导致程序不能运行的现象。
附图说明
图1是本发明程序更新方法的流程示意图;
图2是本发明程序更新装置的结构示意图;
图3是本发明程序启动方法的流程示意图;
图4是本发明程序启动装置的结构示意图。
具体实施方式
请参阅图1,图1是本发明程序更新方法的流程示意图。
所述程序更新方法,包括以下步骤:
S101,获取目标程序的更新包,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;
S102,根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;
S103,在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,并且所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
本发明的程序更新方法中,首先将需要更新的目标程序的更新包获取到本地,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;然后,根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;设置所述目标程序的配置文件,在所述配置文件中构建所述目标程序的第一版本信息和第二版本信息,分别指向所述第一版本程序文件和所述第二版本程序文件。因此,在更新时,保存在所述第一储存位置的旧有版本的程序文件不受更新影响,并且可通过所述配置文件的版本信息选择以所述第一版本程序文件或者所述第二版本程序文件启动所述目标程序。如果程序更新失败,也可以通过所述配置文件选择以所述第一储存位置旧有的版本程序文件启动,维持目标程序的正常运作,解决用户的急需。
其中,对于步骤S101,获取目标程序的更新包。所述目标程序的更新包可以从服务器中下载获取,在获取目标程序的更新包时,首先检测所述目标程序在服务器中的更新版本信息;将所述更新版本信息与所述本地的所述目标程序的版本信息比较,判断是否需要更新;如果需要更新,则从所述服务器中获取对应的更新包。
检查更新版本信息的时间可以在每次在接收到所述目标程序的启动指令的时候,或者是以预定时间间隔周期性地检测服务器中的更新版本信息等等,可以根据具体要求去设定。
例如,在用户点击打开所述目标程序的exe文件时,接收到所述目标程序的启动指令,连线所述目标程序的更新服务器,检测目标程序在所述更新服务器中的更新版本信息为第3版本,而本地所述目标程序的版本信息为第2版本,则从所述服务器中下载所述第3版本的更新包。
所述第一储存位置即为所述目标程序在本地的原有的第一版本程序文件的储存位置。
对于步骤S102中,根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置。
所述第二储存位置与所述第一储存位置互相独立,例如所述第一储存位置和所述第二储存位置可以是在同一个名称为“程序A”的文件夹下的两个分别为“版本1”、“版本2”的子文件夹,所述目标程序的配置文件也可以保存在所述“程序A”的文件夹下。
在本步骤中,更新的方法可分为增量更新或者全量更新两种。
所述增量更新的方法包括以下步骤:
获取所述目标程序的增量更新包;将所述目标程序的第一版本程序文件从本地的所述第一储存位置复制到所述第二储存位置;根据所述增量更新包更新所述第一版本程序文件,获得所述目标程序的第二版本程序文件。
在所述第二储存位置根据所述增量更新包更新所述第二版本程序文件的方法与现有的程序增量更新方法类似,例如打开并运行所述更新包,将所述更新包中本次需要更新的文件覆盖所述第二储存位置的相应程序文件。从而在所述第二储存位置获得更新的程序文件。
所述全量更新的方法包括以下步骤:
获取所述目标程序的全量更新包;在本地的第二储存位置根据所述全量更新包安装所述目标程序的第二版本程序文件,并保存所述目标程序的第二版本程序文件。
在本地的第二储存位置根据所述全量更新包安装所述目标程序的方法是:运行所述全量更新包安装所述目标程序,并将安装产生的程序文件保存在所述第二储存位置。
在本发明中,可以选择增量更新以节省传输更新包的数据流量,也可以选择全量更新以提高更新的成功率。
在步骤S103中,在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
所述目标程序的配置文件可以在程序第一次更新时由本发明的程序创建,在创建时可保存所述目标程序的第一版本信息;也可以由所述目标程序自带,其中主要记载所述目标程序的在本地保存有的各个版本信息,以便程序在启动时读取所述配置文件,根据所述配置文件的版本信息提供多个版本的程序文件以供选择启动。所述版本信息最少包括有版本号,以及相应版本的程序文件的储存位置。
因此,在更新完所述第二版本程序文件之后,在所述配置文件中保存对应的第一版本信息和第二版本信息,并将所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件,例如,建立所述第一版本信息与所述第一版本程序文件的对应关系,建立所述第二版本信息与所述第二版本程序文件的对应关系。
因此,在用户启动所述目标程序时,只要根据所述配置文件,读取相应的版本信息,就可以找到对应版本的程序文件,以此启动所述目标程序,在一个版本的程序文件因更新覆盖失败等原因损坏或者出现问题导致所述目标程序不能以该版本的程序文件启动时,可以通过读取所述配置文件中的另一版本信息,从而以另一版本的程序文件启动。
在一个优选实施方式中,在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息后,进一步包括以下步骤:
将所述第二版本信息设置为所述目标程序的默认启动版本信息。
即程序在启动时,将默认启动所述第二版本信息对应的第二版本程序文件,在启动失败时再切换到所述第一版本信息对应的第一版本程序文件。
值得指出的是,本发明上述实施例中提及的第一版本、第二版本并未特指某两个版本,所述第一版本可以是任何版本,所述第二版本也可以是任何版本,例如,所述第一版本是版本3,而所述第二版本时版本4。而一般来说,第二版本是更新后的程序,因此所述第二版本比所述第一版本要新。本发明只是为了方便描述,并不构成对本发明的限制。
本发明在所述程序更新方法之后,提供一种与所述程序更新方法相对应的程序启动方法。
请参阅图2,图2是本发明程序启动方法的流程示意图。
本发明的所述程序启动方法包括以下步骤:
S201,在目标程序启动时,读取所述目标程序的配置文件,其中,所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
S202,选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件;
S203,根据所述对应的程序文件,启动所述目标程序。
本发明的程序启动方法在本地除了保存有所述目标程序的至少一个版本的程序文件之外,还保存有所述目标程序的配置文件,所述配置文件中保存有所述目标程序各个版本的程序文件对应的版本信息。在程序启动时读取所述配置文件,通过选择所述配置文件中的其中一个版本信息,来从相应的储存位置获取所述版本信息对应的程序文件,就可以根据对应的程序文件来启动所述目标程序。使用户可以在所述目标程序的多个版本之间选择启动,在新版本的程序文件更新失败时,也可以通过所述配置文件中选择一个旧有版本的程序文件来启动,防止更新失败导致程序不能运行的现象。
其中,对于步骤S201,在目标程序启动时,读取所述目标程序的配置文件。
所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
所述目标程序的配置文件可以在程序第一次更新时由本发明的程序创建,也可以由所述目标程序自带,其中主要记载所述目标程序的在本地保存有的各个版本信息,所述版本信息最少包括有版本号,以及相应版本的程序文件的储存位置。
因此,在用户启动所述目标程序时,读取所述配置文件,并获得其中记载的相应版本信息,就可以找到对应版本的程序文件,以此启动相应版本的目标程序。
所述配置文件中记载的每个所述版本信息分别指向一个独立的储存位置,例如可以是在同一个名称为“程序A”的文件夹下的两个分别为“版本1”、“版本2”的子文件夹,所述目标程序的配置文件也可以保存在所述“程序A”的文件夹下。
在步骤S202中,选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件。
所述版本信息的选择可以按照默认模式,也可以按照用户自定义选择的模式进行,如果按照默认模式,则:根据所述配置文件中预先设置的所述目标程序的默认启动版本信息,获取所述默认启动版本信息对应的程序文件;
进一步地,在默认模式下,如果根据所述默认启动版本信息对应的程序文件启动所述目标程序失败,则将所述配置文件中除所述默认启动版本信息之外的其他版本信息中最新的一个版本信息设为默认启动版本信息,并获取其对应的程序文件,启动所述目标程序。
如果按照用户自定义模式,则在用户界面中显示所述配置文件中的各个所述版本信息;通过用户界面接收对所述版本信息的选择指令;根据所述选择指令从相应的储存位置获取所述版本信息对应的程序文件,启动所述目标程序。
默认模式可以跳过用户选择的程序,最快速地启动所述目标程序;而用户自定义模式则可以由用户根据自己的意愿直接选择自己需要的程序版本,各有优点。当然也可以设置成为在默认模式启动失败的情况下,再打开用户自定义模式,供用户选择。
S203,根据所述对应的程序文件,启动所述目标程序。
获取到相应的程序文件后,就可以根据所述程序文件,启动所述目标程序了。在启动失败时,可自动也可用户手动切换至所述配置文件中记录的其他的版本,具体可参考默认模式或者用户自定义模式去选取所述配置文件中的版本信息,重新启动所述目标程序。
请参阅图3,图3是本发明程序更新装置的结构示意图。
所述程序更新装置,包括:
更新包获取模块11,用于获取目标程序的更新包,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;
更新模块12,用于根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;
配置文件设置模块13,用于在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,并且所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
本发明的程序更新装置将需要更新的目标程序的更新包获取到本地,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;然后,根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;设置所述目标程序的配置文件,在所述配置文件中构建所述目标程序的第一版本信息和第二版本信息,分别指向所述第一版本程序文件和所述第二版本程序文件。因此,在更新时,保存在所述第一储存位置的旧有版本的程序文件不受更新影响,并且可通过所述配置文件的版本信息选择以所述第一版本程序文件或者所述第二版本程序文件启动所述目标程序。如果程序更新失败,也可以通过所述配置文件选择以所述第一储存位置旧有的版本程序文件启动,维持目标程序的正常运作,解决用户的急需。
其中,所述更新包获取模块11获取目标程序的更新包。所述目标程序的更新包可以从服务器中下载获取,所述更新包获取模块11在获取目标程序的更新包时,首先检测所述目标程序在服务器中的更新版本信息;将所述更新版本信息与所述本地的所述目标程序的版本信息比较,判断是否需要更新;如果需要更新,则从所述服务器中获取对应的更新包。
检查更新版本信息的时间可以在每次在接收到所述目标程序的启动指令的时候,或者是以预定时间间隔周期性地检测服务器中的更新版本信息等等,可以根据具体要求去设定。
例如,在用户点击打开所述目标程序的exe文件时,接收到所述目标程序的启动指令,连线所述目标程序的更新服务器,检测目标程序在所述更新服务器中的更新版本信息为第3版本,而本地所述目标程序的版本信息为第2版本,则从所述服务器中下载所述第3版本的更新包。
所述第一储存位置即为所述目标程序在本地的原有的第一版本程序文件的储存位置。
所述更新模块12根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置。
所述第二储存位置与所述第一储存位置互相独立,例如所述第一储存位置和所述第二储存位置可以是在同一个名称为“程序A”的文件夹下的两个分别为“版本1”、“版本2”的子文件夹,所述目标程序的配置文件也可以保存在所述“程序A”的文件夹下。
所述更新模块12可包括增量更新模块121和/或全量更新模块122。
所述增量更新模块121用于获取所述目标程序的增量更新包;将所述目标程序的第一版本程序文件从本地的所述第一储存位置复制到所述第二储存位置;根据所述增量更新包更新所述第一版本程序文件,获得所述目标程序的第二版本程序文件。
所述增量更新模块121在所述第二储存位置根据所述增量更新包更新获取所述第二版本程序文件的方法与现有的程序增量更新方法类似,例如打开并运行所述更新包,将所述更新包中本次需要更新的文件覆盖所述第二储存位置的相应程序文件。从而在所述第二储存位置获得更新的程序文件。
所述全量更新模块122用于获取所述目标程序的全量更新包;在本地的第二储存位置根据所述全量更新包安装所述目标程序的第二版本程序文件,并保存所述目标程序的第二版本程序文件。
所述全量更新模块122在本地的第二储存位置根据所述全量更新包安装获取所述目标程序的第二版本程序文件的方法是:运行所述全量更新包安装所述目标程序,并将安装产生的第二版本程序文件保存在所述第二储存位置。
在本发明中,可以选择增量更新以节省传输更新包的数据流量,也可以选择全量更新以提高更新的成功率。
所述配置文件设置模块13在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
所述目标程序的配置文件可以在程序第一次更新时由本发明的程序创建,也可以由所述目标程序自带,其中主要记载所述目标程序的在本地保存有的各个版本信息,所述版本信息最少包括有版本号,以及相应版本的程序文件的储存位置。
因此,在所述更新模块12更新完所述第二版本程序文件之后,所述配置文件设置模块13在所述配置文件中保存对应的第一版本信息和第二版本信息,并将所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件,例如:建立所述第一版本信息与所述第一版本程序文件的对应关系,建立所述第二版本信息与所述第二版本程序文件的对应关系。
因此,在用户启动所述目标程序时,只要根据所述配置文件,读取相应的版本信息,就可以找到对应版本的程序文件,以此启动所述目标程序,在一个版本的程序文件因更新覆盖失败等原因损坏或者出现问题导致所述目标程序不能以该版本的程序文件启动时,可以通过读取所述配置文件中的另一版本信息,从而以另一版本的程序文件启动。
在一个优选实施方式中,所述配置文件设置模块14在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息后,进一步将所述第二版本信息设置为所述目标程序的默认启动版本信息。
即程序在启动时,将默认启动所述第二版本信息的程序文件,在启动失败时再切换到所述第一版本信息对应的程序文件。
值得指出的是,本发明上述实施方式中提及的第一版本、第二版本并未特指某两个版本,所述第一版本可以是任何版本,所述第二版本也可以是任何版本,而一般来说,第二版本是更新后的程序,因此所述第二版本比所述第二版本要新。本发明只是为了方便描述,以示区分两个不同的版本。
请参阅图4,图4是本发明程序启动装置的结构示意图。
本发明的所述程序启动装置包括:
配置文件读取模块21,用于在目标程序启动时,读取所述目标程序的配置文件,其中,所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
版本选择模块22,用于选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件;
启动模块23,用于根据所述对应的程序文件,启动所述目标程序。
本发明的程序启动装置在本地除了保存有所述目标程序的至少一个版本的程序文件之外,还保存有所述目标程序的配置文件,所述配置文件中保存有所述目标程序各个版本的程序文件对应的版本信息。在程序启动时读取所述配置文件,通过选择所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件,就可以根据对应的程序文件来启动所述目标程序。使用户可以在所述目标程序的多个版本之间选择启动,在新版本的程序文件更新失败时,也可以通过所述配置文件中选择一个旧有版本的程序文件来启动,防止更新失败导致程序不能运行的现象。
其中,所述配置文件读取模块21在目标程序启动时,读取所述目标程序的配置文件,
所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
所述目标程序的配置文件可以在程序第一次更新时由本发明的程序创建,也可以由所述目标程序自带,其中主要记载所述目标程序的在本地保存有的各个版本信息,所述版本信息最少包括有版本号,以及相应版本的程序文件的储存位置。
因此,在用户启动所述目标程序时,所述配置文件读取模块21读取所述配置文件,并获得其中记载的相应版本信息,就可以找到对应版本的程序文件,以此启动相应版本的目标程序。
所述配置文件中记载的每个所述版本信息分别指向一个独立的储存位置,例如可以是在同一个名称为“程序A”的文件夹下的两个分别为“版本1”、“版本2”的子文件夹,所述目标程序的配置文件也可以保存在所述“程序A”的文件夹下。
所述版本选择模块22选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件。
所述版本选择模块22对所述版本信息的选择可以按照默认模式,也可以按照用户自定义选择的模式进行。
如果按照默认模式,则:所述版本选择模块22根据所述配置文件中预先设置的所述目标程序的默认启动版本信息,从相应的储存位置获取所述默认启动版本信息对应的程序文件;
在一个优选实施方式中,本发明的程序启动装置还包括配置文件设置模块,在默认模式下,如果根据所述默认启动版本信息对应的程序文件启动所述目标程序失败,则所述配置文件设置模块将所述配置文件中除所述默认启动版本信息之外的其他版本信息中最新的一个版本信息设为默认启动版本信息。所述版本选择模块22获取其对应的程序文件,启动所述目标程序。
如果按照用户自定义模式,则在用户界面中显示所述配置文件中的各个所述版本信息;通过用户界面接收对所述版本信息的选择指令;根据所述选择指令从相应的储存位置获取所述版本信息对应的程序文件,启动所述目标程序。
默认模式可以跳过用户选择的程序,最快速地启动所述目标程序;而用户自定义模式则可以由用户根据自己的意愿直接选择自己需要的程序版本,各有优点。当然也可以设置成为在默认模式启动失败的情况下,再打开用户自定义模式,供用户选择。
所述启动模块23根据所述对应的程序文件,启动所述目标程序。
获取到相应的程序文件后,就可以根据所述程序文件,启动所述目标程序了。在启动失败时,可自动也可用户手动切换至所述配置文件中记录的其他的版本,具体可参考默认模式或者用户自定义模式去选取所述配置文件中的版本信息,重新启动所述目标程序。
本领域普通技术人员可以理解实现上述实施方式中的全部或部分流程以及对应的系统、所述音乐播放器,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施方式的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种程序更新方法,其特征在于,包括以下步骤:
获取目标程序的更新包,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;
根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;
在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,并且所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
2.如权利要求1所述的程序更新方法,其特征在于,获取目标程序的更新包,根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置的步骤包括:
获取所述目标程序的增量更新包;将所述目标程序的第一版本程序文件从本地的所述第一储存位置复制到所述第二储存位置;根据所述增量更新包更新所述第一版本程序文件,获得所述目标程序的第二版本程序文件;
或,获取所述目标程序的全量更新包;在本地的第二储存位置根据所述全量更新包安装所述目标程序的第二版本程序文件,并保存所述目标程序的第二版本程序文件。
3.如权利要求1或者2所述的程序更新方法,其特征在于,获取目标程序的更新包的步骤包括:
检测所述目标程序在服务器中的更新版本信息;
将所述更新版本信息与所述本地的所述目标程序的版本信息比较,判断是否需要更新;
如果需要更新,则从所述服务器中获取对应的更新包。
4.如权利要求1或者2所述的程序更新方法,其特征在于,在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息后,进一步包括以下步骤:
将所述第二版本信息设置为所述目标程序的默认启动版本信息。
5.一种程序更新装置,其特征在于,包括:
更新包获取模块,用于获取目标程序的更新包,其中,所述目标程序的第一版本程序文件保存在本地的第一储存位置;
更新模块,用于根据所述更新包,获取所述目标程序的第二版本程序文件,并将所述第二版本程序文件保存在本地的第二储存位置;
配置文件设置模块,用于在所述目标程序的配置文件中保存所述目标程序的第一版本信息和第二版本信息,并且所述第一版本信息指向所述第一版本程序文件,所述第二版本信息指向所述第二版本程序文件。
6.如权利要求5所述的程序更新装置,其特征在于,所述更新模块包括增量更新模块和/或全量更新模块;
所述增量更新模块用于获取所述目标程序的增量更新包;将所述目标程序的第一版本程序文件从本地的所述第一储存位置复制到所述第二储存位置;根据所述增量更新包更新所述第一版本程序文件,获得所述目标程序的第二版本程序文件;
所述全量更新模块用于获取所述目标程序的全量更新包;在本地的第二储存位置根据所述全量更新包安装所述目标程序的第二版本程序文件,并保存所述目标程序的第二版本程序文件。
7.如权利要求5或者6所述的程序更新装置,其特征在于,所述更新包获取模块包括:
更新检测模块,用于检测所述目标程序在服务器中的更新版本信息;
判断模块,用于将所述更新版本信息与所述本地的所述目标程序的版本信息比较,判断是否需要更新;
下载模块,用于如果需要更新,则从所述服务器中获取对应的更新包。
8.如权利要求5或者6所述的程序更新装置,其特征在于,所述配置文件设置模块还用于将所述第二版本信息设置为所述目标程序的默认启动版本信息。
9.一种程序启动方法,其特征在于,包括以下步骤:
在目标程序启动时,读取所述目标程序的配置文件,其中,所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件;
根据所述对应的程序文件,启动所述目标程序。
10.如权利要求9所述的程序启动方法,其特征在于,选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件的步骤包括:
根据所述配置文件中预先设置的所述目标程序的默认启动版本信息,从相应的储存位置获取所述默认启动版本信息对应的程序文件。
11.如权利要求10所述的程序启动方法,其特征在于,如果根据所述默认启动版本信息对应的程序文件启动所述目标程序失败,则将所述配置文件中除所述默认启动版本信息之外的其他版本信息中最新的一个版本信息设为默认启动版本信息,并获取其对应的程序文件,启动所述目标程序。
12.如权利要求9所述的程序启动方法,其特征在于,选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件的步骤包括:
在用户界面中显示所述配置文件中的各个所述版本信息;
通过用户界面接收对所述版本信息的选择指令;
根据所述选择指令从相应的储存位置获取所述版本信息对应的程序文件,启动所述目标程序。
13.一种程序启动装置,其特征在于,包括:
配置文件读取模块,用于在目标程序启动时,读取所述目标程序的配置文件,其中,所述配置文件中保存有所述目标程序的至少一个版本信息,每个所述版本信息分别指向一个独立的储存位置,每个所述储存位置分别储存有所述目标程序的相应版本的程序文件;
版本选择模块,用于选取所述配置文件中的其中一个版本信息,从相应的储存位置获取所述版本信息对应的程序文件;
启动模块,用于根据所述对应的程序文件,启动所述目标程序。
14.如权利要求13所述的程序启动装置,其特征在于,版本选择模块根据所述配置文件中预先设置的所述目标程序的默认启动版本信息,从相应的储存位置获取所述默认启动版本信息对应的程序文件。
15.如权利要求14所述的程序启动装置,其特征在于,还包括配置文件设置模块,用于如果根据所述默认启动版本信息对应的程序文件启动所述目标程序失败,则将所述配置文件中除所述默认启动版本信息之外的其他版本信息中最新的一个版本信息设为默认启动版本信息。
16.如权利要求13所述的程序启动装置,其特征在于,所述版本选择模块在用户界面中显示所述配置文件中的各个所述版本信息,通过用户界面接收对所述版本信息的选择指令,根据所述选择指令从相应的储存位置获取所述版本信息对应的程序文件,启动所述目标程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410252932.5A CN104007992A (zh) | 2014-06-09 | 2014-06-09 | 程序更新、启动方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410252932.5A CN104007992A (zh) | 2014-06-09 | 2014-06-09 | 程序更新、启动方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104007992A true CN104007992A (zh) | 2014-08-27 |
Family
ID=51368659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410252932.5A Pending CN104007992A (zh) | 2014-06-09 | 2014-06-09 | 程序更新、启动方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104007992A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630553A (zh) * | 2015-12-24 | 2016-06-01 | 税友软件集团股份有限公司 | 一种产品加载方法及系统 |
CN106775870A (zh) * | 2016-12-16 | 2017-05-31 | Tcl集团股份有限公司 | 一种应用程序的启动方法及系统 |
CN106909410A (zh) * | 2015-12-23 | 2017-06-30 | 鼎捷软件股份有限公司 | 一种用于服务器系统的更新方法以及服务器系统 |
CN107436781A (zh) * | 2017-06-28 | 2017-12-05 | 北京五八信息技术有限公司 | Apk文件处理方法和装置 |
CN108733391A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种资源动态配置的方法和装置 |
CN109062601A (zh) * | 2018-08-15 | 2018-12-21 | 张家港康得新光电材料有限公司 | Mes系统客户端程序更新方法、装置、设备及介质 |
CN109117196A (zh) * | 2018-08-16 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种双bios启动及bios版本比对处理系统 |
CN109388423A (zh) * | 2017-08-03 | 2019-02-26 | 合网络技术(北京)有限公司 | 软件升级方法及装置 |
CN109460246A (zh) * | 2018-11-16 | 2019-03-12 | 中国银行股份有限公司 | 程序版本更新方法及装置、存储介质及电子设备 |
CN112433775A (zh) * | 2019-08-20 | 2021-03-02 | 比亚迪股份有限公司 | 启动应用程序的方法、装置、存储介质和电子设备 |
CN112988213A (zh) * | 2021-04-13 | 2021-06-18 | 荣耀终端有限公司 | 一种程序数据更新方法、电子设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904837A (zh) * | 2006-08-04 | 2007-01-31 | 华为技术有限公司 | 软件多版本升级的方法及系统 |
CN101452382A (zh) * | 2007-12-07 | 2009-06-10 | 北京闻言科技有限公司 | 一种程序更新的方法 |
CN102955702A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和系统 |
-
2014
- 2014-06-09 CN CN201410252932.5A patent/CN104007992A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904837A (zh) * | 2006-08-04 | 2007-01-31 | 华为技术有限公司 | 软件多版本升级的方法及系统 |
CN101452382A (zh) * | 2007-12-07 | 2009-06-10 | 北京闻言科技有限公司 | 一种程序更新的方法 |
CN102955702A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
CN103246529A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 更新和推送导航栏的方法、设备和系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909410A (zh) * | 2015-12-23 | 2017-06-30 | 鼎捷软件股份有限公司 | 一种用于服务器系统的更新方法以及服务器系统 |
CN106909410B (zh) * | 2015-12-23 | 2024-04-30 | 鼎捷软件股份有限公司 | 一种用于服务器系统的更新方法以及服务器系统 |
CN105630553A (zh) * | 2015-12-24 | 2016-06-01 | 税友软件集团股份有限公司 | 一种产品加载方法及系统 |
CN105630553B (zh) * | 2015-12-24 | 2019-05-21 | 税友软件集团股份有限公司 | 一种产品加载方法及系统 |
CN106775870A (zh) * | 2016-12-16 | 2017-05-31 | Tcl集团股份有限公司 | 一种应用程序的启动方法及系统 |
CN108733391A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种资源动态配置的方法和装置 |
CN107436781B (zh) * | 2017-06-28 | 2021-06-01 | 北京五八信息技术有限公司 | Apk文件处理方法和装置 |
CN107436781A (zh) * | 2017-06-28 | 2017-12-05 | 北京五八信息技术有限公司 | Apk文件处理方法和装置 |
CN109388423A (zh) * | 2017-08-03 | 2019-02-26 | 合网络技术(北京)有限公司 | 软件升级方法及装置 |
CN109062601A (zh) * | 2018-08-15 | 2018-12-21 | 张家港康得新光电材料有限公司 | Mes系统客户端程序更新方法、装置、设备及介质 |
CN109117196A (zh) * | 2018-08-16 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种双bios启动及bios版本比对处理系统 |
CN109460246A (zh) * | 2018-11-16 | 2019-03-12 | 中国银行股份有限公司 | 程序版本更新方法及装置、存储介质及电子设备 |
CN109460246B (zh) * | 2018-11-16 | 2022-02-01 | 中国银行股份有限公司 | 程序版本更新方法及装置、存储介质及电子设备 |
CN112433775A (zh) * | 2019-08-20 | 2021-03-02 | 比亚迪股份有限公司 | 启动应用程序的方法、装置、存储介质和电子设备 |
CN112988213A (zh) * | 2021-04-13 | 2021-06-18 | 荣耀终端有限公司 | 一种程序数据更新方法、电子设备及计算机存储介质 |
CN112988213B (zh) * | 2021-04-13 | 2023-11-14 | 荣耀终端有限公司 | 一种程序数据更新方法、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104007992A (zh) | 程序更新、启动方法及其装置 | |
CN101026848B (zh) | 移动终端和软件更新方法 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
US20110004871A1 (en) | Embedded electronic device and firmware updating method thereof | |
CN112882729B (zh) | 应用镜像升级方法、装置、计算机设备和存储介质 | |
US20140310698A1 (en) | Apparatus and method for upgrading firmware of mobile terminal | |
CN104317623B (zh) | 移动终端预置应用程序的管理方法和移动终端 | |
CN104182255A (zh) | 一种系统应用的库文件升级方法及终端 | |
CN101923473B (zh) | 嵌入式电子装置及更新其固件的方法 | |
CN110221860A (zh) | 一种配置文件处理方法、装置、终端及介质 | |
CN102999349B (zh) | 一种软件升级方法 | |
CN107220074B (zh) | 对支撑层软件功能的访问、升级方法及装置 | |
CN103324507A (zh) | 一种终端预置应用程序更新的方法和装置 | |
CN101183337A (zh) | 基于nand flash移动终端存储介质的空间管理方法 | |
CN106951284B (zh) | 基于安卓系统应用的用户界面升级方法、装置及智能终端 | |
CN100487648C (zh) | 移动通信终端的文件更新系统和启动管理系统及其方法 | |
CN102141921A (zh) | 一种终端设备系统升级方法及终端设备 | |
CN112463191A (zh) | 一种文件更新方法及装置、设备、存储介质 | |
CN106941672A (zh) | 应用软件异常处理的方法及装置 | |
CN103559065A (zh) | 一种ota升级的方法和系统 | |
CN113821235A (zh) | 操作系统数据更新方法、设备、存储介质及程序产品 | |
CN111562934A (zh) | 一种基于热补丁的软件系统升级方法、终端及存储介质 | |
WO2020029967A1 (zh) | 一种操作系统故障的修复方法和装置 | |
CN103136027A (zh) | 即时更新装置和即时更新方法 | |
WO2006057861A1 (en) | System and method for over-the-air update of wireless communication devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 511449 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28 Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655 Yangcheng Creative Industrial Park, No. 309, Guangzhou Whampoa Avenue, Guangzhou, Guangdong Province, 3-08 Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140827 |
|
RJ01 | Rejection of invention patent application after publication |