掌桥专利:专业的专利平台
掌桥专利
首页

软件升级方法、软件升级装置、电子设备及存储介质

文献发布时间:2024-04-18 19:59:31


软件升级方法、软件升级装置、电子设备及存储介质

技术领域

本申请属于软件升级技术领域,尤其涉及一种软件升级方法、软件升级装置、电子设备及存储介质。

背景技术

当前的厂家对电子设备的远程升级形式为云端主动模式,即用网页或者APP人工主动命令电子设备进行升级,升级过程需要从服务器下载程序,然后再升级到各个MCU中,整个升级过程耗时较长。

另外一种利用U盘,SD卡等介质,先人工把程序下载到U盘或者SD卡中,然后再在电子设备侧插入U盘及SD卡,电子设备通过从U盘,SD卡上传程度到MCU中进行更新。这种方法需要U盘及SD卡,且U盘及SD卡均需要特定的格式或者规则处理,整个过程比较繁琐。

发明内容

本申请的目的在于提供一种软件升级方法、软件升级装置、电子设备及存储介质,旨在解决现有的软件升级方法升级过程繁琐的问题。

本申请实施例的第一方面提供了一种软件升级方法,应用于电子设备,所述软件升级方法包括:

接收软件升级指令,根据所述软件升级指令从服务器获取待升级软件包;其中,所述待升级软件包用于对所述电子设备内的目标程序进行升级;

获取软件升级方式;

当所述软件升级方式为自动升级方式时,在预设时间段内时根据所述待升级软件包对所述目标程序进行升级。

在一个实施例中,所述软件升级方法还包括:

当所述软件升级方式为手动升级方式时,在接收到手动升级指令之后根据所述待升级软件包对所述目标程序进行升级。

在一个实施例中,所述接收软件升级指令,根据所述软件升级指令从服务器获取待升级软件包,包括:

获取所述待升级软件包的第一版本号;

获取所述目标程序的第二版本号;

将所述第一版本号与所述第二版本号进行比对,在所述第一版本号大于所述第二版本号时,根据所述软件升级指令从服务器获取待升级软件包。

在一个实施例中,所述获取所述待升级软件包的第一版本号之前还包括:

获取所述电子设备的周期倒计时;

在所述周期倒计时为0时,获取所述待升级软件包的第一版本号。

在一个实施例中,所述在所述第一版本号大于所述第二版本号时,根据所述软件升级指令从服务器获取待升级软件包,包括:

在所述第一版本号大于所述第二版本号时,获取所述电子设备与所述服务器的通讯状态,在所述通讯状态为静默状态时,根据所述软件升级指令从服务器获取待升级软件包。

在一个实施例中,所述的软件升级方法还包括:

在所述通讯状态为非静默状态时,向所述服务器和所述电子设备发送静默指令,所述静默指令用于控制所述电子设备与所述服务器的通讯状态为静默状态;所述静默指令用于指示所述电子设备停止与所述服务器进行数据交互。

在一个实施例中,所述电子设备设置有第一存储器,所述第一存储器为内部存储器;

根据所述软件升级指令从服务器获取待升级软件包,包括:

从所述服务器获取所述待升级软件包,并将所述待升级软件包存储于所述第一存储器。

本申请实施例的第二方面提供了一种软件升级装置,所述电子设备应用于电子设备,所述软件升级装置包括:

接收模块,用于接收软件升级指令,根据所述软件升级指令从服务器获取待升级软件包;其中,所述待升级软件包用于对所述电子设备内的目标程序进行升级;

获取模块,用于获取软件升级方式;

升级模块,用于在所述软件升级方式为自动升级方式时,在预设时间段内时根据所述待升级软件包对所述目标程序进行升级。

本申请实施例的第三方面提供了一种电子设备,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述任一项所述的软件升级方法。

本申请实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被电子设备的处理器执行时,使电子设备执行上述中任一项所述的软件升级方法。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例提供了一种软件升级方法,软件升级方法包括:接收软件升级指令,根据软件升级指令从服务器获取待升级软件包;其中,待升级软件包用于对电子设备内的目标程序进行升级;获取软件升级方式;当软件升级方式为自动升级方式时,在预设时间段内时根据待升级软件包对目标程序进行升级。通过简单的升级步骤,可以有效的将目标程序进行升级,避免使用U盘,SD卡等介质,且在升级过程中,不需要人工参与,大大减少了人工资源,大大简化了升级步骤,避免繁琐的升级过程,减少了升级过程中出错的概率。

附图说明

图1为本申请一个实施例提供的软件升级方法的流程示意图一;

图2为本申请一个实施例提供的软件升级方法的流程示意图二;

图3为本申请一个实施例提供的软件升级方法的流程示意图三;

图4为本申请一个实施例提供的软件升级方法的流程示意图四;

图5为本申请一个实施例提供的软件升级方法的流程示意图五;

图6为本申请一个实施例提供的软件升级装置的结构示意图;

图7为本申请一个实施例提供的电子设备的结构示意图。

实施方式

为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。

需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

当前的厂家对电子设备的远程升级形式为云端主动模式,即用网页或者APP人工主动命令电子设备进行升级,升级过程需要从服务器下载程序,然后再升级到各个MCU中,整个升级过程耗时较长。

另外一种利用U盘,SD卡等介质,先人工把程序下载到U盘或者SD卡中,然后再在电子设备侧插入U盘及SD卡,电子设备通过从U盘,SD卡上传程度到MCU中进行更新。这种方法需要U盘及SD卡,且U盘及SD卡均需要特定的格式或者规则处理,整个过程比较繁琐。

为了解决上述技术问题,参考图1所示,本申请实施例提供了一种软件升级方法,应用于电子设备,软件升级方法包括:步骤S10至步骤S30。

具体的,步骤S10:接收软件升级指令,根据软件升级指令从服务器获取待升级软件包;其中,待升级软件包用于对电子设备内的目标程序进行升级。

步骤S20:获取软件升级方式。

步骤S30:当软件升级方式为自动升级方式时,在预设时间段内时根据待升级软件包对目标程序进行升级。

在本实施例中,在步骤S10中,用户可以根据自身使用情况选择是否升级软件,当用户需要进行软件升级时,则可以通过用户端的APP发送对应的软件升级指令,当电子设备的MCU(Microcontroller Unit,微控制单元)接收软件升级指令时,根据软件升级指令从服务器获取待升级软件包。

在本实施例中,待升级软件包用于对电子设备内的目标程序进行升级。可以理解的是,当用户不需要进行软件升级时,则不通过用户端的APP发送对应的软件升级指令,当电子设备的MCU(Microcontroller Unit,微控制单元)没有接收到软件升级指令时,则不执行上述的S10步骤。

在本实施例中,在步骤S20中,当待升级软件包从服务器下载完成之后,可以存储在电子设备的设定的存储空间内,然后获取软件升级方式。

在本实施例中,在步骤S30中,当软件升级方式为自动升级方式时,则判断当前时间段是否在预设时间段内,其中,预设时间段可以是用户设定的可以对目标程序进行升级的时间段,例如,晚上十点至次日凌晨五点等,在预设时间段内时根据待升级软件包对目标程序进行升级。

在本实施例中,步骤S30中,还包括对软件升级方式的判断,例如,当执行完步骤S20的步骤之后,判断软件升级方式,当软件升级方式为自动升级方式时,在预设时间段内时根据待升级软件包对目标程序进行升级。

在本实施例中,通过简单的升级步骤,可以有效的将目标程序进行升级,避免使用U盘,SD卡等介质,且在升级过程中,不需要人工参与,大大减少了人工资源,大大简化了升级步骤,避免繁琐的升级过程,减少了升级过程中出错的概率。

在一个实施例中,参考图2所示,软件升级方法包括:步骤S40。

具体的,步骤S40:当软件升级方式为手动升级方式时,在接收到手动升级指令之后根据待升级软件包对目标程序进行升级。

在本实施例中,当执行完步骤S20的步骤之后,判断软件升级方式,当软件升级方式为手动升级方式时,在接收到手动升级指令之后根据待升级软件包对目标程序进行升级。具体的,当软件升级方式为手动升级方式时,需要用户发送手动升级指令,即当用户需要进行升级时,才能升级,当升级方式为手动升级方式时,此时即使在预设时间段,也不能自动升级,只有在接收到手动升级指令之后根据待升级软件包对目标程序进行升级。

在本实施例中,软件升级方法提供了手动升级方式,可以在下载完待升级软件包之后,不在预设时间段内,主动的使用手动升级方式,如此可以及时快速的对目标程序进行升级,使得用户可以尽早的使用最新版本的程序,并且提供了多一种的软件升级方式,拓展了应用场景。

在一个实施例中,参考图3所示,接收软件升级指令,根据软件升级指令从服务器获取待升级软件包,包括步骤S11-步骤S13。

步骤S11:获取待升级软件包的第一版本号。

步骤S12:获取目标程序的第二版本号。

步骤S13:将第一版本号与第二版本号进行比对,在第一版本号大于第二版本号时,根据软件升级指令从服务器获取待升级软件包。

在本实施例中,在步骤S11中,获取待升级软件包的第一版本号,可以通过获取待升级软件包的数据资源,待升级软件包的数据资源中包括待升级软件包的第一版本号,第一版本号用于指示待升级软件包的版本,例如V1.0、V2.0等,不同版本的待升级软件包对目标程序进行升级的结果也不同。

在一个实施例中,新的版本号大于旧的版本号。

在一个实施例中,当第一版本号和第二版本号包括多位数字时,例如V1.23、V1.24等,在执行步骤S13将第一版本号与第二版本号进行比对时,首先对比最高位的数字,当最高位数字相同时,则对比次高位数字,最后对比最低位数字,例如,首先对比V1.23、V1.24中最高位1,发现相同,则对比次高位数字2,发现相同,再对比最低位的3、4,判断V1.24的版本号更大,此时执行根据软件升级指令从服务器获取待升级软件包的操作。

在本实施例中,通过对比第一版本号和第二版本号的大小,在第一版本号大于第二版本号时,再获取待升级软件包,可以减少资源浪费,避免下载下来的待升级软件包与目标程序的版本号一致,造成资源浪费。

在一个实施例中,参考图4所示,获取待升级软件包的第一版本号之前还包括步骤S111-步骤S112。

步骤S111:获取电子设备的周期倒计时。

步骤S112:在周期倒计时为0时,获取待升级软件包的第一版本号。

在本实施例中,软件升级方法是周期性进行的,例如MCU接收到软件升级指令之后,并不是实时的从服务器获取待升级软件包,而是周期的对从服务器获取待升级软件包,如此可以降低功耗。

在本实施例中,在周期倒计时为0时,获取待升级软件包的第一版本号。具体的,周期倒计时可以根据用户自己设定,例如,用户可以设定为一个月或者一个星期等,周期倒计时从上次电子设备升级完成之后开始倒计时计算,或者用户也可以置零自己设定开始倒计时的时间。

在一个实施例中,在周期倒计时不为0时,则继续执行步骤S111的操作。

在一个实施例中,在第一版本号大于第二版本号时,根据软件升级指令从服务器获取待升级软件包,包括:在第一版本号大于第二版本号时,获取电子设备与服务器的通讯状态,在通讯状态为静默状态时,根据软件升级指令从服务器获取待升级软件包。

在本实施例中,在第一版本号大于第二版本号时,需要从服务器获取待升级软件包时,此时当电子设备与服务器的通讯状态为静默状态时,说明此时电子设备与服务器之间没有进行数据通讯,为通讯通道空闲,则此时根据软件升级指令从服务器获取待升级软件包。通过在电子设备与服务器的通讯状态为静默状态时再获取待升级软件包,避免了下载待升级软件包时占用资源,影响电子设备与服务器之间的通讯。

在一个实施例中,软件升级方法还包括:在通讯状态为非静默状态时,向服务器和电子设备发送静默指令,静默指令用于控制电子设备与服务器的通讯状态为静默状态;静默指令用于指示电子设备停止与服务器进行数据交互。

在本实施例中,当电子设备与服务器的通讯状态为非静默状态时,说明此时电子设备与服务器之间正在进行数据通讯,为通讯通道正在使用中,此时需要向服务器和电子设备发送静默指令,以使得电子设备与服务器的通讯状态为静默状态,避免在下载待升级软件包时影响通讯,或者正常通讯影响下载待升级软件包。通过在电子设备与服务器的通讯状态为静默状态时再获取待升级软件包,避免了下载待升级软件包时占用资源,影响电子设备与服务器之间的通讯。

在一个实施例中,电子设备设置有第一存储器,第一存储器为内部存储器;根据软件升级指令从服务器获取待升级软件包,包括:从服务器获取待升级软件包,并将待升级软件包存储于第一存储器。

在一个实施例中,第一存储器可以为flash,从服务器获取待升级软件包,并将待升级软件包存储于flash中。

在一个实施例中,参考图5所示,根据待升级软件包对目标程序进行升级之后,还包括:步骤S50至步骤S80。

步骤S50:获取服务器中待升级软件包的第三版本号。

步骤S60:获取目标程序的第四版本号。

步骤S70:将第三版本号与第四版本号进行比对,在第三版本号等于第四版本号时,确定目标程序升级完成。

步骤S80:在目标程序升级完成之后,发送倒计时指令,倒计时指令用于控制电子设备开启周期倒计时。

在本实施例中,在步骤S50至步骤S80中,通过判断第三版本号和第四版本号的大小,判断是否升级完成。例如,当第三版本号和第四版本号相等时,则说明目标程序使用的是最新程序,则说明升级完成;当目标程序升级完成之后,发送倒计时指令,倒计时指令用于控制电子设备开启周期倒计时,此时重新开始倒计时,以为下次升级做准备。

在一个实施例中,电子设备可以是逆变器。

在一个实施例中,电子设备通过无线通信设备,包含wifi,4G,2G等技术的通讯设备,此通讯设备也是电子设备上传监控数据给服务器的设备。电子设备每隔一段时间,譬如一个月等,主动查询服务器,通过当前的固件版本与服务器的版本进行比较,当发现最新版本固件时,在无线通讯设备与服务器通讯空闲时间内,自动下载固件并保存在电子设备的flash中,然后判断用户选择是自动更新还是手动更新。如果是手动更新,则处于等待用户操作升级程序,一旦用户操作升级程序,电子设备将会把程序从falsh提取,透传到电子设备的MCU中进行更新;如果是自动更新,则电子设备会在允许的更新时间段把程序从falsh提取,透传到MCU中进行更新。当更新完程序后,电子设备进入下一个更新程序判读及周期的倒计时中。通过简单的升级步骤,可以有效的将目标程序进行升级,避免使用U盘,SD卡等介质,且在升级过程中,不需要人工参与,大大减少了人工资源,大大简化了升级步骤,避免繁琐的升级过程,减少了升级过程中出错的概率。

本申请实施例还提供了一种软件升级装置,参考图6所示,电子设备应用于电子设备,软件升级装置包括:

接收模块100,用于接收软件升级指令,根据软件升级指令从服务器获取待升级软件包;其中,待升级软件包用于对电子设备内的目标程序进行升级;

获取模块200,用于获取软件升级方式;

升级模块300,用于在软件升级方式为自动升级方式时,在预设时间段内时根据待升级软件包对目标程序进行升级。

需要说明的是,为描述的方便和简洁,上述描述的软件升级装置的具体工作过程,可以参考图1至图5方法的对应过程,在此不再赘述。

在本实施例中,通过简单的升级步骤,可以有效的将目标程序进行升级,避免使用U盘,SD卡等介质,且在升级过程中,不需要人工参与,大大减少了人工资源,大大简化了升级步骤,避免繁琐的升级过程,减少了升级过程中出错的概率。

本申请实施例还提供了一种电子设备,参考图7所述,包括存储器和处理器;存储器,用于存储计算机程序;处理器,用于执行计算机程序并在执行计算机程序时实现如上述任一项的软件升级方法。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被电子设备的处理器执行时,使电子设备执行上述中任一项的软件升级方法。

示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端中的执行过程。例如,计算机程序可以被分割成阵列信息获取模块、显示区域划分模块和阵列显示控制模块(虚拟装置中的模块),各单元具体功能如下:阵列信息获取模块,用于获取荧光棒阵列中每个荧光棒的位置信息;显示区域划分模块,用于根据荧光棒的位置信息对荧光棒阵列进行区域划分,得到多个荧光棒显示区域;阵列显示控制模块,用于根据待显示图案分别向各个荧光棒显示区域中的荧光棒发送荧光棒控制信号,以控制荧光棒阵列显示待显示图案,完成荧光棒阵列的控制。

终端可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,仅仅是终端的示例,并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以是终端的内部存储单元,例如终端的硬盘或内存。存储器也可以是终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括终端的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及终端设备所需的其他程序和数据。存储器还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种用于绿色建筑的装配式建筑用节能型地暖安装结构
  • 一种用于绿色建筑的装配式建筑用节能型地暖安装结构
技术分类

06120116521499