CN109445829A - 一种产品软件程序升级方法、装置及系统 - Google Patents
一种产品软件程序升级方法、装置及系统 Download PDFInfo
- Publication number
- CN109445829A CN109445829A CN201811557565.4A CN201811557565A CN109445829A CN 109445829 A CN109445829 A CN 109445829A CN 201811557565 A CN201811557565 A CN 201811557565A CN 109445829 A CN109445829 A CN 109445829A
- Authority
- CN
- China
- Prior art keywords
- product
- upgraded
- software
- executable file
- software version
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种产品软件程序升级方法、装置及系统,该方法包括:向待升级产品发送信息查询指令,其中,所述信息查询指令用于获取所述待升级产品上待升级软件程序的程序名称和第一软件版本;根据所述程序名称从所述待升级产品上确定与所述待升级软件程序相对应的第一可执行文件;获取第二可执行文件对应的第二软件版本,其中,所述第二可执行文件为预先获取的与所述待升级软件程序相对应的另一个可执行文件;判断所述第一软件版本是否低于所述第二软件版本;在确定所述第一软件版本低于所述第二软件版本时,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。本方案能够降低产品软件程序升级的成本。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种产品软件程序升级方法、装置及系统。
背景技术
软件程序的升级是各种类型电子产品的常见功能,通过对软件程序进行升级可以修复软件程序存在的部分漏洞,并可以为电子产品增加新的功能,从而可以提升电子产品的性能和功能多样性,达到提升用户使用体验的目的。
目前在对产品的软件程序进行升级时,需要根据产品的类型以及待升级软件程序的版本来编制升级程序,进而通过所编制的升级程序对产品的软件程序进行升级。
针对目前对产品软件程序进行升级的方法,由于产品类型的多样性和软件程序版本的多重性,针对不同产品类型和不同软件程序版本均需要单独编制相对应的升级程序,而每一次编制升级程序均需要耗费较长时间和较多费用,从而导致产品软件程序升级的成本较高。
发明内容
本发明实施例提供了一种产品软件程序升级方法、装置及系统,能够降低产品软件程序升级的成本。
第一方面,本发明实施例提供了一种产品软件程序升级方法,包括:
向待升级产品发送信息查询指令,其中,所述信息查询指令用于获取所述待升级产品上待升级软件程序的程序名称和第一软件版本;
根据所述程序名称从所述待升级产品上确定与所述待升级软件程序相对应的第一可执行文件;
获取第二可执行文件对应的第二软件版本,其中,所述第二可执行文件为预先获取的与所述待升级软件程序相对应的另一个可执行文件;
判断所述第一软件版本是否低于所述第二软件版本;
在确定所述第一软件版本低于所述第二软件版本时,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
可选地,在所述判断所述第一软件版本是否低于所述第二软件版本之后,进一步包括:
如果确定所述第一软件版本不低于所述第二软件版本,判断是否接收到用户输入的强制升级指令;
在确定接收到用户输入的所述强制升级指令后,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
可选地,
在所述向待升级产品发送信息查询指令之后,进一步包括:
接收所述待升级产品根据所述信息查询指令反馈的软件版本存放地址,其中,所述软件版本存储地址为所述第一可执行文件中存放所述第一软件版本的地址;
所述获取第二可执行文件对应的第二软件版本,包括:
对所述第二可执行文件进行解析,并根据所述软件版本存放地址从解析出的文件中获取所述第二可执行文件对应的第二软件版本。
可选地,在所述向待升级产品发送信息查询指令之前,进一步包括:
向所述待升级产品发送复位指令,以使所述待升级产品进入软件程序升级准备状态。
第二方面,本发明实施例还提供了一种产品软件程序升级装置,包括:收发单元、搜索单元、提取单元、判断单元和升级单元;
所述收发单元,用于向待升级产品发送信息查询指令,其中,所述信息查询指令用于获取所述待升级产品上待升级软件程序的程序名称和第一软件版本;
所述搜索单元,用于根据所述收发单元获取到的所述程序名称,从所述待升级产品上确定与所述待升级软件程序相对应的第一可执行文件;
所述提取单元,用于获取第二可执行文件对应的第二软件版本,其中,所述第二可执行文件为预先获取的与所述待升级软件程序相对应的另一个可执行文件;
所述判断单元,用于判断所述收发单元获取到的所述第一软件版本是否低于所述提取单元获取到的所述第二软件版本;
所述升级单元,用于在所述判断单元确定所述第一软件版本第一所述第二软件版本时,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
可选地,
所述升级单元,进一步用于在所述判断单元确定所述第一软件版本不低于所述第二软件版本之后,如果接收到用户输入的强制升级指令,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
可选地,
所述收发单元,进一步用于在向所述待升级产品发送所述信息查询指令后,接收所述待升级产品根据所述信息查询指令反馈的软件版本存储地址,其中,所述软件版本存储地址为所述第一可执行文件中存放所述第一软件版本的地址;
所述提取单元,用于对所述第二可执行文件进行解析,并根据所述收发单元接收到的所述软件版本存放地址从解析出的文件中获取所述第二可执行文件对应的第二软件版本。
可选地,
所述收发单元,进一步用于向所述待升级产品发送复位指令,以使所述待升级产品进入软件程序升级准备状态。
第三方面,本发明实施例还提供了一种产品软件程序升级系统,包括:待升级产品和第二方面提供的任意一种产品软件程序升级装置;
所述待升级产品,用于在接收到来自所述产品软件程序升级装置的所述信息查询指令后,根据所述信息查询指令获取所述待升级软件程序的程序名称和第一软件版本,并将所述程序名称和所述第一软件版本发送给所述产品软件程序升级装置。
可选地,该产品软件程序升级系统进一步包括:用于对所述第二可执行文件进行存储的文件存储器,其中,
所述文件存储器包括:可以与所述产品软件程序升级装置相连接的可移动存储器或云服务器。
本发明实施例体用的产品软件程序升级方法、装置及系统,在需要对一个待升级产品上的一个待升级软件程序进行升级时,通过向待升级产品发送信息查询指令来获取待升级软件程序的程序名称和第一软件版本,之后根据获取到的程序名称从待升级产品上确定与待升级软件程序相对应的第一可执行文件,之后获取待升级软件程序对应于第二可执行文件时的第二软件版本,通过对比第一软件版本与第二软件版本,如果第一软件版本低于第二软件版本,则利用第二可执行文件替换待升级产品上的第二可执行文件,实现对待升级软件程序进行升级。由此可见,通过获取待升级产品上待升级软件程序的软件版本,根据获取到的软件版本来确定是否需要对待升级软件程序进行升级,进而在需要升级时对待升级产品上相应的可执行文件进行替换而完成升级,因此,针对不同产品类型和软件程序版本仅需要准备相应的用于升级的可执行文件,无需针对不同产品类型和软件程序版本单独编制升级程序,从而可以降低产品软件程序升级的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种产品软件程序升级方法的流程图;
图2是本发明一个实施例提供的一种产品软件程序升级装置所在设备的示意图;
图3是本发明一个实施例提供的一种产品软件程序升级装置的示意图;
图4是本发明一个实施例提供的另一种产品软件程序升级装置的示意图;
图5是本发明一个实施例提供的一种产品软件程序升级系统的示意图;
图6是本发明一个实施例提供的另一种产品软件程序升级系统的示意图;
图7是本发明一个实施例提供的另一种产品软件程序升级方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种产品软件程序升级方法,该方法可以包括以下步骤:
步骤101:向待升级产品发送信息查询指令,其中,信息查询指令用于获取待升级产品上待升级软件程序的程序名称和第一软件版本;
步骤102:根据程序名称从待升级产品上确定与待升级软件程序相对应的第一可执行文件;
步骤103:获取第二可执行文件对应的第二软件版本,其中,第二可执行文件为预先获取的与待升级软件程序相对应的另一个可执行文件;
步骤104:判断第一软件版本是否低于第二软件版本;
步骤105:在确定第一软件版本低于第二软件版本时,利用第二可执行文件替换待升级产品上的第一可执行文件。
本发明实施例提供的产品软件程序升级方法,在需要对一个待升级产品上的一个待升级软件程序进行升级时,通过向待升级产品发送信息查询指令来获取待升级软件程序的程序名称和第一软件版本,之后根据获取到的程序名称从待升级产品上确定与待升级软件程序相对应的第一可执行文件,之后获取待升级软件程序对应于第二可执行文件时的第二软件版本,通过对比第一软件版本与第二软件版本,如果第一软件版本低于第二软件版本,则利用第二可执行文件替换待升级产品上的第二可执行文件,实现对待升级软件程序进行升级。由此可见,通过获取待升级产品上待升级软件程序的软件版本,根据获取到的软件版本来确定是否需要对待升级软件程序进行升级,进而在需要升级时对待升级产品上相应的可执行文件进行替换而完成升级,因此,针对不同产品类型和软件程序版本仅需要准备相应的用于升级的可执行文件,无需针对不同产品类型和软件程序版本单独编制升级程序,从而可以降低产品软件程序升级的成本。
在本发明实施例中,利用第二可执行文件替换待升级产品上的第一可执行文件后,待升级产品在运行待升级软件程序时将执行第二可执行文件,而第二可执行文件通过对第一可执行文件进行优化而获得或者通过重新开发而获得,从而利用第二可执行文件替换第一可执行文件可以实现对待升级产品进行升级。
需要说明的是,本发明实施例中的待升级产品可以是各种类型的智能家电,比如智能冰箱、智能洗衣机、智能空调、智能电视等。相对应地,待升级软件程序可以是智能家电的控制程序,也可以是智能家电上的用户应用程序。更近一步地,只要是安装在单片机上的软件程序,均可以通过本发明实施例所提供的软件程序升级方法进行升级。
可选地,在图1所示产品软件程序升级方法的基础上,如果步骤104判断出第一软件版本不低于第二软件版本,即第一软件版本高于第二软件版本或者第一软件版本与第二软件版本相同,此时可以进一步判断是否接收到用户输入的强制升级指令,如果收到了用户输入的强制升级指令,则利用第二可执行文件替换待升级产品上的第一可执行文件。
对软件程序进行升级时,通常情况需要将低版本升级到高版本,但特殊情况下可能需要由高本版将至低版本,或者相同版本的重新安装。例如,由于升级至高版本的软件程序存在较大问题导致产品无法正常使用,此时需要将软件程序将至较低版本以保证产品可以正常使用。再例如,软件程序对应的可执行文件损坏,需要利用相同版本的可执行文件替换已被损坏的可执行文件。
为了应对降版本升级或同版本升级的情况,在确定第一软件版本高于或等于第二软件版本后,可以提示用户第一软件版本高于或等于第二软件版本,同时判断时候接收用户输入的强制升级指令。如果接收到用户输入的强制升级指令,说明用户已经确定需要对待升级软件程序进行降版本升级或同版本升级,利用第二可执行文件替换待升级产品上的第一可执行文件,实现待升级产品上的待升级软件程序的降版本升级或同版本升级。如果在预设时间内没有接收到用户输入的强制升级指令,说明用户不需要对待升级软件程序进行降版本升级或同版本升级,结束升级流程。
需要说明的是,用户可以通过按键、触控屏幕等方式输入强制升级指令。
在确定产品上待升级软件程序的软件版本高于或等于用于对待升级软件程序进行升级的第二可执行文件对应的软件版本时,用户可以通过输入强制升级指令对待升级产品上的待升级软件程序进行降版本升级或同版本升级,在保证可以由低版本向高版本进行正常升级的同时,可以满足用户降版本升级或同版本升级的个性化需求,从而可以提升该产品软件程序升级的适用性和用户使用满意度。
可选地,在图1所示产品软件程序升级方法的基础上,步骤101向待升级产品发送信息查询指令后,待升级产品根据信息查询指令不仅可以获取其上待升级软件程序的程序名称和第一软件版本,还可以根据信息查询指令获取软件版本存放地址,进而将获取到的程序名称、第一软件版本和软件版本存放地址返回,其中,软件版本存放地址为待升级软件程序对应的可执行文件中用于存放软件版本的地址。相应地,步骤103获取第二可执行文件对应的第二软件版本时,可以对第二可执行文件进行解析,进而根据获取到的软件版本存放地址从解析出的文件中获取第二可执行文件对应的第二软件版本。
对应于同一个软件程序的不同可执行文件的结构是相同的,即对应于同一个软件程序的不同可执行文件中用于存放软件版本信息的地址是相同的。具体地,在可执行文件的程序设计过程中,通过固化地址的方法,在软件编译时将软件版本信息放入可执行文件。
因此,通过向待升级产品发送信息查询指令获取到对应于待升级软件程序的软件版本存放地址后,通过解析第二可执行文件获得其所包括的各个文件,进而根据软件版本存放地址可以从解析出的各个文件中获取与第二可执行文件对应的第二软件版本。需要说明的是,第二可执行文件对应的第二软件版本是指基于运行第二可执行文件的待升级软件程序的软件版本。
通过获取软件版本存放地址,根据软件版本存放地址从解析后的第二可执行文件中获取与第二可执行文件相对应的第二软件版本,进而可以将第二软件版本与第一软件版本进行比较,以确定待升级软件程序是否需要升级,保证软件程序升级需求判断的准确性。
可选地,在上述各个实施例所提供产品软件程序升级方法的基础上,在步骤101向待升级产品发送信息查询指令之前,可以首先向待升级产品发送复位指令,使得待升级产品进入软件程序升级准备状态。
在对待升级产品上待升级软件程序进行升级的过程中,待升级产品需要根据接收到的信息查询指令获取程序名称、第一软件版本和软件版本存放地址,这个过程待升级产品的系统可能无法正常运行,为了避免升级过程对待升级产品的系统造成冲击,在升级开始之前使待升级产品进入软件程序升级准备状态,保证升级过程中待升级产品的系统稳定性和安全性。
如图2、图3所示,本发明实施例提供了一种产品软件程序升级装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的产品软件程序升级装置所在设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的产品软件程序升级装置,包括:收发单元301、搜索单元302、提取单元303、判断单元304和升级单元305;
收发单元301,用于向待升级产品发送信息查询指令,其中,信息查询指令用于获取待升级产品上待升级软件程序的程序名称和第一软件版本;
搜索单元302,用于根据收发单元301获取到的程序名称,从待升级产品上确定与待升级软件程序相对应的第一可执行文件;
提取单元303,用于获取第二可执行文件对应的第二软件版本,其中,第二可执行文件为预先获取的与待升级软件程序相对应的另一个可执行文件;
判断单元304,用于判断收发单元301获取到的第一软件版本是否低于提取单元303获取到的第二软件版本;
升级单元305,用于在判断单元304确定第一软件版本第一第二软件版本时,利用第二可执行文件替换待升级产品上的第一可执行文件。
可选地,在图3所示产品软件程序升级装置的基础上,
升级单元305,进一步用于在判断单元304确定第一软件版本不低于第二软件版本之后,如果接收到用户输入的强制升级指令,利用第二可执行文件替换待升级产品上的第一可执行文件。
可选地,在图3所示产品软件程序升级装置的基础上,如图4所示,
收发单元301,进一步用于在向待升级产品发送信息查询指令后,接收待升级产品根据信息查询指令反馈的软件版本存储地址,其中,软件版本存储地址为第一可执行文件中存放第一软件版本的地址;
提取单元303,用于对第二可执行文件进行解析,并根据收发单元301接收到的软件版本存放地址从解析出的文件中获取第二可执行文件对应的第二软件版本。
可选地,在图3或图4所示产品软件程序升级装置的基础上,
收发单元301,进一步用于向待升级产品发送复位指令,以使待升级产品进入软件程序升级准备状态。
需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图5所示,本发明一个实施例提供了一种产品软件程序升级系统,包括:待升级产品501和上述任意一个实施例所提供的产品软件程序升级装置502;
待升级产品501,用于在接收到来自产品软件程序升级装置502的信息查询指令后,根据信息查询指令获取其上待升级软件程序的程序名称和第一软件版本,并将程序名称和第一软件版本发送给产品软件程序升级装置502。
本发明实施例提供的产品软件程序升级系统,当需要对待升级产品上的一个软件程序进行升级时,首先由产品软件程序升级装置向该待升级产品发送信息查询指令,之后待升级产品根据接收到的信息查询指令获取其上所安装的待升级软件程序的程序名称和第一软件版本,之后待升级产品将获取到的程序名称和第一软件版本发送给产品软件程序升级装置,之后产品软件程序升级装置判断接收到的第一软件版本是否低于预设的第二可执行文件对应的第二软件版本,在判断结果为是时利用第二可执行文件替换待升级产品上对应于待升级软件程序的第一可执行文件,实现对待升级产品上待升级软件程序的升级。针对不同产品类型和软件程序版本,通过待升级产品与产品软件程序升级装置之间的交互,均可以实现待升级产品上软件程序的升级,无需针对不同产品类型和软件程序版本单独编制升级程序,从而可以降低产品软件程序升级的成本。
可选地,在图5所提供产品软件程序升级系统的基础上,如图6所示,该产品软件程序升级系统还可以包括:文件存储器503;
文件存储器503用于存储第二可执行文件,且文件存储器503具体可以是与产品软件程序升级装置相连接的可移动存储器,或者还可以是云服务器。
在对产品上的软件程序进行升级时,针对不同的产品类型和不同的软件程序版本,所使用的第二可执行文件也不尽相同,因此通过设置可以与产品软件程序升级装置相连接的文件存储器,可以方便地向文件存储器中存放或删除第二可执行文件,以适用于不同的产品,提升了该产品软件程序升级系统的适用性。
具体地,文件存储器可以是可移动存储器,比如U盘、移动硬盘等,进而文件存储器可以通过产品软件程序升级装置上所设置的USB接口与产品软件程序升级装置相连接。另外,文件存储器还可以是云服务器,产品软件程序升级装置可以通过网络从云服务器上下载第二可执行文件。
另外需要说明的是,在该产品软件程序升级系统中,产品软件程序升级装置可以部署在产品中,也可以是一个独立的设备。当产品软件程序升级装置部署在产品中时,每一个产品具有一个相对应的产品软件程序升级装置,该产品上所有软件程序均可以通过该产品软件程序升级装置进行升级。
下面结合图6所提供的产品软件程序升级系统,对本发明实施例提供的产品软件程序升级方法作进一步详细说明,如图7所示,该方法可以包括如下步骤:
步骤701:向待升级产品发送复位指令,以使待升级产品进入软件程序升级准备状态。
在本发明实施例中,需要对一个产品上的某一个软件程序进行升级时,首先将该待升级产品与产品软件程序升级装置相连接,之后由产品软件程序升级装置向该待升级产品发送复位指令,待升级产品接收到复位指令后重启进入软件程序升级准备状态。
例如,在需要一个智能冰箱A上的一个软件程序B进行升级时,将智能冰箱A与产品软件程序升级装置相连接,之后产品软件程序升级装置向智能冰箱A发送复位指令,智能冰箱A接收到复位指令后重新启动进入软件程序升级准备状态。
步骤702:向待升级产品发送信息查询指令,以获取待升级软件程序的程序名称、第一软件版本和软件版本存放地址。
在本发明实施例中,在待升级产品进入软件程序升级准备状态后,产品软件程序升级装置向待升级产品发送信息查询指令,产品软件程序升级装置接收到信息查询指令后获取相对应的待升级软件程序的程序名称、第一软件版本和软件版本存放地址,进而产品软件程序升级装置将获取到的程序名称、第一软件版本和软件版本存放地址发送给产品软件程序升级装置。
例如,产品软件程序升级装置向智能冰箱A发送信息查询指令,智能冰箱A根据信息查询指令获取软件程序B的程序名称、第一软件版本和软件版本存放地址,之后智能冰箱A将获取到的程序名称、第一软件版本和软件版本存放地址发送给产品软件程序升级装置。
步骤703:根据程序名称从待升级产品上确定与待升级软件程序相对应的第一可执行文件。
在本发明实施例中,产品软件程序升级装置在接收到待升级产品所发送的程序名称后,根据所接收到的程序名称从待升级产品上搜索与待升级软件程序相对应的可执行文件,进而确定出位于待升级产品上的第一可执行文件。
例如,产品软件程序升级装置根据智能冰箱A所发送的程序名称,从智能冰箱A上确定软件程序B的可执行文件B1,将执行文件B1作为第一可执行文件。
步骤704:根据软件版本存放地址获取第二可执行文件对应的第二软件版本。
在本发明实施例中,产品软件程序升级装置在接收到待升级产品所发送的软件版本存放地址后,首先从文件存储器获取预先准备好的第二可执行文件,并对第二可执行文件进行解析,之后根据软件版本存放地址从解析出的文件中获取到第二可执行文件对应的第二软件版本。
例如,产品软件程序升级装置从相连接的U盘中读取预先准备好的与软件程序B相对应的可执行文件B2(第二可执行文件),通过对可执行文件B2进行解析获得多个文件,之后根据智能冰箱A所发送的软件版本存放地址从解析出的各个文件中获得对应于可执行文件B2的第二软件版本。
步骤705:判断第一软件版本是否低于第二软件版本,如果是,执行步骤706,否则执行步骤707。
在本发明实施例中,产品软件程序升级装置在获取到第二软件版本之后,将获取到的第二软件版本与待升级产品所发送的第一软件版本进行比较,如果第一软件版本低于第二软件版本,则执行步骤706,否则执行步骤707。
例如,如果第一软件版本为1.0,而第二软件版本为2.0,由于第一软件版本低于第二软件版本,则执行步骤706。如果第一软件版本为3.0,而第二软件版本为2.0,由于第一软件版本高于第二软件版本,则执行步骤707。如果第一软件版本为2.0,而第二软件版本为2.0,由于第一软件版本等于第二软件版本,则执行步骤707。
步骤706:利用第二可执行文件替换待升级产品上的第一可执行文件,并结束当前流程。
在本发明实施例中,产品软件程序升级装置在确定第一软件版本低于第二软件版本之后,从文件存储器读取第二可执行文件,并将读取到的第二可执行文件存储到待升级产品中,以替换待升级产品中原有的第一可执行文件。之后,待升级产品重新启动后可以通过执行第二可执行文件而运行待升级软件程序,完成对待升级软件程序的升级。
例如,产品软件程序升级装置从U盘中读取可执行文件B2,利用可执行文件B2对智能冰箱A上的可执行文件B1进行替换,之后智能冰箱A重启后可以通过执行可执行文件B2来运行软件程序B。
步骤707:判断是否接收到用户输入的强制升级指令,如果是,执行步骤706,否则结束当前流程。
在本发明实施例中,产品软件程序升级装置在确定第一软件版本高于或等于第二软件版本之后,产品软件程序升级装置进一步判断是否接收到用户输入的强制升级指令。产品软件程序升级装置如果接收到用户输入的强制升级指令,说明用户需要进行降版本升级或同版本升级,相应地执行步骤706;产品软件程序升级装置如果没有接收到用户输入的强制升级指令,说明用户确定待升级产品无需升级,结束升级流程。
例如,在第一软件版本为3.0,且第二软件版本为2.0时,在接收到用户通过产品软件程序升级装置上所设置的按键而输入的强制升级指令后,执行步骤706。在第一软件版本为2.0,且第二软件版本为2.0时,如果在预设的等待时间内没有接收到用户通过产品软件程序升级装置上所设置的按键而输入的强制升级指令,则结束升级流程。
本发明实施例还提供了一种可读介质,可读介质上存储有执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例提供的产品软件程序升级方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例提供的产品软件程序升级方法。
综上所述,本发明各个实施例提供的产品软件程序升级方法、装置及系统,至少具有如下有益效果:
1、在本发明实施例中,在需要对一个待升级产品上的一个待升级软件程序进行升级时,通过向待升级产品发送信息查询指令来获取待升级软件程序的程序名称和第一软件版本,之后根据获取到的程序名称从待升级产品上确定与待升级软件程序相对应的第一可执行文件,之后获取待升级软件程序对应于第二可执行文件时的第二软件版本,通过对比第一软件版本与第二软件版本,如果第一软件版本低于第二软件版本,则利用第二可执行文件替换待升级产品上的第二可执行文件,实现对待升级软件程序进行升级。由此可见,通过获取待升级产品上待升级软件程序的软件版本,根据获取到的软件版本来确定是否需要对待升级软件程序进行升级,进而在需要升级时对待升级产品上相应的可执行文件进行替换而完成升级,因此,针对不同产品类型和软件程序版本仅需要准备相应的用于升级的可执行文件,无需针对不同产品类型和软件程序版本单独编制升级程序,从而可以降低产品软件程序升级的成本。
2、在本发明实施例中,在确定产品上待升级软件程序的软件版本高于或等于用于对待升级软件程序进行升级的第二可执行文件对应的软件版本时,用户可以通过输入强制升级指令对待升级产品上的待升级软件程序进行降版本升级或同版本升级,在保证可以由低版本向高版本进行正常升级的同时,可以满足用户降版本升级或同版本升级的个性化需求,从而可以提升该产品软件程序升级的适用性和用户使用满意度。
3、在本发明实施例中,通过获取软件版本存放地址,根据软件版本存放地址从解析后的第二可执行文件中获取与第二可执行文件相对应的第二软件版本,进而可以将第二软件版本与第一软件版本进行比较,以确定待升级软件程序是否需要升级,保证软件程序升级需求判断的准确性。
4、在本发明实施例中,在对待升级产品上待升级软件程序进行升级的过程中,待升级产品需要根据接收到的信息查询指令获取程序名称、第一软件版本和软件版本存放地址,这个过程待升级产品的系统可能无法正常运行,为了避免升级过程对待升级产品的系统造成冲击,在升级开始之前使待升级产品进入软件程序升级准备状态,保证升级过程中待升级产品的系统稳定性和安全性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种产品软件程序升级方法,其特征在于,包括:
向待升级产品发送信息查询指令,其中,所述信息查询指令用于获取所述待升级产品上待升级软件程序的程序名称和第一软件版本;
根据所述程序名称从所述待升级产品上确定与所述待升级软件程序相对应的第一可执行文件;
获取第二可执行文件对应的第二软件版本,其中,所述第二可执行文件为预先获取的与所述待升级软件程序相对应的另一个可执行文件;
判断所述第一软件版本是否低于所述第二软件版本;
在确定所述第一软件版本低于所述第二软件版本时,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
2.根据权利要求1所述的方法,其特征在于,在所述判断所述第一软件版本是否低于所述第二软件版本之后,进一步包括:
如果确定所述第一软件版本不低于所述第二软件版本,判断是否接收到用户输入的强制升级指令;
在确定接收到用户输入的所述强制升级指令后,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
3.根据权利要求1所述的方法,其特征在于,
在所述向待升级产品发送信息查询指令之后,进一步包括:
接收所述待升级产品根据所述信息查询指令反馈的软件版本存放地址,其中,所述软件版本存储地址为所述第一可执行文件中存放所述第一软件版本的地址;
所述获取第二可执行文件对应的第二软件版本,包括:
对所述第二可执行文件进行解析,并根据所述软件版本存放地址从解析出的文件中获取所述第二可执行文件对应的第二软件版本。
4.根据权利要求1至3中任一所述的方法,其特征在于,在所述向待升级产品发送信息查询指令之前,进一步包括:
向所述待升级产品发送复位指令,以使所述待升级产品进入软件程序升级准备状态。
5.一种产品软件程序升级装置,其特征在于,包括:收发单元、搜索单元、提取单元、判断单元和升级单元;
所述收发单元,用于向待升级产品发送信息查询指令,其中,所述信息查询指令用于获取所述待升级产品上待升级软件程序的程序名称和第一软件版本;
所述搜索单元,用于根据所述收发单元获取到的所述程序名称,从所述待升级产品上确定与所述待升级软件程序相对应的第一可执行文件;
所述提取单元,用于获取第二可执行文件对应的第二软件版本,其中,所述第二可执行文件为预先获取的与所述待升级软件程序相对应的另一个可执行文件;
所述判断单元,用于判断所述收发单元获取到的所述第一软件版本是否低于所述提取单元获取到的所述第二软件版本;
所述升级单元,用于在所述判断单元确定所述第一软件版本第一所述第二软件版本时,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
6.根据权利要求5所述的装置,其特征在于,
所述升级单元,进一步用于在所述判断单元确定所述第一软件版本不低于所述第二软件版本之后,如果接收到用户输入的强制升级指令,利用所述第二可执行文件替换所述待升级产品上的所述第一可执行文件。
7.根据权利要求5所述的装置,其特征在于,
所述收发单元,进一步用于在向所述待升级产品发送所述信息查询指令后,接收所述待升级产品根据所述信息查询指令反馈的软件版本存储地址,其中,所述软件版本存储地址为所述第一可执行文件中存放所述第一软件版本的地址;
所述提取单元,用于对所述第二可执行文件进行解析,并根据所述收发单元接收到的所述软件版本存放地址从解析出的文件中获取所述第二可执行文件对应的第二软件版本。
8.根据权利要求5至7中任一所述的装置,其特征在于,
所述收发单元,进一步用于向所述待升级产品发送复位指令,以使所述待升级产品进入软件程序升级准备状态。
9.一种产品软件程序升级系统,其特征在于,包括:待升级产品和权利要求5至8中任一所述的产品软件程序升级装置;
所述待升级产品,用于在接收到来自所述产品软件程序升级装置的所述信息查询指令后,根据所述信息查询指令获取所述待升级软件程序的程序名称和第一软件版本,并将所述程序名称和所述第一软件版本发送给所述产品软件程序升级装置。
10.根据权利要求9所述的系统,其特征在于,进一步包括:用于对所述第二可执行文件进行存储的文件存储器,其中,
所述文件存储器包括:可以与所述产品软件程序升级装置相连接的可移动存储器或云服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811557565.4A CN109445829A (zh) | 2018-12-19 | 2018-12-19 | 一种产品软件程序升级方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811557565.4A CN109445829A (zh) | 2018-12-19 | 2018-12-19 | 一种产品软件程序升级方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109445829A true CN109445829A (zh) | 2019-03-08 |
Family
ID=65560235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811557565.4A Pending CN109445829A (zh) | 2018-12-19 | 2018-12-19 | 一种产品软件程序升级方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109445829A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851204A (zh) * | 2019-11-08 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 应用启动的方法及装置、应用打包的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001316A (zh) * | 2006-12-31 | 2007-07-18 | 北京广博数字电视科技有限公司 | 机顶盒软件升级管理方法和系统 |
US20110202905A1 (en) * | 2009-09-30 | 2011-08-18 | Amitt Mahajan | Apparatuses, methods and systems for an api call abstractor |
CN105335192A (zh) * | 2015-10-19 | 2016-02-17 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107515757A (zh) * | 2017-09-04 | 2017-12-26 | 珠海格力电器股份有限公司 | 软件程序升级方法和系统、终端 |
CN108845821A (zh) * | 2018-09-28 | 2018-11-20 | 努比亚技术有限公司 | 应用程序更新方法、终端及计算机可读存储介质 |
-
2018
- 2018-12-19 CN CN201811557565.4A patent/CN109445829A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001316A (zh) * | 2006-12-31 | 2007-07-18 | 北京广博数字电视科技有限公司 | 机顶盒软件升级管理方法和系统 |
US20110202905A1 (en) * | 2009-09-30 | 2011-08-18 | Amitt Mahajan | Apparatuses, methods and systems for an api call abstractor |
CN105335192A (zh) * | 2015-10-19 | 2016-02-17 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107515757A (zh) * | 2017-09-04 | 2017-12-26 | 珠海格力电器股份有限公司 | 软件程序升级方法和系统、终端 |
CN108845821A (zh) * | 2018-09-28 | 2018-11-20 | 努比亚技术有限公司 | 应用程序更新方法、终端及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851204A (zh) * | 2019-11-08 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 应用启动的方法及装置、应用打包的方法及装置 |
CN110851204B (zh) * | 2019-11-08 | 2023-04-18 | 北京字节跳动网络技术有限公司 | 应用启动的方法及装置、应用打包的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955740B (zh) | 软件管理方法及装置 | |
CN103841155A (zh) | 一种软件下载方法和软件下载装置 | |
CN104951308B (zh) | Docker Registry的管理优化方式及装置 | |
CN107368343B (zh) | 一种基于安卓系统的终端开机方法、终端及存储介质 | |
US10671376B2 (en) | Server program hot upgrading method and device | |
US10365911B2 (en) | Determining optimal update frequency for software application updates | |
CN101170423A (zh) | 一种面向服务的机群部署方法 | |
CN109582335A (zh) | 一种无中断存储集群节点在线升级方法、装置及设备 | |
CN104636173A (zh) | 一种快速bios配置方法 | |
CN101506772B (zh) | 环境状态改变以更改功能 | |
CN105573757A (zh) | Android系统的语言更新方法及装置 | |
CN109445829A (zh) | 一种产品软件程序升级方法、装置及系统 | |
CN109002305A (zh) | 一种设备程序的更新方法及其系统 | |
CN109992280A (zh) | 一种嵌入式软件升级的方法、终端装置及存储装置 | |
CN110908706A (zh) | 一种多版本软件的管理方法 | |
CN111367725A (zh) | 异步任务的在线监控方法、前端控制系统和业务响应平台 | |
CN103677933A (zh) | 一种为智能卡打补丁的方法和系统 | |
CN110308914B (zh) | 升级处理方法、装置、设备、系统及计算机可读存储介质 | |
CN109491679B (zh) | 一种cpld在线升级方法及装置 | |
CN108614868B (zh) | 一种数据库自动升级方法 | |
CN110673942B (zh) | 一种云平台的异步进程结束方法、装置及云平台服务器 | |
CN111209051B (zh) | 一种基于国产操作系统的优化加速方法及装置 | |
CN110377298B (zh) | 一种分布式集群升级方法及分布式集群 | |
CN111045696A (zh) | 自动安装单机操作系统的方法、装置、计算机设备及存储介质 | |
CN109101253A (zh) | 云计算系统中主机的管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |