CN108845819B - 用于设备的程序升级方法和装置 - Google Patents

用于设备的程序升级方法和装置 Download PDF

Info

Publication number
CN108845819B
CN108845819B CN201810909672.2A CN201810909672A CN108845819B CN 108845819 B CN108845819 B CN 108845819B CN 201810909672 A CN201810909672 A CN 201810909672A CN 108845819 B CN108845819 B CN 108845819B
Authority
CN
China
Prior art keywords
upgrade
area
equipment
mentioned
response
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.)
Active
Application number
CN201810909672.2A
Other languages
English (en)
Other versions
CN108845819A (zh
Inventor
苏皓
钟帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Shanghai Xiaodu Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810909672.2A priority Critical patent/CN108845819B/zh
Publication of CN108845819A publication Critical patent/CN108845819A/zh
Application granted granted Critical
Publication of CN108845819B publication Critical patent/CN108845819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了用于设备的程序升级方法和装置。该方法的一具体实施方式包括:响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将该升级信息存储至数据区,其中,该升级信息包括升级包的下载路径信息;根据该下载路径信息,从该服务端下载升级包,将该升级包写入主程序区。该实施方式实现了对设备的程序升级。

Description

用于设备的程序升级方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于设备的程序升级方法和装置。
背景技术
随着计算机技术的发展,升级设备的技术逐渐成熟,需要被升级的设备也越来越多,设备大多使用闪存作为存储介质。
闪存(flash memory),指现在最常用的断电不丢失信息的半导体存储芯片,具有体积小、功耗低、不易受物理破坏的优点,是移动数码产品的理想存储介质。
发明内容
本申请实施例提出了用于设备的程序升级方法和装置。
第一方面,本申请实施例提供了一种用于设备的程序升级方法,上述设备包括存储介质,上述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,该方法包括:响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将上述升级信息存储至上述数据区,其中,上述升级信息包括升级包的下载路径信息;根据上述下载路径信息,从上述服务端下载升级包,将上述升级包写入上述主程序区。
在一些实施例中,在根据上述下载路径信息,从上述服务端下载升级包之前,上述方法还包括:将上述升级程序区设置为启动分区,执行重新启动上述设备的操作;响应于上述设备开机运行,执行上述升级程序区预存的升级程序,从上述数据区读取上述升级信息。
在一些实施例中,上述设备包括缓存;以及根据上述下载路径信息,从上述服务端下载升级包,将上述升级包写入上述主程序区,包括:确定上述缓存的容量是否大于预设的容量阈值;响应于确定上述缓存的容量大于预设的容量阈值,根据上述下载路径信息,从上述服务端下载上述升级包至上述缓存,响应于对上述缓存中的升级包校验成功,将上述缓存中的升级包写入上述主程序区,响应于对上述主程序区中的升级包校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。
在一些实施例中,上述方法还包括:响应于确定上述缓存的容量不大于预设的容量阈值,根据上述下载路径信息,从上述服务端将上述升级包边下载边写入上述主程序区,对上述主程序区中的升级包进行校验,响应于校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。
在一些实施例中,在将上述升级信息存储至上述数据区之前,上述方法还包括:响应于上述设备开机运行,校验上述主程序区中预存的待升级程序;响应于上述预存的待升级程序校验成功,执行上述预存的待升级程序。
第二方面,本申请实施例提供了一种用于设备的程序升级装置,该设备包括存储介质,该存储介质经过分区后包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,上述用于设备的程序升级装置包括:存储单元,被配置成响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将上述升级信息存储至上述数据区,其中,上述升级信息包括升级包的下载路径信息;升级单元,被配置成根据上述下载路径信息,从上述服务端下载升级包,将上述升级包写入上述主程序区。
在一些实施例中,上述装置还包括:设置单元,被配置成将上述升级程序区设置为启动分区,执行重新启动上述设备的操作;读取单元,被配置成响应于上述设备开机运行,执行上述升级程序区预存的升级程序,从上述数据区读取上述升级信息。
在一些实施例中,上述设备包括缓存;以及上述升级单元包括:确定模块,被配置成确定上述缓存的容量是否大于预设的容量阈值;下载写入模块,被配置成响应于确定上述缓存的容量大于预设的容量阈值,根据上述下载路径信息,从上述服务端下载升级包至上述缓存,响应于对上述缓存中的升级包校验成功,将上述缓存中的升级包写入上述主程序区,响应于对上述主程序区中的升级包校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。
在一些实施例中,上述下载写入模块进一步被配置成:响应于确定上述缓存的容量不大于预设的容量阈值,根据上述下载路径信息,从上述服务端将上述升级包边下载边写入上述主程序区,对上述主程序区中的升级包进行校验,响应于校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。
在一些实施例中,上述装置还包括:校验单元,被配置成响应于上述设备开机运行,校验上述主程序区中预存的待升级程序;执行单元,被配置成响应于校验上述主程序区中预存的待升级程序成功,执行上述主程序区预存的待升级程序。
第三方面,本申请实施例提供了一种设备,包括:一个或多个微控制器;存储装置,其上存储有一个或多个程序;存储介质,上述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区;当一个或多个程序被一个或多个微控制器执行,使得一个或多个微控制器实现如用于设备的程序升级方法中任一实施例的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被微控制器执行时实现如用于设备的程序升级方法中任一实施例的方法。
本申请实施例提供的用于设备的程序升级方法和装置,上述设备包括存储介质,上述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,该方法包括:响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将上述升级信息存储至上述数据区,其中,上述升级信息包括升级包的下载路径信息;然后,根据上述下载路径信息,从上述服务端下载升级包,之后,将上述升级包写入上述主程序区。从而能够完成设备的程序升级,丰富了设备的程序升级方式,充分利用了存储介质的空间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性***架构图;
图2是根据本申请的用于设备的程序升级方法的一个实施例的流程图;
图3是根据本申请实施例的用于设备的程序升级方法的应用场景的一个示意图;
图4是根据本申请的用于设备的程序升级方法的又一个实施例的流程图;
图5是根据本申请的用于设备的程序升级装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的设备的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于设备的程序升级方法或用于设备的程序升级装置的示例性***架构100。
如图1所示,***架构100可以包括设备101、102、103,网络104和服务器105。网络104用以在设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
设备101、102、103可以是各种电子设备,可以是各种智能家居设备,包括但不限于智能音箱、智能玩具、智能冰箱、智能电视、智能手表等等。
设备101、102、103上可以安装有各种应用,例如语音交互类应用、智能问答类应用等。
服务器105可以是提供各种服务的服务器,例如对设备101、102、103进行程序升级等处理的后台服务器。后台服务器可以向设备101、102、103发送升级信息和升级包,用于设备101、102、103的程序升级。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于设备的程序升级方法一般由设备101、102、103执行,相应地,用于设备的程序升级装置一般设置于设备101、102、103中。
应该理解,图1中的设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的设备、网络和服务器。
继续参考图2,示出了根据本申请的用于设备的程序升级方法的一个实施例的流程200。该用于设备的程序升级方法,包括以下步骤:
步骤201,响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将升级信息存储至数据区。
在本实施例中,用于设备的程序升级方法的执行主体包括存储介质,该存储介质经过分区后,包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区。
在本实施例中,上述执行主体(例如图1所示的设备101、102、103)可以检测到是否接收到用于升级待升级程序升级信息。响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,可以将升级信息存储至上述数据区。其中,所述升级信息包括升级包的下载路径信息,例如URL(Uniform Resource Locator,统一资源定位符)等。根据该URL可以实现升级包的下载。
在本实施例中,通信连接的服务端可以是硬件(例如图1所示的服务器105),也可以是软件。通信连接的服务端为硬件时,可以是用于通信的服务器。
在本实施例中,服务端包括用于升级待升级程序的服务器,该服务器中具有用于升级待升级程序的升级信息以及升级包。
在本实施例中,用于升级待升级程序的升级信息中包括升级包的下载路径信息。待升级程序存储于存储介质中的主程序区。存储介质中不同的分区中存储有发挥不同功能的程序。例如,引导程序区存储有具有引导功能的引导程序。存储于存储介质的主程序区的可以为待升级程序。例如,智能音箱中的主程序区存储有可以发挥语音交互功能的语音交互程序。升级包中包括新版本的待升级程序。
在本实施例中,执行主体可以将接收到的升级信息存储至存储介质中的数据区,由于存储介质具有断电数据不丢失的特性,因此数据区存储有升级信息,在断电后启动执行主体的时候,或者执行主体在开机状态下经过重新启动后,执行主体还可以从存储介质中的数据区读取到升级信息。
步骤202,根据下载路径信息,从服务端下载升级包。
在本实施例中,上述执行主体可以在获得下载路径信息后,依据下载路径信息,从服务端下载升级包。本实施例中,上述下载路径信息可以为一URL(Uniform ResourceLocator,统一资源定位符)地址,上述URL地址中包含升级包在网络中的位置信息。上述执行主体可以根据URL地址获知升级包在服务端的存储位置,然后到该存储位置下载升级包。其中,升级包为符合特定通信协议格式的数据,上述特定通信协议可以是超文本传输协议(HyperText Transfer Protocol,HTTP),上述特定通信协议还可以是文件传输协议(FileTransfer Protocol,FTP)。
步骤203,将升级包写入主程序区。
在本实施例中,该升级包是用于升级待升级程序的升级包,将升级包写入存储介质的主程序区,实现对存储介质中主程序区的待升级程序更新。
进一步参见图3,图3是根据本实施例的用于设备的程序升级方法的应用场景的一个示意图。在图3的应用场景300中,首先,作为设备的智能音箱302接收到服务器301发送的升级信息,该升级信息包括URL地址。智能音箱302将URL地址存储至闪存中的数据区。之后,智能音箱根据URL地址,从服务器301中下载新版的语音交互程序。最后,智能音箱302将该新版的语音交互程序写入闪存中的主程序区。完成对语音交互程序的升级。
本申请的上述实施例提供的方法,响应于从通信连接的服务端接收到用于升级待升级程序的升级信息。其中,上述升级信息包括升级包的下载路径信息。将上述升级信息存储至上述数据区。然后,根据上述下载路径信息,从上述服务端下载升级包。之后,将上述升级包写入上述主程序区。从而能够完成设备的程序升级,丰富了设备的程序升级方式。在本实施例提供的方法中,可以将新版本的待升级程序直接烧写到存储介质的主程序分区原地址。不需要另外占用存储介质其他分区来存储升级包。因此可以给待升级程序留有更多的空间。本实施例中的用于设备的程序升级方法丰富了对设备的程序升级方式,由于升级信息用到的数据区较小,因此节省了存储介质的空间。
进一步参考图4,其示出了用于设备的程序升级方法的又一个实施例的流程400。该用于设备的程序升级方法的流程400,包括以下步骤:
步骤401,响应于设备开机运行,校验主程序区中预存的待升级程序。
在本实施例中,执行主体可以是各种设备(例如图1所示的设备101、102、103),其中,该设备包括存储介质,该存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区。
在本实施例中,上述执行主体可以校验存储介质中的主程序区中预先存储的待升级程序。待升级程序中包括MD5(Message Digest Algorithm MD5,消息摘要算法第五版)码。上述执行主体可以通过校验待升级程序中的MD5码以验证待升级程序的完整性。
步骤402,响应于校验成功,执行主程序区预存的待升级程序。
步骤403,响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将升级信息存储至数据区。
步骤404,根据下载路径信息,从服务端下载升级包。
步骤405,将升级包写入主程序区。
在本实施例中,步骤403-405的具体操作与图2所示的实施例中步骤201-203的操作基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,在根据上述下载路径信息,从上述服务端下载升级包之前,上述方法还包括:将上述升级程序区设置为启动分区,执行重新启动上述设备的操作。响应于上述设备开机运行,执行上述升级程序区预存的升级程序。从上述数据区读取上述升级信息。其中上述设置启动分区是指设置启动参数,当重启设备后,开机运行的时候,引导程序会根据启动参数引导执行主体进入指定的分区,执行该分区中预先存储的程序。例如,将升级程序区设置为启动分区。然后,执行重新启动上述设备的操作。当上述设备开机运行时,引导执行主体进入升级程序区,执行升级程序区预存的升级程序。
在本实施例的一些可选的实现方式中,根据上述下载路径信息,从上述服务端下载升级包。下载路径信息中包括URL。根据该URL可以实现升级包的下载。将上述升级包写入上述主程序区。包括:计算上述设备中的缓存的容量,确定上述缓存的容量是否大于预设的容量阈值。响应于确定上述缓存的容量大于预设的容量阈值,下载上述升级包至上述缓存。响应于对上述缓存中的升级包校验成功,将上述缓存中的升级包写入上述主程序区。响应于对上述主程序区中的升级包校验成功,将上述主程序区设置为启动分区。执行重新启动上述设备的操作。其中,通过计算升级包的大小来确定预设的容量阈值。上述升级包中包括MD5码,上述执行主体可以通过校验升级包中的MD5码以验证升级包的完整性。
在本实施例的一些可选的实现方式中,上述方法还可以包括:响应于确定上述缓存的容量不大于预设的容量阈值,将上述升级包边下载边写入上述主程序区,对上述主程序区中的升级包进行校验,响应于校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。其中,区别于先下载完整的升级包到缓存后再将完整的升级包写入主程序区,边下载边写入的过程是指将获取到的数据包直接写入主程序区,直到写完整个升级包。在写完整个升级包之后,校验主程序区中的升级包的完整性。省去经过缓存的步骤,从而完成待升级程序的升级。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于设备的程序升级方法的流程400突出了对待升级程序的校验步骤,因为在执行待升级程序之前对待升级程序进行校验,当校验成功的时候才执行待升级程序,提高了设备中程序升级的灵活性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于设备的程序升级装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种设备中。
上述设备包括存储介质,上述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,上述装置包括:
如图5所示,本实施例的用于设备的程序升级装置500包括存储介质,上述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,上述用于设备的程序升级装置500包括:存储单元501,被配置成响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将上述升级信息存储至上述数据区,其中,上述升级信息包括升级包的下载路径信息;升级单元502,被配置成根据上述下载路径信息,从上述服务端下载升级包,将上述升级包写入上述主程序区。
在本实施例的一些可选的实现方式中,上述装置还可以包括设置单元(图5中未示出)和读取单元(图5中未示出),其中,设置单元可以被配置成将上述升级程序区设置为启动分区,执行重新启动上述设备的操作;读取单元可以被配置成响应于上述设备开机运行,执行上述升级程序区预存的升级程序,从上述数据区读取上述升级信息。
在本实施例的一些可选的实现方式中,上述设备可以包括缓存;上述升级单元可以包括确定模块(图5中未示出)和下载写入模块(图5中未示出),其中,确定模块可以被配置成确定上述缓存的容量是否大于预设的容量阈值,确定上述缓存的容量是否大于预设的容量阈值;下载写入模块可以被配置成响应于确定上述缓存的容量大于预设的容量阈值,根据上述下载路径信息,从上述服务端下载升级包至上述缓存,响应于对上述缓存中的升级包校验成功,将上述缓存中的升级包写入上述主程序区,响应于对上述主程序区中的升级包校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。上述升级包中包括MD5码,可以通过校验升级包中的MD5码以验证升级包的完整性。
在本实施例的一些可选的实现方式中,上述下载写入模块可以进一步被配置成:响应于确定上述缓存的容量不大于预设的容量阈值,将上述升级包边下载边写入上述主程序区,对上述主程序区中的升级包进行校验,响应于校验成功,将上述主程序区设置为启动分区,执行重新启动上述设备的操作。
在本实施例的一些可选的实现方式中,上述装置还可以包括校验单元(图5中未示出)和执行单元(图5中未示出),其中,校验单元被配置成响应于上述设备开机运行,校验上述主程序区中预存的待升级程序;执行单元被配置成响应于校验上述主程序区中预存的待升级程序成功,执行上述主程序区预存的待升级程序。上述预存的待升级程序中包括MD5码,可以通过校验预存的待升级程序中的MD5码以验证预存的待升级程序的完整性。
本申请的上述实施例提供的装置,存储单元501,被配置成响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将上述升级信息存储至上述数据区,其中,上述升级信息包括升级包的下载路径信息;升级单元502,被配置成根据上述下载路径信息,从上述服务端下载升级包,将上述升级包写入上述主程序区。从而能够实现设备的程序升级,充分利用了存储介质的空间,提高了设备升级的灵活性。
下面参考图6,其示出了适于用来实现本申请实施例的设备的计算机***600的结构示意图。图6示出的设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括微控制器(Microcontroller Unit,MCU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。MCU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括闪存等的存储部分606;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分607。通信部分607经由诸如因特网的网络执行通信处理。驱动器608也根据需要连接至I/O接口605。可拆卸介质609,诸如半导体存储器等等,根据需要安装在驱动器608上,以便于从其上读出的计算机程序根据需要被安装入存储部分606。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分607从网络上被下载和安装,和/或从可拆卸介质609被安装。在该计算机程序被微控制器(MCU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或存储介质)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在微控制器中,例如,可以描述为:一种用于设备的程序升级装置包括存储单元和升级单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,存储单元还可以被描述为“将升级信息存储至数据区的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备:响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将上述升级信息存储至上述数据区,其中,上述升级信息包括升级包的下载路径信息;根据上述下载路径信息,从上述服务端下载升级包,将上述升级包写入上述主程序区。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种用于设备的程序升级方法,其中,所述设备包括存储介质,所述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,所述方法包括:
响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将所述升级信息存储至所述数据区,其中,所述升级信息包括升级包的下载路径信息;
根据所述下载路径信息,从所述服务端下载升级包,将所述升级包写入所述主程序区;
其中,所述设备包括缓存;以及
所述根据所述下载路径信息,从所述服务端下载升级包,将所述升级包写入所述主程序区,包括:
确定所述缓存的容量是否大于预设的容量阈值;
响应于确定所述缓存的容量大于预设的容量阈值,根据所述下载路径信息,从所述服务端下载所述升级包至所述缓存,响应于对所述缓存中的升级包校验成功,将所述缓存中的升级包写入所述主程序区,响应于对所述主程序区中的升级包校验成功,将所述主程序区设置为启动分区,执行重新启动所述设备的操作。
2.根据权利要求1所述的方法,其中,在所述根据所述下载路径信息,从所述服务端下载升级包之前,所述方法还包括:
将所述升级程序区设置为启动分区,执行重新启动所述设备的操作;
响应于所述设备开机运行,执行所述升级程序区预存的升级程序,从所述数据区读取所述升级信息。
3.根据权利要求1-2之一所述的方法,所述方法还包括:
响应于确定所述缓存的容量不大于预设的容量阈值,根据所述下载路径信息,从所述服务端将所述升级包边下载边写入所述主程序区,对所述主程序区中的升级包进行校验,响应于校验成功,将所述主程序区设置为启动分区,执行重新启动所述设备的操作。
4.根据权利要求1所述的方法,其中,在所述将所述升级信息存储至所述数据区之前,所述方法还包括:
响应于所述设备开机运行,校验所述主程序区中预存的待升级程序;
响应于所述预存的待升级程序校验成功,执行所述预存的待升级程序。
5.一种用于设备的程序升级装置,其中,所述设备包括存储介质,所述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区,所述装置包括:
存储单元,被配置成响应于从通信连接的服务端接收到用于升级待升级程序的升级信息,将所述升级信息存储至所述数据区,其中,所述升级信息包括升级包的下载路径信息;
升级单元,被配置成根据所述下载路径信息,从所述服务端下载升级包,将所述升级包写入所述主程序区;
其中,所述设备包括缓存;以及
所述升级单元包括:
确定模块,被配置成确定所述缓存的容量是否大于预设的容量阈值;
下载写入模块,被配置成响应于确定所述缓存的容量大于预设的容量阈值,根据所述下载路径信息,从所述服务端下载升级包至所述缓存,响应于对所述缓存中的升级包校验成功,将所述缓存中的升级包写入所述主程序区,响应于对所述主程序区中的升级包校验成功,将所述主程序区设置为启动分区,执行重新启动所述设备的操作。
6.根据权利要求5所述的装置,其中,所述装置还包括:
设置单元,被配置成将所述升级程序区设置为启动分区,执行重新启动所述设备的操作;
读取单元,被配置成响应于所述设备开机运行,执行所述升级程序区预存的升级程序,从所述数据区读取所述升级信息。
7.根据权利要求5-6之一所述的装置,其中,所述下载写入模块进一步被配置成:
响应于确定所述缓存的容量不大于预设的容量阈值,根据所述下载路径信息,从所述服务端将所述升级包边下载边写入所述主程序区,对所述主程序区中的升级包进行校验,响应于校验成功,将所述主程序区设置为启动分区,执行重新启动所述设备的操作。
8.根据权利要求5所述的装置,其中,所述装置还包括:
校验单元,被配置成响应于所述设备开机运行,校验所述主程序区中预存的待升级程序;
执行单元,被配置成响应于校验所述主程序区中预存的待升级程序成功,执行所述主程序区预存的待升级程序。
9.一种电子设备,包括:
一个或多个微控制器;
存储装置,其上存储有一个或多个程序;
存储介质,所述存储介质包括:用于存储引导程序的引导程序区、用于存储待升级程序的主程序区、用于存储升级程序的升级程序区、以及用于存储升级信息的数据区;
当所述一个或多个程序被所述一个或多个微控制器执行,使得所述一个或多个微控制器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,该程序被微控制器执行时实现如权利要求1-4中任一所述的方法。
CN201810909672.2A 2018-08-10 2018-08-10 用于设备的程序升级方法和装置 Active CN108845819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810909672.2A CN108845819B (zh) 2018-08-10 2018-08-10 用于设备的程序升级方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810909672.2A CN108845819B (zh) 2018-08-10 2018-08-10 用于设备的程序升级方法和装置

Publications (2)

Publication Number Publication Date
CN108845819A CN108845819A (zh) 2018-11-20
CN108845819B true CN108845819B (zh) 2019-10-18

Family

ID=64192906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810909672.2A Active CN108845819B (zh) 2018-08-10 2018-08-10 用于设备的程序升级方法和装置

Country Status (1)

Country Link
CN (1) CN108845819B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190627A (zh) * 2019-12-30 2020-05-22 四川虹美智能科技有限公司 ***升级方法及装置
CN113360176B (zh) * 2020-03-06 2023-08-25 浙江宇视科技有限公司 一种软件程序的升级方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915234A (zh) * 2015-06-10 2015-09-16 Tcl集团股份有限公司 一种Android移动终端升级上报方法及***
CN105260205A (zh) * 2015-09-30 2016-01-20 中山市天启电子科技有限公司 一种嵌入式板上实现双操作***启动的方法
CN106293782A (zh) * 2015-05-15 2017-01-04 中兴通讯股份有限公司 一种***升级方法及终端
CN107239302A (zh) * 2017-05-10 2017-10-10 努比亚技术有限公司 一种固件升级方法、终端和服务器
CN108196870A (zh) * 2017-12-29 2018-06-22 北京臻迪科技股份有限公司 升级方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293782A (zh) * 2015-05-15 2017-01-04 中兴通讯股份有限公司 一种***升级方法及终端
CN104915234A (zh) * 2015-06-10 2015-09-16 Tcl集团股份有限公司 一种Android移动终端升级上报方法及***
CN105260205A (zh) * 2015-09-30 2016-01-20 中山市天启电子科技有限公司 一种嵌入式板上实现双操作***启动的方法
CN107239302A (zh) * 2017-05-10 2017-10-10 努比亚技术有限公司 一种固件升级方法、终端和服务器
CN108196870A (zh) * 2017-12-29 2018-06-22 北京臻迪科技股份有限公司 升级方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Android FOTA升级流程";Jason_Wang;《https://blog.csdn.net/jason_wzn/article/details/52239085》;20160818;第1页 *

Also Published As

Publication number Publication date
CN108845819A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108845819B (zh) 用于设备的程序升级方法和装置
CN110009362A (zh) 区块链智能合约修改方法、装置和计算机可读存储介质
CN107547629A (zh) 客户端静态资源下载的方法、装置、电子设备和可读介质
CN110209416A (zh) 应用软件更新方法、装置、终端及存储介质
CN109800008A (zh) 配置更新方法及相关产品
CN109032796A (zh) 一种数据处理方法和装置
CN112328293A (zh) 一种嵌入式设备的差分升级方法及相关组件
CN114124917A (zh) 一种地锁固件远程升级方法、设备、***和介质
CN109408090A (zh) 设备软件的升级方法、数据转化器及可读存储介质
CN104780058A (zh) 一种电子设备配置的方法及***
CN106502717A (zh) 应用程序运行方法及装置
CN108572848A (zh) 交互***的底层固件在线升级方法、装置及存储介质
CN109471620A (zh) 一种app的自动生成方法、装置、终端设备及可读存储介质
CN108052377A (zh) 基于云的输入处理方法、装置、服务器和存储介质
CN108228197A (zh) 一种在集群中安装软件的方法和装置
CN109918381A (zh) 用于存储数据的方法和装置
CN109683992A (zh) 用于管理对象的方法和装置
CN109298889A (zh) 一种生成引导程序的方法、开机广告更新方法及终端设备
CN109617713A (zh) 资源分发的实现方法及服务器
CN109358872A (zh) 远程固件升级方法、装置及计算机可读存储介质
CN108334360A (zh) 应用程序动态加载的方法、装置、存储介质和计算机设备
CN109343880A (zh) 一种rn包更新方法、装置及可读存储介质
CN109918142A (zh) 一种软件重启方法、装置、终端及存储介质
CN103581267A (zh) 移动终端***的数据定向缓存方法和装置
CN109302698A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210511

Address after: 100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing

Patentee after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.

Patentee after: Shanghai Xiaodu Technology Co.,Ltd.

Address before: 100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing

Patentee before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.